使用bbed模拟delete提交操作

--session 1

TEST@ orcl >create table tt(id int,name varchar2(100));
Table created.
TEST@ orcl >insert into tt values(1,'AAAAA');
1 row created.
TEST@ orcl > insert into tt values(2,'BBBBB');
1 row created.
TEST@ orcl >insert into tt values(3,'CCCCC');
1 row created.
TEST@ orcl >COMMIT;
Commit complete.
TEST@ orcl > alter system flush buffer_cache;
System altered.
TEST@ orcl > select rowid,id,name,DBMS_ROWID.ROWID_RELATIVE_FNO(rowid) file#,DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid) block# from test.tt;
ROWID ID NAME FILE# BLOCK#
------------------ ---------- -------------------- ---------- ----------
AAAVW0AAFAAAAi3AAA 1 AAAAA 5 2231
AAAVW0AAFAAAAi3AAB 2 BBBBB 5 2231
AAAVW0AAFAAAAi3AAC 3 CCCCC 5 2231
TEST@ orcl >alter system checkpoint;
System altered.
TEST@ orcl > alter system dump datafile 5 block 2231;
System altered.
TEST@ orcl >select * from v$diag_info where name='Default Trace File';
INST_ID NAME VALUE
---------- -------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 Default Trace File /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_18408.trc
TEST@ orcl >select * from tt;
ID NAME
---------- --------------------
1 AAAAA
2 BBBBB
3 CCCCC

dump的结果

--session 1执行删除操作

TEST@ orcl >delete from tt where name='AAAAA';
1 row deleted.
TEST@ orcl > select * from tt;
ID NAME
---------- --------------------
2 BBBBB
3 CCCCC

--session2执行操作

SQL> alter system checkpoint;
System altered.
SQL> alter system flush buffer_cache;
System altered.
SQL> alter system flush shared_pool;
System altered.
SQL> alter system dump datafile 5 block 2231;
System altered.
SQL> select * from v$diag_info where name='Default Trace File';
INST_ID NAME
---------- ----------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
1 Default Trace File
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_22529.trc
SQL> alter system dump datafile 5 block 2231;
System altered.
SQL> select * from v$diag_info where name='Default Trace File';
INST_ID NAME
---------- ----------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
1 Default Trace File
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_22529.trc

dump结果

--session 3 bbed会话

BBED>  set file 5 block 2231
FILE# 5
BLOCK# 2231
BBED> p ktbbh
struct ktbbh, 72 bytes @20
ub1 ktbbhtyp @20 0x01 (KDDBTDATA)
union ktbbhsid, 4 bytes @24
ub4 ktbbhsg1 @24 0x000155b4
ub4 ktbbhod1 @24 0x000155b4
struct ktbbhcsc, 8 bytes @28
ub4 kscnbas @28 0x0092cb9b
ub2 kscnwrp @32 0x0000
sb2 ktbbhict @36 2
ub1 ktbbhflg @38 0x32 (NONE)
ub1 ktbbhfsl @39 0x00
ub4 ktbbhfnx @40 0x014008b0
struct ktbbhitl[], 24 bytes @44
struct ktbitxid, 8 bytes @44
ub2 kxidusn @44 0x000a
ub2 kxidslt @46 0x000b
ub4 kxidsqn @48 0x00004456
struct ktbituba, 8 bytes @52
ub4 kubadba @52 0x00c002d8
ub2 kubaseq @56 0x0175
ub1 kubarec @58 0x08
ub2 ktbitflg @60 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @62
sb2 _ktbitfsc @62 0
ub2 _ktbitwrp @62 0x0000
ub4 ktbitbas @64 0x0092cb3d
struct ktbbhitl[], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0008
ub2 kxidslt @70 0x0011
ub4 kxidsqn @72 0x000078b4
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x00c00397
ub2 kubaseq @80 0x017e
ub1 kubarec @82 0x1d
ub2 ktbitflg @84 0x0001 (NONE)
union _ktbitun, 2 bytes @86
sb2 _ktbitfsc @86 10
ub2 _ktbitwrp @86 0x000a
ub4 ktbitbas @88 0x00000000

