28_bbed实战(1)_delete操作恢复
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,下面的示例演示如何恢复已删除的行。当Oracle中的行被删除时,数据实际上并没有被删除。行被简单地标记为已删除,空闲空间计数器和指针也相应地进行了调整。行状态存储在行头中,行头占用每一行的前几个字节。
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
象山敏捷软件开发服务
暗黑角色数据库
数据库常用的函数asc
服务器温度怎么降下来
网络安全等级保护违规处罚
网络安全厂家产品及优劣势对比
军事网络安全战略
河北大数据网络技术咨询指导
南京回收服务器电源
苹果浏览器连接到服务器的教程
存储管理服务器故障
服务器采购建设方案
网络安全管理讲座
计算机网络技术属于什么系部
集群服务器系统
embl数据库
官方服务器好不好
上海防水网络技术联系方式
.net 数据库帮助类
vb怎样显示数据库查询信息
安联财险 网络安全险
名人如何看网络安全
怎样查看数据库备份
2018年网络安全敏感期
net连接数据库的课题
大陆服务器安装包下载地址
百度文库属于文献数据库吗
戴尔服务器产品应用方案
深圳私人承接软件开发定制
国内 免费 服务器 域名