oracle 查看锁表情况及数据库连接情况
--查询表空间名称和大小
SELECT UPPER (F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR (ROUND ((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM ( SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND (MAX (BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
( SELECT DD.TABLESPACE_NAME,
ROUND (SUM (DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
--查看数据库引起锁表的SQL语句:
SELECT A.USERNAME,
A.MACHINE,
A.PROGRAM,
A.SID,
A.SERIAL#,
A.STATUS,
C.PIECE,
C.SQL_TEXT
FROM V$SESSION A,
V$SQLTEXT C
WHERE A.SID IN (SELECT DISTINCT T2.SID
FROM V$LOCKED_OBJECT T1,
V$SESSION T2
WHERE T1.SESSION_ID = T2.SID)
AND A.SQL_ADDRESS = C.ADDRESS(+)
ORDER BY C.PIECE;
--查看数据库锁的情况必须要有DBA权限,可以使用一下SQL 语句:
SELECT object_id, session_id, locked_mode FROM v$locked_object;
SELECT t2.username,
t2.sid,
t2.serial#,
t2.logon_time
FROM v$locked_object t1, v$session t2
WHERE t1.session_id = t2.sid
ORDER BY t2.logon_time;
--查看被锁的表
SELECT P.SPID,
A.SERIAL#,
C.OBJECT_NAME,
B.SESSION_ID,
B.ORACLE_USERNAME,
B.OS_USER_NAME
FROM V$PROCESS P,
V$SESSION A,
V$LOCKED_OBJECT B,
ALL_OBJECTS C
WHERE P.ADDR = A.PADDR
AND A.PROCESS = B.PROCESS
AND C.OBJECT_ID = B.OBJECT_ID;
--杀掉进程
ALTER SYSTEM KILL SESSION 'sid,serial#';
--查看连接数
SELECT COUNT (*) FROM v$session;
--查看并发连接数
SELECT COUNT(*) FROM V$SESSION WHERE STATUS='ACTIVE';
--查看连接的进程
SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION;
--查看数据库使用的裸设备
SELECT *
FROM dba_data_files
ORDER BY file_name;
SELECT *
FROM dba_temp_files
ORDER BY file_name;
SELECT *
FROM v$controlfile
ORDER BY file_name;
SELECT *
FROM v$logfile;
--具体的方法是查询dba_data_files,dba_temp_files,v$controlfile和v$logfile看这四类文件具体占用的裸设备
--查询所有用户表使用大小的前三十名
select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30;
--以下的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
--如果DBA要手工断开某个会话,则执行:
alter system kill session 'SID,SERIAL#';
oracle 查看锁表情况及数据库连接情况相关推荐
- oracle查看锁表的sql
oracle查看锁表的sql 关键表 V$LOCKED_OBJECT :记录锁信息的表 v$session :记录会话信息的表 v$sql:记录执行sql的表 dba_objects:用来管理对象(表 ...
- oracle 查看锁表进程和解锁
查看锁表进程和解锁 (1)方式一: SELECT SESS.SID, SESS.SERIAL#, LO.ORACLE_USERNAME, ...
- Oracle查看锁表
查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ...
- oracle查看锁表进程,杀掉锁表进程
查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo ...
- oracle杀缩表进程,oracle查看锁表和杀死锁表的方法总结
一.查看锁表的相关表 SELECT * FROM v$lock; SELECT * FROM v$sqlarea; SELECT * FROM v$session; SELECT * FROM v$p ...
- oracle 查看锁表 清除锁表
查看Oracle数据库被锁住的表,删除锁表的进程 --1.查看被锁住的表 SELECT dob.object_name table_name, lo.locked_mode, lo.session_i ...
- Oracle/Mysql查看锁表与解锁表
Oracle/Mysql查看锁表与解锁表 在ORCLA与MYSQL中,如何查看锁表与解锁表 1 Oracle 查看锁表进程SQL: select * from v$session t1, v$lock ...
- mysql 查看锁表日志_MYSQL 表锁情况查看
查看锁表情况 mysql> show status like 'Table%'; +----------+--–+ | Variable_name | Value | +----------+- ...
- Oracle查看哪些表被锁住了及解锁
今天导入数据时,中间点了下停止,然后又重新导入,程序一直卡住不动,经过日志分析,是卡在了一个drop table语句,手动执行该drop table语句,也会卡住,查询该表数据也会卡住.最终查到该表被 ...
最新文章
- AIphaCode 并不能取代程序员,而是开发者的工具
- opc ua 服务器模拟_西门子S71500的OPC通讯组态
- MySQL自增长主键探究
- 解决 C# GetPixel 和 SetPixel 效率问题(转)
- c语言分隔符分离出str字符串中的数字,C语言版Tokenize()函数,由分隔符获取字符串...
- SQL Server数据库损坏、检测以及简单的修复办法
- Java在电脑桌面的图标_电脑桌面图标都没了,教您电脑桌面图标都没了怎么恢复...
- ORA-01123:无法启动联机备份;未启用介质恢复(错误分析)
- java取二进制其中两位_Java:二进制(原码、反码、补码)与位运算(示例代码)...
- Marketing Cloud contact的API介绍
- alm数据库mysql_mysql
- embed标签 阻止点击事件 让父元素处理点击事件
- 学习笔记之搜索引擎—原理、技术与系统
- 怎么提高Mysql执行sql导入的速度
- Basic INFO: InstallShield 2012安装过程
- 解决Visual Studio 2019未能从“https://www.nuget.org/api/v2/package..“下载包问题
- 使用知行之桥® EDI系统对接德州仪器TI
- vb计算机二级操作题考试试题,计算机二级考试《VB》操作试题及答案2016
- CS231n——机器学习算法——线性分类(上: 线性分类器)
- git fatal: destination path ‘**‘ already exists and is not an empty directory.解决