首页 > 数据库 > Oracle > 通过dbms_utility实现对rdba的转换
1、Dump block得到rdba
Sql> alter system dump datafile 7 block min 12 block max 12;
Start dump data blocks tsn: 8 file#: 7 minblk 12 maxblk 12
buffer tsn: 8 rdba: 0x01c0000c (7/12)
2、通过rdba得到块所在的数据文件及块的编号。
Select to_number('01c0000c','xxxxxxxxxxxxxxxxxx') from dual;
29360140
得到文件编号:
SQL> select dbms_utility.data_block_address_file(29360140) from dual;
DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(29360140)
----------------------------------------------
7
得到块编号:
SQL> select dbms_utility.data_block_address_block(29360140) from dual;
DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK(29360140)
-----------------------------------------------
12
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/56630/viewspace-1036778/ ,如需转载,请注明出处,否则将追究法律责任。