oracle-BBED的使用

bbed是oracle内部一款用来直接查看和修改数据文件数据的工具,可以直接修改Oracle数据文件块的内容,在一些特殊恢复场景下比较有用。


字节顺序

AIX对应的CPU  Power系列叫大端

英特尔对应的CPU  叫小端


前一种规则--最低有效字节在最前面的方式,称为小端法(little endian)。

后一种规则--最高有效字节在最前面的方式,称为大端法(big endian)。


oracle-BBED的使用



SQL> desc v$database;

SQL> select dbid,name from v$database;

      DBID NAME

---------- ---------

2826565105 MYDB

SQL> 

查看机器类型

SQL> select d.PLATFORM_NAME,ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, v$DATABASE d WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

PLATFORM_NAME

--------------------------------------------------------------------------------

ENDIAN_FORMAT

--------------

Linux x86 64-bit

Little

小段的,是倒叙。要把f1f579a8 两个两个转换出来。


通过BBED把dbid和dbname解析出来     

SQL> select to_number('a879f5f1','xxxxxxxxxxxxxxxxxxxx') from dual;

TO_NUMBER('A879F5F1','XXXXXXXXXXXXXXXXXXXX')

--------------------------------------------

                                  2826565105

SQL>   select chr(to_number(substr('4d59444200000000',2*rownum-1,2),'xxxxxxxx')) from dba_objects where rownum<=8;

CH

--

M

Y

D

B

8 rows selected.