需求:開發環境,每天晚上做了全庫導出備份。由於誤操作,現在要恢復指定的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的所有表。