28_bbed实战(1)_delete操作恢复
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,下面的示例演示如何恢复已删除的行。当Oracle中的行被删除时,数据实际上并没有被删除。行被简单地标记为已删除,空闲空间计数器和指针也相应地进行了调整。行状态存储在行头中,行头占用每一行的前几个字节。
千家信息网最后更新 2025年01月20日28_bbed实战(1)_delete操作恢复
下面的示例演示如何恢复已删除的行。当Oracle中的行被删除时,数据实际上并没有被删除。行被简单地标记为已删除,空闲空间计数器和指针也相应地进行了调整。行状态存储在行头中,行头占用每一行的前几个字节。
行头由Row Flag、Lock Byte(ITL entry) and Column Count组成。行头由一个字节大小的 the Row Flag开始,它持有一个位掩码来显示行状态。位掩码解码如下:
因此,适合单个块的列,没有被链接、迁移或集群表的一部分,也没有被删除,将具有以下属性:
- Head of Row Piece
- First Data Piece
- Last Data Piece
SQL> alter system dump datafile 5 block 1551;System altered.Block header dump: 0x0140060f Object id on Block? Y seg/obj: 0x15720 csc: 0x00.111e90 itc: 2 flg: E typ: 1 - DATA brn: 0 bdba: 0x1400608 ver: 0x01 opc: 0 inc: 0 exflg: 0 Itl Xid Uba Flag Lck Scn/Fsc0x01 0x0002.00a.0000039c 0x00c000fd.00c0.13 --U- 1 fsc 0x0000.00111e920x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000bdba: 0x0140060fdata_block_dump,data header at 0x7fa17e07f264===============tsiz: 0x1f98hsiz: 0x14pbl: 0x7fa17e07f264 76543210flag=--------ntab=1nrow=1frre=-1fsbo=0x14fseo=0x1f8davsp=0x1f79tosp=0x1f790xe:pti[0]nrow=1offs=00x12:pri[0]offs=0x1f8dblock_row_dump:tab 0, row 0, @0x1f8dtl: 11 fb: --H-FL-- lb: 0x1 cc: 1col 0: [ 7] 78 78 78 73 74 61 72end_of_block_dump当一行被删除时,行标志被更新,第5( 16)位被设置为高。这意味着对于一个典型的行,标志值现在是32 + 16 +8 +4=60或0x3c。 在下面的示例中,我们从表中删除orastar的记录。然后使用find命令,查找被删除的行,并转储块的内容:
BBED> find /c star File: /oradata/epmsn/hsql01.dbf (5) Block: 1551 Offsets: 8184 to 8191 Dba:0x0140060f------------------------------------------------------------------------ 73746172 0106921e <32 bytes per line>BBED> p *kdbr[0] rowdata[0]----------ub1 rowdata[0] @8177 0x2cBBED> d /v dba 5,1551 offset 8177 File: /oradata/epmsn/hsql01.dbf (5) Block: 1551 Offsets: 8177 to 8191 Dba:0x0140060f------------------------------------------------------- 2c010107 78787873 74617201 06921e l ,...xxxstar.... <16 bytes per line>BBED> d /v dba 5,1551 offset 8177 File: /oradata/epmsn/hsql01.dbf (5) Block: 1551 Offsets: 8177 to 8191 Dba:0x0140060f------------------------------------------------------- 2c010107 78787873 74617201 06921e l ,...xxxstar.... <16 bytes per line>************************************************删除数据SQL> select * from hsql.test4;CONS_NAME------------------------------xxxstarSQL> delete from hsql.test4;1 row deleted.SQL> commit;Commit complete.SQL> select * from hsql.test4;no rows selected********************************end 删除数据BBED> d /v dba 5,1551 offset 8177 File: /oradata/epmsn/hsql01.dbf (5) Block: 1551 Offsets: 8177 to 8191 Dba:0x0140060f------------------------------------------------------- 3c020107 78787873 74617201 06a028 l <...xxxstar...( <16 bytes per line>BBED> modify /x 2c offset 8177 File: /oradata/epmsn/hsql01.dbf (5) Block: 1551 Offsets: 8177 to 8191 Dba:0x0140060f------------------------------------------------------------------------ 2c020107 78787873 74617201 06a028 <32 bytes per line>BBED> sum dba 5,1551 applyCheck value for File 5, Block 1551:current = 0x9ec9, required = 0x9ec9*********************查询un-delete的数据SQL> select * from hsql.test4;no rows selectedSQL> alter system flush buffer_cache;System altered.SQL> select * from hsql.test4;CONS_NAME------------------------------xxxstarSQL>
数据
行头
一行
命令
字节
标志
状态
示例
面的
典型
内容
单个
地标
大小
实际
实际上
属性
意味
指针
标记
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发的国际规范
描述数据库的视图和储存过程
access数据库效果
有网络安全这个职业吗
固原网络安全宣传
连接另一个电脑的数据库
学网络安全需要什么英语水平
服务器配置需要背下文件吗
高中网络安全自查报告范文
计算机网络技术的主要技术有哪些
怎么确认域服务器搭建成功
鄞州敏捷软件开发服务
深圳市金科软件开发有限公司
服务器和电脑自动同步文件
服务器印制电路产值
软件开发5年之后转行
中专生为什么要学数据库
护苗网络安全序列课程
orcale 复制数据库
昆山网络安全机构
家用硬盘服务器
网络安全模式 恢复原程序
lol的服务器在国内的有哪些
以太坊需要多少服务器
校园有线网络安全
二几网络技术
数据库安全的工具包
河北网络安全服务
建一个数据库需要多少钱
数据库典型网络