bbed执行修改

BBED> m /x 0080 offset 84
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /u01/app/oracle/oradata/orcl/test01.dbf (5)
Block: 2231 Offsets: 84 to 595 Dba:0x014008b7
------------------------------------------------------------------------
00800a00 00000000 00000000 00000000 00010300 ffff1800 741f5c1f 681f0000
03008c1f 801f741f c21db41e 770b6e0c 480d240e 1d0f2510 21110312 1513f013 <32 bytes per line>
BBED> sum apply
Check value for File 5, Block 2231:
current = 0x1761, required = 0x1761

再次查看

BBED> p ktbbh
struct ktbbh, 72 bytes @20
ub1 ktbbhtyp @20 0x01 (KDDBTDATA)
union ktbbhsid, 4 bytes @24
ub4 ktbbhsg1 @24 0x000155b4
ub4 ktbbhod1 @24 0x000155b4
struct ktbbhcsc, 8 bytes @28
ub4 kscnbas @28 0x0092cb9b
ub2 kscnwrp @32 0x0000
sb2 ktbbhict @36 2
ub1 ktbbhflg @38 0x32 (NONE)
ub1 ktbbhfsl @39 0x00
ub4 ktbbhfnx @40 0x014008b0
struct ktbbhitl[], 24 bytes @44
struct ktbitxid, 8 bytes @44
ub2 kxidusn @44 0x000a
ub2 kxidslt @46 0x000b
ub4 kxidsqn @48 0x00004456
struct ktbituba, 8 bytes @52
ub4 kubadba @52 0x00c002d8
ub2 kubaseq @56 0x0175
ub1 kubarec @58 0x08
ub2 ktbitflg @60 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @62
sb2 _ktbitfsc @62 0
ub2 _ktbitwrp @62 0x0000
ub4 ktbitbas @64 0x0092cb3d
struct ktbbhitl[], 24 bytes @68
struct ktbitxid, 8 bytes @68
ub2 kxidusn @68 0x0008
ub2 kxidslt @70 0x0011
ub4 kxidsqn @72 0x000078b4
struct ktbituba, 8 bytes @76
ub4 kubadba @76 0x00c00397
ub2 kubaseq @80 0x017e
ub1 kubarec @82 0x1d
ub2 ktbitflg @84 0x8000 (KTBFCOM)
union _ktbitun, 2 bytes @86
sb2 _ktbitfsc @86 10
ub2 _ktbitwrp @86 0x000a
ub4 ktbitbas @88 0x00000000
BBED> p *kdbr[]
rowdata[]
-----------
ub1 rowdata[] @8176 0x3c ###状态为3c,标记已经删除 BBED> x/rncccccc
rowdata[] @8176
-----------
flag@8176: 0x3c (KDRHFL, KDRHFF, KDRHFD, KDRHFH)
lock@8177: 0x02
cols@8178: 0
BBED> dump /v offset 8176 count 20
File: /u01/app/oracle/oradata/orcl/test01.dbf (5)
Block: 2231 Offsets: 8176 to 8191 Dba:0x014008b7
-------------------------------------------------------
3c020202 c1020541 41414141 01069bcb l <...

