關於轉儲Oracle索引資訊的相關命令

東北胖子發表於2018-04-12
#版本 Oracle 11g
1、轉儲索引資訊
  在獲得索引Object_id後,執行以下命令
  ALTER SESSION SET EVENTS 'immediate trace name TREEDUMP level 76400';  
  其中 76400為索引Object_id

2、檢視儲存檔案生成的位置
  一般存放session追蹤的資訊,使用show parametr user_dump_dest檢視
  也可以透過SQL來查詢生成的檔名      
  1. SELECT C.VALUE || '/' || '_ora_' || A.SPID || '.trc' TRACE_NAME_FILE
  2.       FROM V$PROCESS A, V$SESSION B, V$PARAMETER C
  3.      WHERE A.ADDR = B.PADDR
  4.        AND B.AUDSID = USERENV('sessionid')
  5.        AND C.NAME = 'user_dump_dest'


3、查詢葉子分支/葉子節點對應的資料塊
  select dbms_utility.data_block_address_file(20977549),dbms_utility.data_block_address_block(20977549) from dual;
  其中紅色數字部分是分支/葉子節點十進位制值

  十六進位制轉十進位制
  SELECT to_number('1401979','xxxxxxx') FROM dual;

4、轉儲索引資料塊內容
  alter system dump datafile 5 block 7075;
  其中  數字5 為資料檔案ID,7075為資料庫塊號,都是由第3步查詢出來的

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2317695/viewspace-2152829/,如需轉載,請註明出處,否則將追究法律責任。

相關文章