今天有一個 SQL 執行不出來, 會有 hung 的情況.
第一個反應當然是查是否有 lock 的情況 => 沒有, 所以改查 wait, 看見在讀檔案.
select p1text,p1,p2text,p2,p3text,p3 from v$session where sid=438 P1,P2,P3 的意思就在P(1-3)TEXT 有說明. |
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 |
全站熱搜