ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用数据泵备份/恢复某些表

使用数据泵备份/恢复某些表

原创 Linux操作系统 作者:lxn_sps 时间:2010-08-02 09:08:40 0 删除 编辑

问题提出:

两个系统a和b之间做了同步接口,可能是之前的接口出现了问题,导致两边的数据不一致,需要清除系统b中的数据,使用同步接口从系统a将数据批量同步到系统b中。

解决办法:

分析:由于此同步涉及到系统B中的5个表(b.t1,b.t2,b.t3,b.t4,b.t5)中的数据更新,所以同步前,需要先备份这个5个表中的数据,然后删除表中的数据,通过同步接口从系统a向系统b同步数据,检查同步是否成功,如果不成功则需要使用之前的备份数据恢复系统b中的这5个表的数据。

操作步骤:

//使用oracle数据泵导出需要备份的5个表。

$expdp  system/password  directory=expdir  dumpfile=20100801.dmp  logfile=exp20100801.log  parallel=3   tables=b.t1,b.t2,b.t3,b.t4,b.t5

//删除这5个表的数据

SQL>delete from b.t1;

SQL>delete from b.t2;

SQL>delete from b.t3;

SQL>delete from b.t4;

SQL>delete from b.t5;

SQL>commit;

使用同步接口同步数据后发现有问题,需要对这5个表的数据进行恢复。

//删除这5个表中的数据

SQL>delete from b.t1;

SQL>delete from b.t2;

SQL>delete from b.t3;

SQL>delete from b.t4;

SQL>delete from b.t5;

SQL>commit;

//使用之前的备份进行恢复

$impdp  system/password  directory=expdir   dumpfile=20100801.dmp logfile=imp20100801.log   parallel=3    content=data_only  tables=b.t1,b.t2,b.t3,b.t4,b.t5  ;

说明:dumpfile必须是之前使用expdp导出的dumpfile文件的名字。content=data_only表示只导入数据。

心得:对后台数据进行任何操作前,一定要进行分析风险,并对针该操作制定好备份/恢复的策略。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10537377/viewspace-669973/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-12

  • 博文量
    43
  • 访问量
    207858