千家信息网

关于转储Oracle索引信息的相关命令

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,#版本 Oracle 11g1、转储索引信息在获得索引Object_id后,执行以下命令ALTER SESSION SET EVENTS 'immediate trace name TREEDUMP
千家信息网最后更新 2024年10月27日关于转储Oracle索引信息的相关命令#版本 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步查找出来的

0