今天有一個 SQL 執行不出來, 會有 hung 的情況.
第一個反應當然是查是否有 lock 的情況 => 沒有, 所以改查 wait, 看見在讀檔案.

select p1text,p1,p2text,p2,p3text,p3 from v$session where  sid=438
--file#,1,block#,32415,blocks,1

P1,P2,P3 的意思就在P(1-3)TEXT 有說明.
意思是 : 正在讀取 P1 檔案的第 P2 的 block, 且讀取 P3 個 block. 將值套進去就是正在讀 P1 檔案的第 32415 block 起一個 block.

SELECT * FROM v$session_event WHERE sid=451 and event='db file sequential read'

 

 

接著看是在讀什檔案? 怎會是系統的檔案.

SELECT tablespace_name, file_name FROM dba_data_files WHERE file_id = 1
--SYSTEM,/dbdata/ERP/system01.dbf



接這看是哪一個 table.

SELECT owner , segment_name , segment_type FROM dba_extents 
WHERE file_id = 1 AND 32415 BETWEEN block_id AND block_id + blocks -1
--SYS,HIST_HEAD$,TABLE
全站熱搜
創作者介紹
創作者 py3939 的頭像
py3939

老爹寫程式

py3939 發表在 痞客邦 留言(0) 人氣()