Dbseeker for Oracle Database使用说明书 2. 将数据导入到新的数据库或者新的表空间的新建表中, 事先确认数据是否正
确。(建表语句可参考Dbseeker生成的SQL文件,然后编辑SQL*loader的控制文件,修改表名后导入数据。)
3. 只有在充分测试并确认数据没有问题后,才能将数据导入到目标数据库。
11. 数据恢复方法2:通过Dbseeker直接导入目标数据库。
● 点击[Export to target database]按钮。
● 弹出导入界面窗口。
什么是Commit every?
通过JDBC插入数据到目标数据库时,为了避免出现内存不足的问题。Dbseeker会根据Commit every设定的值判断是否发生COMMIT。 Commit every 默认值是100,表示如果扫描每个数据块后,累积行数为100条记录以上,就COMMIT一次到目标数据库。0表示只在最后插入数据完成后才发生COMMIT。
● 填写导入目标数据库连接信息,点击[Connect!]按钮,测试数据库连接信息。
16 / 33 Dbseeker技术支持网站→ http://www.dbseeker.com/ Dbseeker for Oracle Database使用说明书
● 如果能正常连接到导入目标数据库,出现连接成功信息提示。
● 如果不能正常连接到导入目标数据库,出现连接失败错误提示。请再次检查导入目标数据库连接信息。
● 如果需要保存导入目标数据库连接信息以备下次使用,点击[Save Connection] 按钮。
● 点击[Save Connection] 按钮后,出现保存成功信息提示,生成日期格式的连接名(例如:20151029890)。
● 如果想调用保存的目标数据库连接信息历史记录,点击[Connection history]中的连接名。
17 / 33 Dbseeker技术支持网站→ http://www.dbseeker.com/ Dbseeker for Oracle Database使用说明书
● 点击[Connect!+Export] 按钮,直接把Dbseeker找到的被删除表记录信息通过JDBC插入目标数据库
用户dbseeker下的表MYDELETEDTABLE。
● 点击[Connect!+Export]按钮后,出现进度条提示。
如果不选择Create table,Dbseeker会通过JDBC追加数据到目标用户的原表。
如果选择Create table,Dbseeker会在目标用户新建表,然后通过JDBC插入数据到目标用户的新建表中。
● 数据导入到目标数据库成功后,弹出提示信息。
● 校验数据是否一致(MINUS)。
SQL> SELECT * FROM DBSEEKER.MYDELETEDTABLE MINUS SELECT * FROM MYDELETEDTABLE2; no rows selected
18 / 33 Dbseeker技术支持网站→ http://www.dbseeker.com/ Dbseeker for Oracle Database使用说明书
因此, 为了保护原来的数据库问题现场,Dbseeker推荐按以下的步骤来恢复数据。 1. 导入数据前,做好导入目标数据库的备份。
2. 将数据导入到新的数据库或者新的表空间的新建表中, 事先确认数据是否正确。
(具体操作参照下面【复制数据到新表空间下MYDELETEDTABLE_COPY表】小节说明。) 3. 只有在充分测试并确认数据没有问题后,才能将数据导入到目标数据库。
4. 如果选择用Dbseeker将数据直接恢复到目标数据库,被选择的数据文件和导入目
标数据库表的数据文件不能在同一位置。(如果是同一位置,会发生一边从被选择的数据文件抽取数据,一边写入被选择的数据文件的严重问题。选择拷贝到不同目录的数据文件恢复数据,不会发生此问题。)
● 复制数据到新表空间下MYDELETEDTABLE_COPY表。
事先建好TEST新表空间,点击[Create table] 选框,Dbseeker为新建表自动命名(原表名_COPY)。在Table space栏选择新建的TEST表空间,点击[Connect!+Export] 按钮,直接把Dbseeker找到的被删除表记录信息通过JDBC插入目标数据库用户下的MYDELETEDTABLE_COPY表。
在没有充分测试的情况下,不推荐直接用Dbseeker将数据恢复到目标数据库。如果数据不正确,会覆盖目标数据库表空间的表数据,造成表数据永久无法恢复。
SQL> SELECT * FROM DBSEEKER.MYDELETEDTABLE_COPY MINUS SELECT * FROM MYDELETEDTABLE2; no rows selected
实战场景3.2 数据字典损坏,数据库表记录被误DELETE 本实战场景模拟数据字典损坏或丢失的情况下,表记录被删除后,如何通过Dbseeker找回删除的表记录写入数据库。
■新建表MYDELETEDTABLE_NODIC,生成测试记录。
■为了能够校验Dbseeker找回的数据的正确性,复制MYDELETEDTABLE_NODIC到MYDELETEDTABLE_NODIC2。 ■DELETE表MYDELETEDTABLE_NODIC全部记录。
■使用Dbseeker找回数据,生成的SQL*loader文件,导入数据库后,和MYDELETEDTABLE_NODIC2表校验正确性。 ■使用Dbseeker找回数据,通过Dbseeker直接导入目标数据库后,和MYDELETEDTABLE_NODIC2表校验正确性。
事前生成测试数据脚本 SQL> conn dbseeker/password Connected. SQL> CREATE TABLE MYDELETEDTABLE_NODIC AS SELECT * FROM SH.PROMOTIONS; Table created. SQL> SELECT COUNT(*) FROM MYDELETEDTABLE_NODIC; COUNT(*) 19 / 33 Dbseeker技术支持网站→ http://www.dbseeker.com/ Dbseeker for Oracle Database使用说明书 ---------- 503 SQL> CREATE TABLE MYDELETEDTABLE_NODIC2 AS SELECT * FROM SH.PROMOTIONS; Table created. SQL> SELECT COUNT(*) FROM MYDELETEDTABLE_NODIC2 ; COUNT(*) ---------- 503 SQL> DELETE FROM MYDELETEDTABLE_NODIC; 503 rows deleted. SQL> SELECT COUNT(*) FROM MYDELETEDTABLE_NODIC; COUNT(*) ---------- 0 SQL> ALTER SYSTEM CHECKPOINT; System altered. SQL>
1. 启动Dbseeker恢复向导界面,点击[Next]按钮。
2. 选择[No,The Oracle data dictionary in the system tablespace is not intact.],选择数据库正确的
数据库字符集和国家字符集,点击[Next]按钮。
20 / 33 Dbseeker技术支持网站→ http://www.dbseeker.com/
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle数据恢复神器Dbseeker for Oracle Database(4)在线全文阅读。
相关推荐: