日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle常用的监控,oracle常用的监控语句

發(fā)布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle常用的监控,oracle常用的监控语句 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

--根據(jù)FILE_ID & BLOCK_ID獲得對象名稱

SELECT /*+ RULE*/ owner, segment_name, segment_type

FROM dba_extents

WHERE file_id = &file_id

AND &block_id BETWEEN block_id AND block_id + blocks - 1;

--根據(jù)操作系統(tǒng)PID,查詢SESSION信息

SELECT a.sid, a.serial#, b.spid, a.terminal, a.machine, a.program, a.osuser

FROM v$session a, v$process b

WHERE a.paddr = b.addr AND b.spid = '&SPID';

--根據(jù)SESSION SID,查詢操作系統(tǒng)PID

SELECT a.sid, a.serial#, b.spid, a.terminal, a.machine, a.program, a.osuser

FROM v$session a, v$process b

WHERE a.paddr = b.addr AND a.sid = '&SID';

--查詢用戶正在執(zhí)行的SQL

SELECT sql_text

FROM v$sqltext

WHERE hash_value = (SELECT sql_hash_value

FROM v$session

WHERE sid = &sid)

ORDER BY piece;

--查詢當前的系統(tǒng)等待事件

SELECT *

FROM v$session_wait

WHERE event NOT LIKE '%SQL*Net%'

AND event NOT LIKE '%rdbms%'

AND event NOT LIKE '%timer%'

AND event NOT LIKE '%jobq%'

ORDER BY event, seconds_in_wait;

--查詢詳細的當前系統(tǒng)等待事件

SELECT s.sid, s.username, w.seq#, w.event, w.p1text, w.p1, w.p2text, w.p2, w.p3text, w.p3,

w.seconds_in_wait, w.state, s.logon_time, s.osuser, s.program

FROM v$session s, v$session_wait w

WHERE s.sid = w.sid

AND w.event NOT LIKE '%SQL*Net%'

AND w.event NOT LIKE '%rdbms%'

AND w.event NOT LIKE '%timer%'

AND w.event NOT LIKE '%jobq%'

ORDER BY w.event, w.seconds_in_wait;

--查詢等待db file sequential/scattered read的Session正在執(zhí)行的SQL

SELECT s.sid, s.username, t.hash_value, t.piece, t.sql_text

FROM v$session s, v$session_wait w, v$sqltext t

WHERE s.sid = w.sid

AND s.sql_hash_value = t.hash_value

AND w.event IN ('db file sequential read', 'db file scattered read')

ORDER BY s.sid, t.piece;

--查詢等待db file sequential/scattered read對應的數(shù)據(jù)庫對象

SELECT /*+ RULE*/ s.sid, s.username, w.seq#, w.event,

d.segment_type, d.owner || '.' || d.segment_name AS segment_name,

w.seconds_in_wait, w.state, s.logon_time

FROM v$session s, v$session_wait w, dba_extents d

WHERE s.sid = w.sid

AND d.file_id = w.p1

AND w.p2 BETWEEN d.block_id AND d.block_id + d.blocks - 1

AND w.event IN ('db file sequential read', 'db file scattered read')

ORDER BY w.event, segment_name;

--查詢導致LOCK的SID,SPID,LOCKED_OBJECT,LOCK_TYPE等信息

SELECT /*+ RULE*/

l.sid, p.spid, s.username,s.logon_time, s.osuser, s.program, l.type,

CASE l.TYPE WHEN 'TM' THEN O.object_name WHEN 'TX' THEN '' END as OBJECT_NAME,

DECODE (l.lmode, 0, '0=NONE', 1, '1=NULL', 2, '2=RS', 3, '3=RX', 4, '4=S', 5, '5=SRX', 6, '6=X') lmode,

CASE l.request WHEN 0 THEN '' ELSE 'BLOCKED BY ' || l.id2 END as BLOCKED,

CASE l.block WHEN 0 THEN '' ELSE l.id2 || ' IS BLOCKING' END as BLOCKING,

l.request, l.ctime

FROM v$lock l, v$session s, dba_objects o, v$process p

WHERE l.type in ('TX', 'TM')

AND s.paddr = p.addr

AND l.sid = s.sid

AND l.id1 = o.object_id(+)

ORDER BY s.username, l.sid, l.ctime;

--查詢導致DDL LOCK的詳細信息

SELECT s.sid, p.spid, s.username, a.owner || '.' || a.NAME AS OBJECT_NAME,

a.TYPE, a.mode_held, a.mode_requested, s.osuser, s.logon_time, s.program

FROM dba_ddl_locks a, v$session s, v$process p

WHERE s.sid = a.session_id

AND s.paddr = p.addr

AND (a.mode_held = 'Exclusive' OR a.mode_requested = 'Exclusive')

ORDER BY s.USERNAME, a.NAME;

--查詢事務使用的回滾段

SELECT s.username, s.sid, s.serial#, t.ubafil "UBA filenum",

t.ubablk "UBA Block number", t.used_ublk "Number of undo Blocks Used",

t.start_time, t.status, t.start_scnb, t.xidusn rollid, r.name rollname

FROM v$session s, v$transaction t, v$rollname r

WHERE s.saddr = t.ses_addr AND t.xidusn = r.usn;

####################################################################################################

--查詢LIBRARY CACHE PIN等待事件等待的對象

--視圖縮寫:[K]ernel [G]eneric [L]ibrary Cache Manager [OB]ject

SELECT /*+ RULE*/ addr, kglhdadr, kglhdpar, kglnaobj, kglnahsh, kglhdobj

FROM x$kglob

WHERE kglhdadr IN (SELECT p1raw

FROM v$session_wait

WHERE event LIKE '%library%');