06 使用bbed提交delete的数据--01的更多相关文章

  1. 06 使用bbed修复delete的数据--01

    06 使用bbed修复delete的数据--01 根据rowid查看数据文件和block号 SYS@ orcl ; ROWID ID NAME FILE# BLOCK# --------------- ...

  2. 06 使用bbed修复update的数据--01

    场景1 表t3 SQL> select * from t3; ID NAME ---------- -------------------- aaa bbbb SQL> update t3 ...

  3. 【Oracle】使用bbed恢复delete的数据

    表中的数据被delete之后并不会真正删除数据,而是打了一个删除标记,仅仅要还没有被覆盖就能够恢复回来. 实验步骤例如以下: SYS@ORCL>create table bbed_test(x  ...

  4. 使用bbed编辑研究oracle数据块结构

    bbed是随oracle软件公布的一款数据块查看和编辑工具,作为一款内部工具.bbed的功能很强大,可是假设使用不当可能给数据库造成无法挽回的损失.因此.我们建议在使用bbed改动数据块前备份被改动的 ...

  5. 提交JSON修改数据

    提交JSON修改数据 设计目标: 1)可以一次性提交多个表的修改数据 2)跨语言.跨平台 { "deltas": [ { "table": "tuni ...

  6. 使用ajax提交的json数据,产生筹码问题

    使用ajax提交的json数据,我们必须添加produces注解,如下所示.否则将会产生乱码 方法一:添加produces注解 @ApiOperation(value = "删除日志&quo ...

  7. WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案

    近日在使用wcf的restfull架构服务时遭遇到了提交大数据的问题. 大数据包含两种情形: 1)单条数据量过大. 2)提交或获取的数据条数过多. 在测试时发现,默认设置下当单条JSON数据大于30K ...

  8. checkbox提交多组数据到action

    突然想通过checkbox来提交多组数据到action,一时间想不起来怎么写,到网上流岚大婶们的笔迹之后,有了新发现! 方法一: 在action用一个String类型的变量来接受checkbox传过来 ...

  9. PHP 表单提交多行数据,显示多个submit

    echo "<table border=1 class="imagetable" >"; //使用表格格式化数据echo "<for ...

随机推荐

  1. 浅析DES、AES、RSA、MD5加密算法及其应用场景

    对称加密算法DES 算法:一种典型的块加密方法,将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位.同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的 ...

  2. CentOS7.6中 KVM虚拟机内存、CPU调整

    CentOS7.6中 KVM虚拟机内存.CPU调整 一.调小虚拟机内存 调小虚拟机内存可以动态实现,不用关机 1.查看当前内存大小 [root@heyong kvm]# virsh dominfo t ...

  3. 求助高手,Nginx配置二级域名跳转 地址栏不变咋处理?

      做域名镜像的rewrite即可rewrite ^/(.*)$ http://二级域名/$1 last;

  4. 大数据数据库HBase(二)——搭建与JavaAPI

    一.搭建 1.选择一台没有ZK的机器(HBase自带ZK,可能会导致冲突) 2.选择版本2.0.5的HBase 3.解压HBase2.0.5 4.配置HBase的HBASE_HOME和path 5.修 ...

  5. VB中输入函数InputBox的用法

    格式:InputBox(pronpt[,title][,default][,xpos,ypos]).其中的pronpt为窗口的提示词,title为输入窗口的标题,default为输入窗口的默认内容,x ...

  6. VB中RaiseEvent语句的功能及用法

    Creat a new class named Class1, it's codes like this: Public Event MyEvent() Public Sub RaiseTheEven ...

  7. 3.docker镜像管理基础

    一.docker镜像相关 1.About Docker Image Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器. 采用分层构建机制,最底层为bootf ...

  8. 最简单的注册美区Apple ID方法

    最简单方法注册苹果美区Apple ID 1.打开苹果官网链接 苹果官网 2. 点击右下角的 United States 3. 点击图片中的选项 4.点击右上角的选项创建新的Apple ID 注意是新的 ...

  9. ESP8266的使用学习

     ESP8266-01  ESP8266-12F简介 让灯闪烁    ESP8266-中断   模拟输入(ADC-A0)  模拟输出(PWM)  串口通信(Serial)    EEPROM类库的使用 ...

  10. 关闭DELPHI 欢迎页

    打开注册表 HKEY_CURRENT_USER\Software\Embarcadero\BDS\20.0\Known IDE Packages(20.0为版本号) 将$(BDS)\Bin\start ...