#版本 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来查询生成的文件名
-
SELECT C.VALUE || '/' || '_ora_' || A.SPID || '.trc' TRACE_NAME_FILE
-
FROM V$PROCESS A, V$SESSION B, V$PARAMETER C
-
WHERE A.ADDR = B.PADDR
-
AND B.AUDSID = USERENV('sessionid')
-
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步查找出来的
分享文章:关于转储Oracle索引信息的相关命令
转载来源:
http://cqcxhl.com/article/ippjgs.html