ORACLE常用SQL指令碼2
看書筆記. 共參考,
shared pool latch競爭和lock的解決
[@more@]-----取得隱藏引數;
set linesize 132
column name format a30
column value format a25
select x.ksppinm name,
y.ksppstvl value,
y.ksppstdf isdefault,
decode(bitand(y.ksppstvf, 7),
1,
'MODIFIED',
4,
'SYSTEM_MOD',
'FALSE') ismod,
decode(bitand(y.ksppstvf, 2), 2, 'TRUE', 'FALSE') isadj
from sys.x$ksppi x, sys.x$ksppcv y
where x.inst_id = userenv('Instance')
and y.inst_id = userenv('Instance')
and x.indx = y.indx
and x.ksppinm like '_&par%'
order by translate(x.ksppinm, '_', '');
----Server程式掃描LRU超過40%還沒能找到足夠的FREE BUFFER就會停止搜尋.通知DBWN執行寫資料;
select kvittag,kvitval,kvitdsc from x$kvit
where kvittag='kcbfsp';
----DBwn 主動掃描LRU List,將發現的Dirty Buffer移入Checkpoint queue,9i掃描比例:25%
select kvittag,kvitval,kvitdsc from x$kvit
where kvittag='kcbdsp';
----檢視DB BUFFER LATCH
select addr,latch#,name,gets,misses,immediate_gets,immediate_misses
from v$latch where name='cache buffers lru chain';
===========解決BUFFER LATCH競爭===========
----檢視DB BUFFER 各子LATCH使用情況:
select addr,child#,name,get,misses,immediate_gets,immediate_misses from v$latch_children where name ='cache buffers lur chain';
(子LATCH的數量由隱藏引數_db_block_lru_latches限定)
----當前資料庫最繁忙資料塊的BUFFER 和LATCH資訊
select b.addr,
a.ts#,
a.dbarfil,
a.dbablk,
a.tch,
b.gets,
b.misses,
b.sleeps
from (select *
from (select addr, ts#, file#, dbarfil, dbablk, tch,hladdr
from x$bh
order by tch desc)
where rownum < 11) a,
(select addr, gets, misses, sleeps
from v$latch_children
where name = 'cache buffers chains') b
where a.hladdr = b.addr
----最繁忙的BUFFER來自哪些物件;
select e.owner, e.segment_name, e.segment_type
from dba_extents e,
(select *
from (select addr, ts#, file#, dbarfil, dbablk, tch
from x$bh
order by tch desc)
where rownum < 11) b
where e.relative_fno = b.dbarfil
and e.block_id <= b.dbablk
and e.block_id + e.blocks > b.dbablk;
----最繁忙的BUFFER是哪些SQL在操作;
select /*+rule*/
hash_value, sql_text
from v$sqltext
where (hash_value, address) in
(select a.hash_value, a.address
from v$sqltext a,
(select distinct a.owner, a.segment_name, a.segment_type
from dba_extents a,
(select dbarfil, dbablk
from (select dbarfil, dbablk
from x$bh
order by tch desc)
where rownum < 11) b
where a.relative_fno = b.dbarfil
and a.block_id <= b.dbablk
and a.block_id + a.blocks > b.dbablk) b
where a.sql_text like '%' || b.segment_name || '%'
and b.segment_type = 'TABLE')
order by hash_value, address, piece;
===========解決Library Cache Pin等待===========
----獲得Library Cache Pin等待的物件;
select addr, kglhdadr, kglhdpar, kglnaown, kglnaobj, kglnahsh, kglhdobj
from x$kglob
where kglhdadr in
(select p1raw from v$session_wait where event like 'library%')
----獲得以上持有等待物件的SESSION資訊
select 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, v$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%');
----獲得以上持有物件使用者執行的程式碼;
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 sid
from v$session a, v$kglpn b
where a.saddr = b.kglpnuse
and kglpnmod <> 0
and b.kglpnhdl in
(select p1raw
from v$session_wait
where event like 'library%')));
================Library Cache Lock 等待事件============
select * from v$session_wait where event = 'library cache lock';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/703656/viewspace-904983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle_ray.sh 常用的oracle sql功能指令碼OracleSQL指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- 史上最全近百條Oracle DBA日常維護SQL指令碼指令OracleSQL指令碼
- [20230414]完善seg2.sql指令碼.txtSQL指令碼
- Oracle 常用SQL筆記OracleSQL筆記
- Oracle DG運維常用SQLOracle運維SQL
- 【BLOCK】Oracle 塊管理常用SQLBloCOracleSQL
- 【LOB】Oracle Lob管理常用sqlOracleSQL
- 常用SQL_2SQL
- python 常用指令碼Python指令碼
- SQLServer 常用指令碼SQLServer指令碼
- 常用shell指令碼指令碼
- MySQL 常用指令碼MySql指令碼
- [20230302]建立完善tpt o2.sql指令碼.txtSQL指令碼
- 【ORACLE】Oracle常用SQL及重點功能說明OracleSQL
- 常用指令碼學習手冊——Bat指令碼指令碼BAT
- Bash 常用指令碼片段指令碼
- [20231101]使用tpt seg2.sql指令碼問題.txtSQL指令碼
- [20220519]完善tpt dash_wait_chains2.sql指令碼.txtAISQL指令碼
- oracle建庫指令碼Oracle指令碼
- ORACLE備份指令碼Oracle指令碼
- 【AUDIT]Oracle審計配置及常用sqlOracleSQL
- 【PDB】Oracle pdb維護常用sql命令OracleSQL
- Oracle利用coe_load_sql_profile指令碼繫結執行計劃OracleSQL指令碼
- Oracle SQL optimization-2(zt)OracleSQL
- mybatis執行sql指令碼MyBatisSQL指令碼
- SQL SERVER巡檢指令碼SQLServer指令碼
- MHA常用指令碼簡介指令碼
- linux常用的shell指令碼Linux指令碼
- sqlmap常用繞過指令碼SQL指令碼
- linux 常用Mysql指令碼命令LinuxMySql指令碼
- pm2 簡介與常用指令
- catalog.sql指令碼介紹SQL指令碼
- sql_trace相關指令碼SQL指令碼
- SQL 的後計算指令碼SQL指令碼
- 【Oracle】常用工具-oracle sql developer快速安裝使用教程OracleSQLDeveloper
- Dynamics CRM 2013 常用JS指令碼JS指令碼
- bat批處理常用指令碼BAT指令碼
- 工作中常用的oracle資料庫sqlOracle資料庫SQL