使用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 AAAAA2 BBBBB3 CCCCC

dump的结果

--session 1执行删除操作

TEST@ orcl >delete from tt where name='AAAAA';
1 row deleted.
TEST@ orcl > select * from tt;ID NAME
---------- --------------------2 BBBBB3 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 2231FILE#              5BLOCK#             2231
BBED> p ktbbh
struct ktbbh, 72 bytes                      @20      ub1 ktbbhtyp                             @20       0x01 (KDDBTDATA)union ktbbhsid, 4 bytes                  @24      ub4 ktbbhsg1                          @24       0x000155b4ub4 ktbbhod1                          @24       0x000155b4struct ktbbhcsc, 8 bytes                 @28      ub4 kscnbas                           @28       0x0092cb9bub2 kscnwrp                           @32       0x0000sb2 ktbbhict                             @36       2ub1 ktbbhflg                             @38       0x32 (NONE)ub1 ktbbhfsl                             @39       0x00ub4 ktbbhfnx                             @40       0x014008b0struct ktbbhitl[0], 24 bytes             @44      struct ktbitxid, 8 bytes              @44      ub2 kxidusn                        @44       0x000aub2 kxidslt                        @46       0x000bub4 kxidsqn                        @48       0x00004456struct ktbituba, 8 bytes              @52      ub4 kubadba                        @52       0x00c002d8ub2 kubaseq                        @56       0x0175ub1 kubarec                        @58       0x08ub2 ktbitflg                          @60       0x8000 (KTBFCOM)union _ktbitun, 2 bytes               @62      sb2 _ktbitfsc                      @62       0ub2 _ktbitwrp                      @62       0x0000ub4 ktbitbas                          @64       0x0092cb3dstruct ktbbhitl[1], 24 bytes             @68      struct ktbitxid, 8 bytes              @68      ub2 kxidusn                        @68       0x0008ub2 kxidslt                        @70       0x0011ub4 kxidsqn                        @72       0x000078b4struct ktbituba, 8 bytes              @76      ub4 kubadba                        @76       0x00c00397ub2 kubaseq                        @80       0x017eub1 kubarec                        @82       0x1dub2 ktbitflg                          @84       0x0001 (NONE)union _ktbitun, 2 bytes               @86      sb2 _ktbitfsc                      @86       10ub2 _ktbitwrp                      @86       0x000aub4 ktbitbas                          @88       0x00000000

bbed执行修改

BBED> m /x 0080 offset 84
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) yFile: /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       0x000155b4ub4 ktbbhod1                          @24       0x000155b4struct ktbbhcsc, 8 bytes                 @28      ub4 kscnbas                           @28       0x0092cb9bub2 kscnwrp                           @32       0x0000sb2 ktbbhict                             @36       2ub1 ktbbhflg                             @38       0x32 (NONE)ub1 ktbbhfsl                             @39       0x00ub4 ktbbhfnx                             @40       0x014008b0struct ktbbhitl[0], 24 bytes             @44      struct ktbitxid, 8 bytes              @44      ub2 kxidusn                        @44       0x000aub2 kxidslt                        @46       0x000bub4 kxidsqn                        @48       0x00004456struct ktbituba, 8 bytes              @52      ub4 kubadba                        @52       0x00c002d8ub2 kubaseq                        @56       0x0175ub1 kubarec                        @58       0x08ub2 ktbitflg                          @60       0x8000 (KTBFCOM)union _ktbitun, 2 bytes               @62      sb2 _ktbitfsc                      @62       0ub2 _ktbitwrp                      @62       0x0000ub4 ktbitbas                          @64       0x0092cb3dstruct ktbbhitl[1], 24 bytes             @68      struct ktbitxid, 8 bytes              @68      ub2 kxidusn                        @68       0x0008ub2 kxidslt                        @70       0x0011ub4 kxidsqn                        @72       0x000078b4struct ktbituba, 8 bytes              @76      ub4 kubadba                        @76       0x00c00397ub2 kubaseq                        @80       0x017eub1 kubarec                        @82       0x1dub2 ktbitflg                          @84       0x8000 (KTBFCOM)union _ktbitun, 2 bytes               @86      sb2 _ktbitfsc                      @86       10ub2 _ktbitwrp                      @86       0x000aub4 ktbitbas                          @88       0x00000000

BBED> p *kdbr[0]
rowdata[24]
-----------
ub1 rowdata[24]                             @8176     0x3c ###状态为3c,标记已经删除BBED> x/rncccccc
rowdata[24]                                 @8176
-----------
flag@8176: 0x3c (KDRHFL, KDRHFF, KDRHFD, KDRHFH)
lock@8177: 0x02
cols@8178:    0

BBED> dump /v offset 8176 count 20File: /u01/app/oracle/oradata/orcl/test01.dbf (5)Block: 2231    Offsets: 8176 to 8191  Dba:0x014008b7
-------------------------------------------------------3c020202 c1020541 41414141 01069bcb l <...?.AAAAA...<16 bytes per line>

