[20161124]bbed使用问题.txt

简介: [20161124]bbed使用问题.txt --最近一致在使用bbed探究oracle数据库,遇到一些问题做一些记录。 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION  ...

[20161124]bbed使用问题.txt

--最近一致在使用bbed探究oracle数据库,遇到一些问题做一些记录。

1.环境:
SCOTT@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

CREATE TABLESPACE SUGAR DATAFILE
  '/mnt/ramdisk/book/sugar01.dbf' SIZE 40M AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

SCOTT@book> create table t4 tablespace sugar select rownum id ,lpad('A',32,'A') name from dual connect by level<=1e5;
Table created.

SCOTT@book> column PARTITION_NAME noprint
SCOTT@book> select * from dba_extents where owner=user and segment_name='T4';
OWNER  SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME  EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS RELATIVE_FNO
------ ------------ ------------ --------------- ---------- ---------- ---------- ---------- ---------- ------------
SCOTT  T4           TABLE        SUGAR                    0          6        128      65536          8            6
SCOTT  T4           TABLE        SUGAR                    1          6        136      65536          8            6
SCOTT  T4           TABLE        SUGAR                    2          6        144      65536          8            6
SCOTT  T4           TABLE        SUGAR                    3          6        152      65536          8            6
SCOTT  T4           TABLE        SUGAR                    4          6        160      65536          8            6
SCOTT  T4           TABLE        SUGAR                    5          6        168      65536          8            6
SCOTT  T4           TABLE        SUGAR                    6          6        176      65536          8            6
SCOTT  T4           TABLE        SUGAR                    7          6        184      65536          8            6
SCOTT  T4           TABLE        SUGAR                    8          6        192      65536          8            6
SCOTT  T4           TABLE        SUGAR                    9          6        200      65536          8            6
SCOTT  T4           TABLE        SUGAR                   10          6        208      65536          8            6
SCOTT  T4           TABLE        SUGAR                   11          6        216      65536          8            6
SCOTT  T4           TABLE        SUGAR                   12          6        224      65536          8            6
SCOTT  T4           TABLE        SUGAR                   13          6        232      65536          8            6
SCOTT  T4           TABLE        SUGAR                   14          6        240      65536          8            6
SCOTT  T4           TABLE        SUGAR                   15          6        248      65536          8            6
SCOTT  T4           TABLE        SUGAR                   16          6        256    1048576        128            6
SCOTT  T4           TABLE        SUGAR                   17          6        384    1048576        128            6
SCOTT  T4           TABLE        SUGAR                   18          6        512    1048576        128            6
SCOTT  T4           TABLE        SUGAR                   19          6        640    1048576        128            6
20 rows selected.

SCOTT@book> select SEGMENT_NAME,HEADER_FILE,HEADER_BLOCK,BYTES,BLOCKS,EXTENTS from dba_segments where owner=user and segment_name='T4';
SEGMENT_NAME         HEADER_FILE HEADER_BLOCK      BYTES     BLOCKS    EXTENTS
-------------------- ----------- ------------ ---------- ---------- ----------
T4                             6          130    5242880        640         20

--从这里看出段头位于130块是PAGETABLE SEGMENT HEADER,而前面的128,129块是1级,2级是FIRST LEVEL BITMAP BLOCK,SECOND LEVEL BITMAP BLOCK。


2.而bbed是无法识别这些块的,当访问这些块时出现如下提示。

BBED> set dba 6,128
        DBA             0x01800080 (25165952 6,128)

BBED> map /v
File: /mnt/ramdisk/book/sugar01.dbf (6)
Block: 128                                   Dba:0x01800080
------------------------------------------------------------
BBED-00400: invalid blocktype (32)

SCOTT@book> select rowid,t4.id from t4 where id=1;
ROWID                      ID
------------------ ----------
AAAVwFAAGAAAACDAAA          1

SCOTT@book> @ &r/rowid AAAVwFAAGAAAACDAAA
    OBJECT       FILE      BLOCK        ROW ROWID_DBA            DBA                  TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
     89093          6        131          0  0x1800083           6,131                alter system dump datafile 6 block 131 ;

SCOTT@book> update t4 set name=upper(name) where id=1;
1 row updated.

SCOTT@book> commit ;
Commit complete.

--//这样块131,132的scn号不一样。
    
3.我遇到的问题。我的设置已经建立了listfile文件。如果你执行bbed,马上输入show all,结果如下:
BBED> show all
        FILE#           1
        BLOCK#          1
        OFFSET          0
        DBA             0x00400001 (4194305 1,1)
        FILENAME        /mnt/ramdisk/book/system01.dbf
        BIFILE          bifile.bbd
        LISTFILE        /home/oracle/bbed/filelist.txt
        BLOCKSIZE       8192
        MODE            Edit
        EDIT            Unrecoverable
        IBASE           Dec
        OBASE           Dec
        WIDTH           160
        COUNT           64
        LOGFILE         log.bbd
        SPOOL           Yes

