檢視Oracle資料庫中的執行計畫

2022-06-29 22:57:12 字數 1093 閱讀 9956

1、set autotrace traceonly命令

2、explain plan for命令

1)explain plan for select * from dual; 

2)select * from table(dbms_xplan.display);  

3、10046檢視oracle資料庫中的執行計畫

能夠得到sql執行計畫中每乙個執行步驟所消耗的邏輯讀,物理讀,和花費的時間。實際上,也可以通過gather_plan_sstatistics hint 配合dbms_xplan 包一起使用得到和10046事件類似細粒度的明細的執行計畫。

三個步驟就可以通過10046事件獲得sql的執行計畫。

1.首先在當前session 中啟用10046事件。

2.在當前session 中執行sql語句。

3.最後當前session 中關閉10046事件。

當執行完上述步驟後,oracle就會將目標sql的執行計畫和明細資源消耗寫入此session對應的trace檔案中。

oracle會在user_dump_dest引數設定的目錄下產生這個trace檔案。

我們有兩種方法在當前session中啟用10046事件。

1.在當前session中執行alter session set events '10046 trace naem context forever,level 12'

2.在當前session中執行oradebug event 10046 trace name context forever,level 12'

上述命令中的關鍵字」level「後的數字是標識設定的10046時間的level值,這個值是可以修改的,我們

通常使用的值為12,表示在產生的trace檔案中除了有目標sql的執行計畫和資源消耗明細外,還包含

sql使用的繫結變數的值以及該session所經歷的等待事件,除了level值外,其他的部分是固定的語法,

是無法修改的。

我推薦使用第2種方法,因為可以在啟用10046事件後執行命令oradebug tracefile_name可以獲得當前

session 所對應的trace檔案的具體路徑名稱。

示例:5.生成tkprof報告

檢視Oracle資料庫狀態

show sga set wrap off set linesize 400 檢視正在執行的後台程序 select from v bgprocess select from v bgprocess where paddr 00 檢視資料庫的物理組成 檔案情況 select from v contro...

Oracle檢視資料庫結構

用sql語句檢視資料庫就夠,前提針對自己可見的表,如下語句,檢視表結構方式 1.select a.column name 欄位名,a.data type 資料型別,a.data length 長度,a.data precision 整數字,a.data scale 小數字,a.nullable 允許...

檢視oracle資料庫鎖

方法一 檢視產生鎖的程序id 在資料庫伺服器上 主機 如應用伺服器 等等 select s.machine sourse host,p.spid pid,l.session id sid,s.serial l.locked mode,l.oracle username,s.user l.os use...