--sessino 2 再次执行dumpfile

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

--这里的状态已经显示为commit

再开session 查询表tt的数据

---发现别的session会话还在~~~~~貌似修改没起到作用? 但是dump file已经显示为commit了啊~~~~~不解

有参考帖子

http://www.xifenfei.com/2013/03/bbed%E6%A8%A1%E6%8B%9F%E6%8F%90%E4%BA%A4%E4%BA%8B%E5%8A%A1%E4%B8%80%E4%B9%8B%E4%BF%AE%E6%94%B9itl.html

转载于:https://www.cnblogs.com/yhq1314/p/10953566.html

06 使用bbed提交delete的数据--01相关推荐

  1. 使用BBED恢复DELETE的数据

    测试环境请参见 使用BBED手工提交事务 尝试恢复delete的数据: BBED> modify /x 2c offset 5064 File: /data/orcl/orcl/users01. ...

  2. DELETE大批量数据的性能优化

    http://litterbaby.itpub.net/post/16841/276327 DELETE大批量数据的性能优化 问题的提出: 一个表有上千万的数据,欲从该表中删除部分数据: 在线用的生产 ...

  3. cass道路道路设计参数文件命令为什么没反应_为什么MySQL不建议使用delete删除数据?...

    前言 我负责的有几个系统随着业务量的增长,存储在MySQL中的数据日益剧增,我当时就想现在的业务方不讲武德,搞偷袭,趁我没反应过来把很多表,很快,很快啊都打到了亿级别,我大意了,没有闪,这就导致跟其J ...

  4. delete index mysql_为什么MySQL不建议delete删除数据「心得分享」

    前言 我负责的有几个系统随着业务量的增长,存储在MySQL中的数据日益剧增,我当时就想现在的业务方不讲武德,搞偷袭,趁我没反应过来把很多表,很快,很快啊都打到了亿级别,我大意了,没有闪,这就导致跟其J ...

  5. cass道路道路设计参数文件命令为什么没反应_面试官不讲武德问我:为什么MySQL不建议使用delete删除数据?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  6. vage的delete大量数据方法

    vage的delete大量数据方法 参考文档:http://space.itpub.net/22990797/viewspace-752175 如果业务无法停止的话,主要有这三种思路: ======= ...

  7. 面试官不讲武德问我:为什么MySQL不建议使用delete删除数据?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  8. 面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?

    以下文章来源方志朋的博客,回复"666"获面试宝典 最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数 ...

  9. 为什么delete表数据,磁盘空间却还是被占用

    最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数据备份,并通过delete删除表记录. 明明已经执行了delete,可表 ...

最新文章

  1. 软件测试方法单元测试例子,service单元测试例子
  2. 对于EXCEL模板程序的处理
  3. MySQL数据库的优化(下)MySQL数据库的高可用架构方案
  4. Qt中常用的QChar QByteArry QString数据类型转换方法
  5. 买下个月的iPhone新机要花多少钱?
  6. react在线文件_在线IDE开发入门之从零实现一个在线代码编辑器
  7. mcgs组态连接oracle数据库,昆仑通态专题(九):MCGS组态软件的实时数据库
  8. 串口硬盘如何应用于并口硬盘计算机,并口硬盘和串口硬盘如何一起用
  9. 基于android点餐系统需求分析,基于Android智能终端的点餐系统设计研究
  10. twm图形模式以及恢复
  11. 小三上位中的数学问题
  12. Android电视机(机顶盒)初次开发的一些经验分享
  13. 原生JS购物车---cookie应用
  14. io复用相对于多进程、多线程的优势
  15. google nexus 10 用fastboot 刷机教程 (官方原版rom)
  16. 一款微信小程序是如何诞生的。
  17. JFinal解决IE浏览器下载问题
  18. BDE配置中的一个参数:SHAREDMEMLOCATION
  19. 报错Can‘t resolve ‘crypto‘ in ‘E:\test\jwt-demo-master\frontend\node_modules\jwa‘
  20. 快速查询苹果手机的UUID

热门文章

  1. Stark 组件:快速开发神器 —— 自动生成 URL
  2. ping github超时问题
  3. Struts2 ognl表达式
  4. 【机器视觉】 while算子
  5. 【Linux】一步一步学Linux——ping命令(150)
  6. 【内核驱动】 内核驱动中添加系统调用
  7. 数据库mysql存储过程_[数据库]mysql存储过程的建立及使用
  8. 每天一道LeetCode-----找到序列中第一个没有出现的正整数,要求时间复杂度是O(n),空间复杂度是O(1)
  9. java网络编程与分布式计算_Java_net Java网络编程与分布式计算 - 下载 - 搜珍网
  10. 关闭Apache的目录浏览功能