查看数据库表对象的对应块信息

在使用BBED修改数据块,或者其他情况,需要查看数据库对象对应的物理文件及数据块时,可使用dbms_rowid函数进行查询。测试:

首先我这有一张10行的表

SQL> desc lzl
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PHONE_NUMBER                                       VARCHAR2(20)
 MANAGER_ID                                         NUMBER(6)

SQL> select * from lzl;

PHONE_NUMBER         MANAGER_ID
-------------------- ----------
650.507.9833                124
650.507.9833                124
650.507.9833                124
650.507.9844                124
515.123.4444                101
515.123.5555                100
603.123.6666                201
515.123.7777                101
515.123.8888                101
515.123.8080                101

10 rows selected.

比如我要查询manager_id为201这行记录的存储信息。

SQL> select dbms_rowid.rowid_block_number(rowid),dbms_rowid.rowid_relative_fno(rowid) from lzl where manager_id=201;

DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID)
------------------------------------ ------------------------------------
                               79002                                    1
1号数据文件的79002块。

用BBED查看是否是这个数据。将bbed指向该块,dump:

…………………………………………略

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 00000000 00000000 00000000 00000000 00000000 002c0002 0c353135 2e313233
 2e383038 3003c202 022c0002 0c353135 2e313233 2e383838 3803c202 022c0002
 0c353135 2e313233 2e373737 3703c202 022c0002 0c363033 2e313233 2e363636
 3603c203 022c0002 0c353135 2e313233 2e353535 3502c202 2c00020c 3531352e
 3132332e 34343434 03c20202 2c00020c 3635302e 3530372e 39383434 03c20219
 2c00020c 3635302e 3530372e 39383333 03c20219 2c00020c 3635302e 3530372e
 39383333 03c20219 2c00020c 3635302e 3530372e 39383333 03c20219 0106c286
SQL> select dump('6666',1016) from dual;

DUMP('6666',1016)
-----------------------------------------------
Typ=96 Len=4 CharacterSet=US7ASCII: 36,36,36,36

字符类型的6666的16进制码为36363636.

在bbed中find /c 6666

BBED> find /c 6666
 File: /u01/oradata/test/system01.dbf (1)
 Block: 79002            Offsets: 8061 to 8191           Dba:0x0041349a
------------------------------------------------------------------------
 36363636 03c20302 2c00020c 3531352e 3132332e 35353535 02c2022c 00020c35
 31352e31 32332e34 34343403 c202022c 00020c36 35302e35 30372e39 38343403
 c202192c 00020c36 35302e35 30372e39 38333303 c202192c 00020c36 35302e35
 30372e39 38333303 c202192c 00020c36 35302e35 30372e39 38333303 c2021901
 06c286

在偏移量8061处。

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7969839/viewspace-697219/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7969839/viewspace-697219/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值