龙空技术网

Oracle数据恢复—Oracle数据库误truncate的数据恢复案例

北亚数据恢复中心 152

前言:

目前我们对“oracle更新数据恢复”大致比较注意,你们都想要知道一些“oracle更新数据恢复”的相关内容。那么小编在网络上收集了一些对于“oracle更新数据恢复””的相关资讯,希望小伙伴们能喜欢,咱们快快来了解一下吧!

Oracle数据库数据恢复环境:

北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。

Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的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数据恢复

标签: #oracle更新数据恢复 #oracle查询表变更记录 #oracle怎么查表数据修改记录