2016 - 2024

感恩一路有你

使用Dbseeker找回被删除的Oracle数据

浏览量:3267 时间:2024-08-14 14:10:47 作者:采采

Dbseeker for Oracle Database是一款用Java语言开发的Oracle数据库恢复软件。它能够绕过Oracle读数据引擎,直接扫描数据文件的数据块,分析数据块格式,并读取数据库中的表记录。因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP、TRUNCATE、DELETE后,并且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。

如何找回被删除的数据

当相关人员由于一些人为错误,不慎DROP、TRUNCATE、DELETE了表数据时,首先要保持冷静。在大部分的情况下,数据还在数据文件里,Oracle database只是做了一些删除标记或者清除了表头的一些信息。为了保证数据不会被覆盖,立即Offline表所属的表空间,或关闭相关的应用程序。

如果数据没有被覆盖,使用Dbseeker找回数据的成功率高达99.9%,但是如果数据被覆盖,又没有备份的情况下,就无法恢复数据了。

实战场景模拟

在模拟数据字典完整的情况下,表记录被删除后,可以通过Dbseeker找回被删除的表记录写入数据库。具体步骤如下:

1. 首先新建表MYDELETEDTABLE,并生成测试记录。

2. 为了校验Dbseeker找回的数据的正确性,复制MYDELETEDTABLE到MYDELETEDTABLE2。

3. 删除表MYDELETEDTABLE的全部记录。

4. 使用Dbseeker找回数据,并生成SQL*loader文件。

5. 导入SQL*loader文件到数据库后,与MYDELETEDTABLE2表进行校验。

6. 使用Dbseeker找回数据,直接导入目标数据库后,与MYDELETEDTABLE2表进行校验。

使用Dbseeker找回数据的步骤

1. 启动Dbseeker恢复向导界面,点击"Next"按钮。

2. 如果数据文件为File System格式,选择"File System",点击"Next"按钮。如果为ASM格式,选择"Automatic Storage Management(ASM)"。在这里我们选择"File System"。

3. 选择"Yes, The Oracle data dictionary in the system tablespace is intact.",点击"Next"按钮。

4. 点击"Choose Files"按钮,选择数据文件。

5. 填入数据文件的OFFSET信息(单位Byte),点击"Start"按钮。Windows和LINUX环境下的数据文件不用考虑OFFSET,默认设置为0。

6. Dbseeker初始化后,开始扫描关键字典表的信息。

7. 扫描关键字典表完成后,显示Dbseeker的主界面。主界面显示数据库的DBID、DBNAME、数据库字符集、数据库国家字符集以及被选择的数据文件的路径、BLOCK SIZE和OFFSET。

8. 找到需要恢复的表,点击右键,点击"Desc Table"查看表的字段信息。确认列表中是否存在Dbseeker不支持的字段类型(Unknown)。如果有Unknown字样的字段类型,恢复数据时可能会发生问题。

9. 找到需要恢复的表,点击右键,点击"Seek Table"。

10. 点击"Deleted Rows"标签,列出前200条被删除取样的记录信息。

11. 数据恢复方法1:使用SQL*loader加载数据。点击"Export to SQL*loader files"按钮,生成SQL*loader文件。导出数据记录成功后,将目录拷贝到目标服务器端,通过ORACLE的数据加载工具SQL*loader加载到目标数据库原表MYDELETEDTABLE,并校验数据的正确性。

12. 数据恢复方法2:通过Dbseeker直接导入目标数据库。点击"Export to target database"按钮,填写导入目标数据库连接信息,测试数据库连接信息。如果能正常连接到导入目标数据库,点击"Connect! Export"按钮,直接把Dbseeker找到的被删除表记录信息通过JDBC插入目标数据库用户dbseeker下的表MYDELETEDTABLE。数据导入到目标数据库成功后,进行数据校验。

以上就是使用Dbseeker找回被删除的Oracle数据的步骤和方法。使用Dbseeker能够快速恢复被删除的表记录,提高数据恢复的成功率和效率。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。