使用10046 event trace跟蹤全表掃描操作
1.建立測試用表T
SQL> create table t as select * from dba_objects;
Table created.
2.檢視T表的Block號和Block數量
SQL> select file_id,block_id,blocks from dba_extents where segment_name='T';
FILE_ID BLOCK_ID BLOCKS
---------- ---------- ----------
3 5025 8
3 5033 8
3 5041 8
3 5049 8
3 5057 8
3 5065 8
3 5073 8
3 5081 8
3 5089 8
3 5097 8
10 rows selected.
3.開啟10046 event trace跟蹤當前session
SQL> alter session set events '10046 trace name context forever,level 12';
Session altered.
4.執行全表掃描
SQL> select count(*) from t;
COUNT(*)
----------
6279
5.結束10046 event trace
SQL> alter session set events '10046 trace name context off';
Session altered.
6.檢視跟蹤檔案路徑
SQL> select d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||
2 p.spid || '.trc' trace_file_name
3 from (select p.spid
4 from v$mystat m, v$session s, v$process p
5 where m.statistic# = 1
6 and s.sid = m.sid
7 and p.addr = s.paddr) p,
8 (select t.instance
9 from v$thread t, v$parameter v
10 where v.name = 'thread'
11 and (v.value = 0 or t.thread# = to_number(v.value))) i,
12 (select value from v$parameter where name = 'user_dump_dest') d
13 /
TRACE_FILE_NAME
------------------------------------------------------------------------------
/disk3/oradata/admin/ora7a/udump/ora7a_ora_6128.trc
7.檢視跟蹤檔案
SQL> ! grep scatt /disk3/oradata/admin/ora7a/udump/ora7a_ora_6128.trc
WAIT #1: nam='db file scattered read' ela= 311 p1=3 p2=5026 p3=7
WAIT #1: nam='db file scattered read' ela= 211 p1=3 p2=5033 p3=8
WAIT #1: nam='db file scattered read' ela= 302 p1=3 p2=5041 p3=8
WAIT #1: nam='db file scattered read' ela= 226 p1=3 p2=5049 p3=8
WAIT #1: nam='db file scattered read' ela= 219 p1=3 p2=5057 p3=8
WAIT #1: nam='db file scattered read' ela= 300 p1=3 p2=5065 p3=8
WAIT #1: nam='db file scattered read' ela= 501 p1=3 p2=5073 p3=8
WAIT #1: nam='db file scattered read' ela= 466 p1=3 p2=5081 p3=8
WAIT #1: nam='db file scattered read' ela= 470 p1=3 p2=5089 p3=8
WAIT #1: nam='db file scattered read' ela= 139 p1=3 p2=5097 p3=6
8.跟蹤檔案中P1,P2,P3的欄位說明
SQL> select name, parameter1 p1, parameter2 p2, parameter3 p3
2 from v$event_name
3 where name = 'db file scattered read'
4 /
NAME P1 P2 P3
------------------------------ ---------- ---------- ----------
db file scattered read file# block# blocks
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7319461/viewspace-928339/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【TRACE】如果通過10046跟蹤資料庫效能問題資料庫
- 全表掃描和全索引掃描索引
- 全表掃描和全索引掃描繼續(PG-TiDB)索引TiDB
- MySQL中的全表掃描和索引樹掃描MySql索引
- Oracle 10046 SQL TRACEOracleSQL
- sp_trace_setfilter sqlserver篩選跟蹤或跟蹤過濾FilterSQLServer
- AWVS掃描器掃描web漏洞操作Web
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- [20200818]12c 10046跟蹤時間戳.txt時間戳
- Golang 大殺器之跟蹤剖析 traceGolang
- 使用dbms_monitor.session_trace_enable跟蹤一個會話Session會話
- oracle是如何進行全表掃描的Oracle
- 24_Oracle資料庫全表掃描詳解(四)_全表掃描生產最佳化案例三則Oracle資料庫
- [20200818]12c 10046跟蹤時間戳2.txt時間戳
- [20210219]全表掃描邏輯讀問題.txt
- Golang 效能測試 (3) 跟蹤刨析 golang traceGolang
- 單個SQL語句的10046 traceSQL
- 填報表怎麼跟蹤使用者操作,記錄日誌?
- 單表掃描,MySQL索引選擇不正確 並 詳細解析OPTIMIZER_TRACE格式MySql索引
- ABAP的許可權檢查跟蹤(Authorization trace)工具
- [20210220]全索引掃描快速索引掃描的邏輯讀.txt索引
- 關係型資料庫全表掃描分片詳解資料庫
- 23_Oracle資料庫全表掃描詳解(三)Oracle資料庫
- 22_Oracle資料庫全表掃描詳解(二)Oracle資料庫
- 21_Oracle資料庫全表掃描詳解(一)Oracle資料庫
- [20201118]18c 10046跟蹤時間戳3(虛擬機器).txt時間戳虛擬機
- PostgreSQL DBA(55) - MVCC#8(對全表掃描的影響)SQLMVCC#
- SAP CRM One Order跟蹤和日誌工具CRMD_TRACE_SET
- 【TRACE】如何設定或動態跟蹤Oracle net偵聽器Oracle
- 多目標跟蹤全解析,全網最全
- 索引掃描可能不如全表掃描的場景的理解__純粹資料量而言,不涉及CLUSTERING_FACTOR索引
- 怎麼解決因全表掃描帶來的 Buffer Pool 汙染
- [20231025]跟蹤rename操作2.txt
- [20190815]索引快速全掃描的成本.txt索引
- Web漏洞掃描篇-Nessus使用Web
- 使用 KRAWL 掃描 Kubernetes 錯誤
- QingScan掃描器安裝、使用
- 如何使用evilscan 掃描網路
- Win10怎麼使用掃描器功能 win10使用掃描功能的方法Win10