--查詢LIBRARY CACHE PIN等待事件中持有被等待對象的SESSION信息

--視圖縮寫:[K]ernel [G]eneric [L]ibrary Cache Manager Object [P]i[N]s

SELECT /*+ RULE*/ a.SID, a.username, a.program, b.addr, b.kglpnadr, b.kglpnuse,

b.kglpnses, b.kglpnhdl, b.kglpnlck, b.kglpnmod, b.kglpnreq

FROM v$session a, x$kglpn b

WHERE a.saddr = b.kglpnuse

AND b.kglpnmod <> 0

AND b.kglpnhdl IN (SELECT p1raw

FROM v$session_wait

WHERE event LIKE '%library%');

--查詢LIBRARY CACHE PIN等待事件中持有被等待對象的SESSION執(zhí)行的SQL語句

SELECT sql_text

FROM v$sqlarea

WHERE (v$sqlarea.address, v$sqlarea.hash_value) IN (

SELECT sql_address, sql_hash_value

FROM v$session

WHERE SID IN (

SELECT /*+ RULE*/ SID

FROM v$session a, x$kglpn b

WHERE a.saddr = b.kglpnuse

AND b.kglpnmod <> 0

AND b.kglpnhdl IN (SELECT p1raw

FROM v$session_wait

WHERE event LIKE '%library%')));

--查詢哪個SESSION正在使用某個對象(LIBRARY CACHE)

SELECT DISTINCT s.sid,

s.username,

s.logon_time,

s.osuser,

s.program,

b.kglnahsh as SQL_HASH_VALUE,

b.kglnaobj as SQL_TEXT

FROM v$session s, x$kglpn n, x$kglob b

WHERE n.kglpnuse = s.saddr

AND upper(b.kglnaobj) LIKE upper('%&OBJECT_NAME%')

AND n.kglpnhdl = b.kglhdadr;

--查詢V$SESSION_WAIT用戶PIN住了哪些對象(LIBRARY CACHE)

SELECT DISTINCT s.sid,

s.username,

s.logon_time,

s.osuser,

s.program,

n.kglpnmod,

b.kglnahsh AS SQL_HASH_VALUE,

b.kglnaobj AS SQL_TEXT

FROM v$session s, x$kglpn n, x$kglob b

WHERE n.kglpnuse = s.saddr

AND n.kglpnhdl = b.kglhdadr

AND s.sid IN (SELECT sid

FROM v$session_wait

WHERE event NOT LIKE '%SQL*Net%'

AND event NOT LIKE '%rdbms%'

AND event NOT LIKE '%timer%'

AND event NOT LIKE '%jobq%')

ORDER BY s.username;

--查詢哪些大對象被載入SHARED POOL時導致其它對象被老化

SELECT s.sid, s.username, s.logon_time, s.osuser, s.program,

k.ksmlrcom, k.ksmlrsiz, k.ksmlrnum, k.ksmlrhon, k.ksmlrses

FROM x$ksmlru k, v$session s

WHERE s.saddr = k.ksmlrses

AND ksmlrsiz > 0;

####################################################################################################

--查詢Schema哪些表是全表掃描

SELECT o.name, x.tch

FROM obj$ o, x$bh x, dba_users u

WHERE x.obj = o.dataobj#

AND STANDARD.bitand(x.flag, 524288) > 0

AND u.username = UPPER('&username')

ORDER BY x.tch DESC;

--查詢低效率的SQL(BUFFER_GETS排序)

SELECT *

FROM (SELECT s.sid,

b.spid,

s.sql_hash_value,

q.sql_text,

q.executions,

q.buffer_gets,

ROUND(q.buffer_gets / q.executions) AS buffer_per_exec,

ROUND(q.elapsed_time / q.executions) AS cpu_time_per_exec,

q.cpu_time,

q.elapsed_time,

q.disk_reads,

q.rows_processed

FROM v$session s, v$process b, v$sql q

WHERE s.sql_hash_value = q.hash_value

AND s.paddr = b.addr

AND s.status = 'ACTIVE'

AND s.TYPE = 'USER'

AND q.buffer_gets > 0

AND q.executions > 0

ORDER BY buffer_per_exec DESC)

WHERE ROWNUM <= 10;

####################################################################################################

--監(jiān)控BufferCache命中率

SELECT a.value + b.value logical_reads, c.value phys_reads,

ROUND (100 * (1 - c.value / (a.value + b.value)), 4) hit_ratio

FROM v$sysstat a, v$sysstat b, v$sysstat c

WHERE a.NAME = 'db block gets'

AND b.NAME = 'consistent gets'

AND c.NAME = 'physical reads';

--監(jiān)控LibraryCache命中率

SELECT SUM (pins) total_pins, SUM (reloads) total_reloads,

SUM (reloads) / SUM (pins) * 100 libcache_reload_ratio

FROM v$librarycache;

--查詢產(chǎn)生的跟蹤文件名

SELECT p1.VALUE || '/' || p2.VALUE || '_ora_' || p.spid || '.trc' filename

FROM v$process p, v$session s, v$parameter p1, v$parameter p2

WHERE p1.NAME = 'user_dump_dest'

AND p2.NAME = 'db_name'

AND p.addr = s.paddr

AND s.audsid = USERENV ('SESSIONID');

--刪除表中的重復記錄

DELETE FROM table_name a

WHERE ROWID >

(SELECT MIN (ROWID)

FROM table_name b

WHERE b.pk_column_1 = a.pk_column_1

AND b.pk_column_2 = a.pk_column_2);

總結

以上是生活随笔為你收集整理的oracle常用的监控,oracle常用的监控语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。