1.查詢當前表級鎖的sql如下:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
2.殺掉鎖表程序:
alter system kill session '436,35123';
3.rac環境中鎖查詢:
select inst_id,decode(request,0,'holder: ','waiter: ')||sid sess,
id1, id2, lmode, request, type,block,ctime
from gv$lock
where (id1, id2, type) in
(select id1, id2, type from gv$lock where request>0)
order by id1, request;
4.監控當前資料庫誰在執行什麼sql語句
select osuser, username, sql_text
from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece;
5.找使用cpu多的使用者session
select a.sid,spid,status,substr(a.program,1,40) prog, a.terminal,osuser,value/60/100 value
from v$session a,v$process b,v$sesstat c
where c.statistic#=12 and
c.sid=a.sid and
a.paddr=b.addr
order by value desc;
6.檢視死鎖資訊
select (select username
from v$session
where sid = a.sid) blocker, a.sid, 'is blocking',
(select username
from v$session
where sid = b.sid) blockee, b.sid
from v$lock a, v$lock b
where a.block = 1 and b.request > 0 and a.id1 = b.id1 and a.id2 = b.id2;
7.具有最高等待的物件
select o.owner,o.object_name, o.object_type, a.event,
sum (a.wait_time + a.time_waited) total_wait_time
from v$active_session_history a, dba_objects o
where a.sample_time between sysdate - 30 / 2880 and sysdate
and a.current_obj# = o.object_id
group by o.owner,o.object_name, o.object_type, a.event
order by total_wait_time desc;
select a.session_id, s.osuser, s.machine, s.program, o.owner, o.object_name,
o.object_type, a.event,
sum (a.wait_time + a.time_waited) total_wait_time
from v$active_session_history a, dba_objects o, v$session s
where a.sample_time between sysdate - 30 / 2880 and sysdate
and a.current_obj# = o.object_id
and a.session_id = s.sid
group by o.owner,
o.object_name,
o.object_type,
a.event,
a.session_id,
s.program,
s.machine,
s.osuser
order by total_wait_time desc;
8.查詢當前連線會話數
select s.value,s.sid,a.username
from
v$sesstat s,v$statname n,v$session a
where
n.statistic#=s.statistic# and
name='session pga memory'
and s.sid=a.sid
order by s.value;
9.等待最多的使用者
select s.sid, s.username, sum (a.wait_time + a.time_waited) total_wait_time
from v$active_session_history a, v$session s
where a.sample_time between sysdate - 30 / 2880 and sysdate
group by s.sid, s.username
order by total_wait_time desc;
10.等待最多的sql
select a.program, a.session_id, a.user_id, d.username, s.sql_text,
sum (a.wait_time + a.time_waited) total_wait_time
from v$active_session_history a, v$sqlarea s, dba_users d
where a.sample_time between sysdate - 30 / 2880 and sysdate
and a.sql_id = s.sql_id
and a.user_id = d.user_id
group by a.program, a.session_id, a.user_id, s.sql_text, d.username;
11.檢視消耗資源最多的sql
select hash_value, executions, buffer_gets, disk_reads, parse_calls
from v$sqlarea
where buffer_gets > 10000000 or disk_reads > 1000000
order by buffer_gets + 100 * disk_reads desc;
12.檢視某條sql語句的資源消耗
select hash_value, buffer_gets, disk_reads, executions, parse_calls
from v$sqlarea
where hash_value = 228801498 and address = hextoraw('cbd8e4b0');
13.查詢會話執行的實際sql
select a.sid, a.username, s.sql_text
from v$session a, v$sqltext s
where a.sql_address = s.address
and a.sql_hash_value = s.hash_value
and a.status = 'active'
order by a.username, a.sid, s.piece;
14.顯示正在等待鎖的所有會話
select * from dba_waiters;
檢視索引使用情況
檢視乙個索引是否正確建立,可以參考下這兩個引數 handler read key 和 handler read rnd next。如果索引正在工作,handler read key 的值將很高,這個值代表了乙個行被索引值讀取的次數,很低的值則表明增加索引得到的效能不高,因為索引並不經常使用。hand...
檢視記憶體使用情況
查詢sqlserver總體的記憶體使用情況select type sum virtual memory reserved kb vm reserved sum virtual memory committed kb vm commited sum awe allocated kb awe alloc...
檢視顯示卡使用情況
linux檢視顯示卡資訊 lspci grep i vga使用nvidia gpu可以 前邊的序號 00 0f.0 是顯示卡的代號 這裡是用的虛擬機器 檢視指定顯示卡的詳細資訊用以下指令 lspci v s 00 0f.0linux檢視nvidia顯示卡資訊及使用情況nvidia自帶乙個命令列工具可...