檢視schema使用情況

2021-08-02 04:19:48 字數 4147 閱讀 8866

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自帶乙個命令列工具可...