【Oracle】导出全库备份,导入指定的schema并替换现有的表

需求:开发环境,每天晚上做了全库导出备份。由于误操作,现在要恢复指定的schema下的所有表,操作思路如下:

1.全库导出备份的语句

expdp system/oracle full=y  dumpfile=arp103.$version.dmp logfile=arp103.$version.log directory=dmppath compression=ALL
  • compression=ALL 是压缩备份的意思,节省空间。

2.导入备份语句:

impdp system/oracle dumpfile=arp103.20200326_050101.dmp logfile=arp103.20200326imp.log directory=dmppath schemas=finedb51 table_exists_action=replace

其中:
table_exists_action参数说明

  • skip:默认操作

  • replace:先drop表,然后创建表,最后插入数据

  • append:在原来数据的基础上增加数据

  • truncate:先truncate,然后再插入数据

根据需求,我这里运用的是replace语句,替换了schema的所有表。

你可能感兴趣的:(【Oracle】导出全库备份,导入指定的schema并替换现有的表)