关于转储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来查询生成的文件名
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步查找出来的
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步查找出来的
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。