Oracle中DUMP的轉儲方法
什麼是DUMP:
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';
—————————————————————————————
9、DUMP出回滾段資訊
select xidusn,xidslot,xidsqn,ubafil,ubablk,ubasqn,ubarec from v$transaction;
XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBASQN UBAREC
----------- ------------ ------------ ---------- ------------ ------------ -------------
1 31 442 2 21 242 52
dump對應的undo block
system dump datafile 2 block 21;
System altered.
——————————————————————————
10、 DUMP出系統狀態分析 (只能是SYSTEM)
alter system set events 'immediate trace name systemdate level 10'
——————————————————————————
11、 DUMP出程式狀態分析
alter session set events 'immediate trace name PROCESSSTATE level 10'
附:
event的定義:event = event_name + action。
首先,這裡的event name是一個event的名字或者是event的程式碼。如果event name不是“immediate”,那麼oracle解析器會在event name table中找到這個event。關於immediate event,它是一個特殊的event,它顯示一個立即的無條件的event,它不會等待其他人去提交它而是立即執行。
action是由一個action keyword和一個或者多個qualifier(值)組成。
action keyword是如下三個值:
crash:它會引起一個oracle crash,一般是為了測試recovery的時候才用它。
debugger:呼叫一個系統的debugger。(invokes a system debugger if any)
trace:is context specific or named context-independent ones。
crash和debugger這兩個值一般是oracle的核心開發人員使用。我們這裡只討論trace的情況。
這裡有必要解釋一下
trace qualifiers的含義分別是:
“forever”:表示這個trace一旦設定,每當這個event發生的時候,就啟用這個trace。
“off”:表示對這個event關閉這個trace。
“level
綜上所述,event可大概的如下表示為:
event_name CRASH ....
event_name DEBUGGER ....
event_name TRACE NAME trace_name|CONTEXT [ FOREVER|OFF|LEVEL
這個裡面“|”表示“或者”,“[]”表示出現一次或者多次。
轉載自:http://space.itpub.net/?uid-28673746-action-viewspace-itemid-757995
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/438414/viewspace-758113/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle之 如何 dump logfileOracle
- 把 var_dump 的結果儲存進同名 log 檔案的方法
- [轉載]fsdb dump技巧
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- Oracle儲存過程編譯卡死的解決方法Oracle儲存過程編譯
- Oracle redo解析之-2、BBED & DUMP工具使用Oracle Redo
- oracle中多列轉行Oracle
- Oracle 編譯儲存過程卡死解決方法Oracle編譯儲存過程
- [20190930]oracle number型別儲存轉化指令碼.txtOracle型別指令碼
- [20191003]oracle number型別儲存轉化指令碼.txtOracle型別指令碼
- [20191013]oracle number型別儲存轉化指令碼.txtOracle型別指令碼
- oracle中執行os命令(轉)Oracle
- Oracle儲存過程中跳出迴圈的寫法Oracle儲存過程
- 將 symfony 的 dump server 適配到 Yii中Server
- oracle的儲存過程Oracle儲存過程
- Oracle中獲取TABLE的DDL語句的方法Oracle
- oracle資料庫瘋狂生成dump把目錄撐滿Oracle資料庫
- 效能監控之常見 Java Heap Dump 方法Java
- OC中Class怎麼儲存方法
- Sqlsugar呼叫Oracle的儲存過程SqlSugarOracle儲存過程
- 轉儲活動目錄資料庫憑證的方法總結資料庫
- 列印QObject 對應的QMetaObject中儲存的方法資訊Object
- Oracle優化的方法Oracle優化
- Oracle儲存過程Oracle儲存過程
- 有效的儲存的方法
- Oracle 10g(10.1.0.2)中的OPTIMIZER_INDEX_COST_ADJ(轉)Oracle 10gIndex
- Oracle 資料庫 10g中的分割槽功能(轉)Oracle資料庫
- 【RECO_ORACLE】Oracle閃回PDB的方法Oracle
- Oracle儲存過程中定義多個遊標Oracle儲存過程
- javascript中將數字轉為字串的方法JavaScript字串
- ORACLE TEXT(轉)Oracle
- ORACLE EVENTS(轉)Oracle
- Oracle Partitioning(轉)Oracle
- ORACLE DSI(轉)Oracle
- Oracle 轉MySqlOracleMySql
- win10藍屏dump分析方法_win10藍屏dump檔案怎麼看異常Win10
- Oracle中REGEXP_SUBSTR函式(字串轉多行)Oracle函式字串
- 7.81 DUMP
- Python中dumps, loads dump, load用法詳解Python