--实际上我的测试无论/home/oracle/bbed/filelist.txt中/mnt/ramdisk/book/system01.dbf在哪一行,执行都是像上面那样。

--显示P命令的执行方式:
BBED> help p
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]

--如果我执行如下:
BBED> p tailchk dba 6,131
ub4 tailchk                                 @8188     0x70200602

BBED> p tailchk dba 6,128
BBED-00400: invalid blocktype (32)


BBED> p tailchk dba 6,131
BBED-00400: invalid blocktype (32)

--很明显第2次我再执行p tailchk dba 6,131,出现错误,从invalid blocktype (32)提示看访问的是dba=6,128.
--而这样执行就没有问题了。

BBED> p  dba 6,131 tailchk
ub4 tailchk                                 @8188     0x70200602

BBED> p tailchk dba 6,132
ub4 tailchk                                 @8188     0x6d8e0602

--从显示结果看,这2种执行方式是等价的,但是当先访问了bbed无法识别的块。再执行p tailchk dba 6,132这种方式就报错。

BBED> p  dba 6,128 tailchk
BBED-00400: invalid blocktype (32)

BBED> show
        FILE#           6
        BLOCK#          128
        OFFSET          8188
        DBA             0x01800080 (25165952 6,128)
        FILENAME        /mnt/ramdisk/book/sugar01.dbf
        BIFILE          bifile.bbd
        LISTFILE        /home/oracle/bbed/filelist.txt
        BLOCKSIZE       8192
        MODE            Edit
        EDIT            Unrecoverable
        IBASE           Dec
        OBASE           Dec
        WIDTH           160
        COUNT           64
        LOGFILE         log.bbd
        SPOOL           Yes

BBED> p  dba 6,131 tailchk
ub4 tailchk                                 @8188     0x70200602

--看来在bbed执行时dba 之类的要写在前面,避免这种错误。

目录
相关文章
|
Oracle 关系型数据库 数据库管理
[20180619]bbed verify问题.txt
[20180619]bbed verify问题.txt --//记录一下自己一个多年的错误. 1.环境: SCOTT@test01p> @ ver1 PORT_STRING                    VERSION        BANNER   ...
1285 0
|
关系型数据库 Oracle Linux
[20180321]ORA-08180.txt
[20180321]ORA-08180.txt $ oerr ora 08180 08180, 00000, "no snapshot found based on specified time" // *Cause: Could not match the time to an SCN from the mapping table.
1297 0
|
数据库管理
[20180205]使用bbed相关问题.txt
[20180205]使用bbed相关问题.txt --//上个星期5使用bbed修改块遇到一些问题,做一个记录: 1.环境: SCOTT@book> @ ver1 PORT_STRING                    VERSION       ...
964 0
|
Oracle 关系型数据库 数据库管理
[20171124]bbed的使用问题2.txt
[20171124]bbed的使用问题2.txt --//bbed 是探究oracle数据块的好工具,有时候不用转储,直接可以它看oracle内部块的内部结构. --//在使用中要注意一些问题,昨天又犯类似错误,通过例子来说明: SCOTT@book> select rowid,dept.
1277 0
|
关系型数据库 Oracle Linux
[20170628]12C ORA-54032.txt
[20170628]12C ORA-54032.txt https://hourim.wordpress.com/2017/06/24/ora-54032-column-to-be-renamed-is-used-in-a-virtual-column-expres...
1460 0
|
SQL 网络协议 Oracle
[20170419]ora-28547.txt
[20170419]ora-28547.txt --//测试环境,莫名奇妙使用toad登陆出现如下错误(使用ezconnect方式)。 ORA-28547: connection to server failed, probable Oracle Net adm...
1412 0
[20160910]sqlldr使用问题.txt
[20160910]sqlldr使用问题.txt http://www.itpub.net/thread-2067126-1-1.html CREATE TABLE "SCOTT".
843 0
|
Oracle 关系型数据库 数据库管理
[20160325]bbed是否有4G的限制.txt
[20160325]bbed是否有4G的限制.txt http://www.itpub.net/thread-2053982-1-1.html --前一段时间,我想使用bbed查看某个块的信息,我发现如果我访问的操作在4G之外就出现问题。
758 0
|
数据库管理 关系型数据库 Oracle
[20160405]bbed的assign命令.txt
[20160405]bbed的assign命令.txt --我记得开始学习bbed的时候,看的是一份pdf文档,提到assign的用法,摘要如下: assign The assign command does symbolic assignment, with type and range checking.
945 0
|
Oracle 关系型数据库 Linux
[20160202]crosscheck archivelog all.txt
[20160202]crosscheck archivelog all.txt --当使用crosscheck archivelog all检查时注意一个细节,通过例子来说明: 1.
986 0