什麼是DUMP: 美[dand;mp] 轉貯;轉存;轉貯資料 (記憶體資訊)轉貯,轉存 DUMP是一個動詞,它代表一種操作,說的
什麼是DUMP: 美[d∧mp] 轉貯;轉存;轉貯資料 (記憶體資訊)轉貯,轉存
DUMP是一個動詞,它代表一種操作,說的簡單一點,,拿記憶體舉例,就是原封不動的把某一片記憶體給展現出來。拿跟蹤舉例,就是它原始的展示了Oracle處理某個問題的過程。
大家在學習研究Oracle的過程中,為了更深入的了解内部的機制,免不了要經常DUMP來研究學習。
Oracle 11g的Trace檔案存放路徑:oracle\diag\rdbms\**\**\trace
1、DUMP出控制檔案
alter system (session) set events 'immediate trace name controlf level 10'
—————————————————————————————
2、DUMP出日志檔案分析
alter system dump logfile logfilename;
—————————————————————————————
3、DUMP出日志檔案頭分析
alter session set events 'immediate trace name REDOHDR level 10'
———————————————————————————
4、DUMP出LIBRARY CACHE
alter system (session) set events 'immediate trace name library_cache level 10'
—————————————————————————————
5、 DUMP出share_pool
alter system (session) set events 'immediate trace name heapdump level 10'
———————————————————————————
6、DUMP出所有資料檔案頭
alter system (session) set events 'immediate trace name file_hdrs level 10';
———————————————————————————
7、DUMP出資料檔案(隻能是alter system)
alter system dump datafile n block m
如
select file_id,block_id,blocks from dba_extents where segment_name='EMPLOYEES'
FILE_ID BLOCK_ID BLOCKS
---------- ---------- ------------------
5 81 8
SQL>alter system dump datafile 5 block 81;
System altered.
另外是做很具體的針對某行所在的BLOCK 并DUMP出來研究,可以用如下方法
1、取BLOCK号
select dbms_rowid.rowid_block_number(rowid) from wdjk1999;
DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
78
2、取檔案号
select file_id from dba_data_files where tablespace_name='WDJK1999'
FILE_ID
----------
16
SQL>alter system dump datafile 16 block 78;
System altered.
—————————————————————————
8、DUMP出索引
SQL> select object_id from dba_objects where object_name=upper('index_name');
OBJECT_ID
----------
70591
SQL> alter session set events 'immediate trace name TREEDUMP level 70591';
—————————————————————————————

本文原創釋出php中文網,轉載請注明出處,感謝您的尊重!