如何对甲骨文的指数的块进行转储

  

如何对指数的块进行dump-oracle
1,新建一个表测试
SYS@127.0.0.1:1521/oracle12cpdb>创建表测试从dba_objects选择object_id;表创建

2,新建一个表以后,在这个表的列上新建一个索引
SYS@127.0.0.1:1521/oracle12cpdb>创建指数ind_test测试(object_id);
索引创建。
把buffer_cache刷新回磁盘上
SYS@127.0.0.1:1521/oracle12cpdb>改变系统冲洗buffer_cache;
系统改变。
3,通过查询dba_objects表,得到指数的object_id
SYS@127.0.0.1:1521/oracle12cpdb>选择从dba_objects object_id OBJECT_NAME=癐ND_TEST”和OBJECT_TYPE=爸甘?
object_id

  
 <代码> 73204  
  

4,对索引树进行转储,
SYS@127.0.0.1:1521/oracle12cpdb>改变系统设置事件的即时跟踪名称treedump 73204级;
系统改变。
5。查询进程的跟踪文件,得到如下信息;

- - - - - -树开始转储分支:0 x407a51 4225617 (0: nrow: 161,水平:1)
叶:0 x407a52 4225618(1:行:485.485 avs: 823)
叶:0 x407a53 4225619(0:行:479.479 avs: 816)
叶:0 x407a54 4225620(1:行:479.479 avs: 816)
叶:0 x407a55 4225621(2:行:479.479 avs: 816)
叶:0 x407a56 4225622(3:行:479.479 avs: 816)
叶:0 x407a57 4225623(4:行:478.478 avs: 830)
……
结束- - - - - -树转储

  

6,使用dbms_utility找出索引的文件和块号码;
SYS@127.0.0.1:1521/oracle12cpdb>选择dbms_utility.data_block_address_file (4225617), dbms_utility.data_block_address_block从双(4225617),
dbms_utility.data_block_address_file (4225617)

  

DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK (4225617)

  
 <代码> 1
  31313年 
  

7,由以上的查询得知,指数的在文件1中,块为31313年,对这个块进行转储;
SYS@127.0.0.1:1521/oracle12cpdb>改变系统转储功能1块31313;
系统改变。
生成转储文件,通过这个文件就可以知道了索引键和rowid在块上是如何存放了。

如何对甲骨文的指数的块进行转储