Eygle的《深入解析Oracle-DBA 入門、進階與診斷案例》——指令碼整理
前一段時間,看了Eygle的《深入解析Oracle-DBA 入門、進階與診斷案例》一書,使自己受益匪淺。在書中出現了一些呼叫指令碼,有的指令碼在書中沒有給出,可能會導致看書時不明白,我這裡把我整理的指令碼貢獻出來,希望大家一起學習。
指令碼涉及:gethidpar.sql 獲取隱含引數
gettrcname.sql 獲取當前trace檔名稱
getplan.sql 獲取sql語句的執行計劃,通過v$sql_plan檢視。
gethidpar.sql內容如下:
set linesize 120
col name for a30
col value for a20
col describ for a60
select x.ksppinm name, y.ksppstvl value, x.ksppdesc describ
from sys.x$ksppi x,sys.x$ksppcv y
where x.indx = y.indx
and x.ksppinm like '%&par%'
/
gettrcname.sql 內容如下:
select
a.value || b.symbol || c.instance_name || '_ora_' || d.spid || '.trc' trace_file_name
from (select value from v$parameter where name = 'user_dump_dest')a,
(select substr(value,-6,1) symbol from v$parameter where name = 'user_dump_dest') b,
(select instance_name from v$instance) c,
(select spid from v$session s,v$process p,v$mystat m where s.paddr = p.addr and s.sid = m.sid and m.statistic#=0) d
/
getplan.sql 內容如下:
set linesize 120
col operation format a55
col cost format 99999
col kbytes format 999999
col object format a25
select hash_value,child_number,
lpad(' ',2*depth) || operation || ' ' || options || decode(id,0,substr(optimizer,1,6) || 'Cost=' || to_char(cost)) operation,
object_name object,
cost,
round(bytes/1024) kbytes
from v$sql_plan
where hash_value in (
select a.sql_hash_value from v$session a,v$session_wait b
where a.sid = b.sid and b.event = '&waitevent')
order by hash_value,child_number,id;
/
指令碼涉及:gethidpar.sql 獲取隱含引數
gettrcname.sql 獲取當前trace檔名稱
getplan.sql 獲取sql語句的執行計劃,通過v$sql_plan檢視。
gethidpar.sql內容如下:
set linesize 120
col name for a30
col value for a20
col describ for a60
select x.ksppinm name, y.ksppstvl value, x.ksppdesc describ
from sys.x$ksppi x,sys.x$ksppcv y
where x.indx = y.indx
and x.ksppinm like '%&par%'
/
gettrcname.sql 內容如下:
select
a.value || b.symbol || c.instance_name || '_ora_' || d.spid || '.trc' trace_file_name
from (select value from v$parameter where name = 'user_dump_dest')a,
(select substr(value,-6,1) symbol from v$parameter where name = 'user_dump_dest') b,
(select instance_name from v$instance) c,
(select spid from v$session s,v$process p,v$mystat m where s.paddr = p.addr and s.sid = m.sid and m.statistic#=0) d
/
getplan.sql 內容如下:
set linesize 120
col operation format a55
col cost format 99999
col kbytes format 999999
col object format a25
select hash_value,child_number,
lpad(' ',2*depth) || operation || ' ' || options || decode(id,0,substr(optimizer,1,6) || 'Cost=' || to_char(cost)) operation,
object_name object,
cost,
round(bytes/1024) kbytes
from v$sql_plan
where hash_value in (
select a.sql_hash_value from v$session a,v$session_wait b
where a.sid = b.sid and b.event = '&waitevent')
order by hash_value,child_number,id;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11590946/viewspace-705328/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 我眼中的《深入淺出Oracle-入門、進階、診斷案例》Oracle
- ITPUB技術叢書第三冊《深入淺出Oracle-DBA入門、進階與診斷案例》已經出版,第一、二冊繼續熱售中Oracle
- MySQL故障診斷常用方法手冊(含指令碼、案例)MySql指令碼
- vue從入門到進階:指令與事件(二)Vue事件
- RAC故障診斷指令碼指令碼
- ORACLE診斷案例Oracle
- OpenStack入門之各元件解析(進階)元件
- 【RAC】Oracle Clusterware 診斷收集指令碼Oracle指令碼
- 【SQL】長事務診斷指令碼SQL指令碼
- 機器學習入門(三) — 迴歸模型(進階案例)機器學習模型
- 軟體專案過程診斷與改進建議案例
- 《深入解析Oracle》第十章,效能診斷與SQL優化OracleSQL優化
- Redux 入坑進階 – 原始碼解析Redux原始碼
- oracle診斷事件及深入解析10053事件Oracle事件
- 查詢Tuxedo積壓的Oracle診斷指令碼UXOracle指令碼
- 近期整理(二)--pga,sga設定問題的兩個診斷案例
- 一次Oracle診斷案例-SGA與SwapOracle
- Apache Flink 進階入門(二):Time 深度解析Apache
- 案例 - EBS SQL效能診斷SQL
- JAVA進階之IO模型深入解析Java模型
- 一次Oracle診斷案例-Spfile案例Oracle
- docker和docker compose安裝使用、入門進階案例Docker
- 13個Tensorflow實踐案例,教你入門到進階
- python3入門與進階(二)Python
- 一個java中呼叫bash指令碼錯誤的診斷Java指令碼
- Oracle診斷案例-Sql_traceOracleSQL
- 「演算法與資料結構」從入門到進階整理推薦書單演算法資料結構
- elk 入門到進階
- SQL入門-進階教程SQL
- Flutter入門進階之旅(十五)ListView下拉重新整理&上拉載入更多FlutterView
- 指令碼::Vim進階索引[3]指令碼索引
- 【docker】進入docker的指令碼Docker指令碼
- 效能診斷利器JProfiler快速入門和最佳實踐
- Node Stream 入門與深入
- python入門與進階篇(六)之高階語法及用法Python
- 【診斷指令碼】【SQL】得到包含關鍵字的表空間與資料檔案資訊指令碼SQL
- Redis入門--進階詳解Redis
- Redis從入門到進階Redis