千家信息网

oracle-BBED的使用

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,bbed是oracle内部一款用来直接查看和修改数据文件数据的工具,可以直接修改Oracle数据文件块的内容,在一些特殊恢复场景下比较有用。字节顺序AIX对应的CPU Power系列叫大端英特尔对应的
千家信息网最后更新 2024年11月19日oracle-BBED的使用
bbed是oracle内部一款用来直接查看和修改数据文件数据的工具,可以直接修改Oracle数据文件块的内容,在一些特殊恢复场景下比较有用。


字节顺序

AIX对应的CPU Power系列叫大端

英特尔对应的CPU 叫小端


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

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




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.


0