索引的数据结构:b-tree(balance tree 平衡树)
1.[color=red]dump索引结构命令[/color]
11869(object_id):
INX_TT1(索引名):需大写
2.[color=red]dump后,文件存放目录查询 [/color]
3.[color=red]查询当前sessionID[/color]
4.[color=red]根据sessionID查询为这个session服务的进程地址[/color]
5.[color=red]根据进程地址查询进程ID[/color]
6.根据进程ID查看在2处所在目录下,尾数和进程ID相同的文件,即1处的dump文件。
7.[color=red]打开6处所查看的文件,根据leaf的十进制数(leafAddress10),
查询索引所处的文件ID和数据块儿ID[/color]
8.[color=red]因为索引也是个段,因此可以根据下述SQL查询段信息[/color]
9.[color=red]根据文件编号(fno)和块儿编号(bno),dump索引信息[/color]
10.[color=red]纵上分析(将索引信息转为二进制后与rowid对比),索引保存的是rowid的后三位(fno,bno,rno)[/color]
1.[color=red]dump索引结构命令[/color]
alter session set events 'immediate trace name treedump level 11869';
11869(object_id):
select object_id from dba_objects where object_name = 'INX_TT1';
INX_TT1(索引名):需大写
2.[color=red]dump后,文件存放目录查询 [/color]
show parameter user⇒user_dump_dest
3.[color=red]查询当前sessionID[/color]
select distinct sid from v$mystat;
4.[color=red]根据sessionID查询为这个session服务的进程地址[/color]
select paddr from v$session where sid = :sessionID;
5.[color=red]根据进程地址查询进程ID[/color]
select spid from v$process where addr=:paddr;
6.根据进程ID查看在2处所在目录下,尾数和进程ID相同的文件,即1处的dump文件。
7.[color=red]打开6处所查看的文件,根据leaf的十进制数(leafAddress10),
查询索引所处的文件ID和数据块儿ID[/color]
文件ID:select dbms_utility.data_block_address_file(:leafAddress10) from dual;
块儿ID:select dbms_utility.data_block_address_block(:leafAddress10) from dual;
8.[color=red]因为索引也是个段,因此可以根据下述SQL查询段信息[/color]
select * from dba_extents where seqment_name='IDX_TT1'
9.[color=red]根据文件编号(fno)和块儿编号(bno),dump索引信息[/color]
alter system dump datafile :fno block :bno
10.[color=red]纵上分析(将索引信息转为二进制后与rowid对比),索引保存的是rowid的后三位(fno,bno,rno)[/color]