Oracle数据库数据恢复环境:
北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。
Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和SegmentHeader中更新表的DataObjectID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。
Oracle数据库数据恢复过程:
1、为保护用户数据和重现故障的解决过程,北亚企安数据恢复工程师重构了与用户相同的故障:
使用Scott用户创建表emp1,连续多次复制emp表,多次复制后的总记录数为7340032条。truncate表emp1,之后没有进行任何操作。查询该表,数据库中该表的记录为0条。
北亚企安数据恢复——Oracle数据恢复
注: Os:win server 2008R2。数据库版本:win_oracle_11.2.0.1_x64;
2、对system表空间文件进行分析,找到truncate表的原始数据所在位置。
北亚企安数据恢复——Oracle数据恢复
3、解析表所在的数据文件,找到被truncate的数据。
4、将truncate的数据插入到数据库中。
5、在Oracle数据库中查看被truncate的表,发现数据回来了,直接备份数据。
北亚企安数据恢复——Oracle数据恢复
6、Exp导出scott用户。
北亚企安数据恢复——Oracle数据恢复
审核编辑 黄宇
-
服务器
+关注
关注
13文章
9859浏览量
88424 -
数据恢复
+关注
关注
10文章
658浏览量
18263
发布评论请先 登录
数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

从Delphi、C++ Builder和Lazarus连接到Oracle数据库
服务器数据恢复—raid5阵列上层win系统+oracle数据库数据恢复案例
数据库数据恢复—ORACLE常见故障的数据恢复可行性分析
Oracle报错“system01.dbf需要更多的恢复来保持一致性”的数据恢复案例

oracle数据恢复—存储掉盘导致Oracle数据库文件大小变为0kb的数据恢复案例

数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

oracle数据恢复—Oracle数据库打开报错的数据恢复案例

数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

评论