1.1 數據庫數據全庫備份
注:此操作需要啟動數據庫。
切換至oracle用戶,在OS側創建備份使用目錄:
mkdir /oracle/backup
登錄oracle數據庫,在數據庫中創建備份使用目錄
sqlplus / as sysdba
create directory backupdir as '/oracle/backup';
退出sqlplus后,用oracle用戶執行全庫備份,備份文件生成在/oracle/backup下:
expdp system/System123 DIRECTORY=backupdir DUMPFILE=backup201309XX.dmp logfile=backup.log full=y
1.2 數據庫數據恢復
注:此操作需要啟動數據庫。
1、 用orale用戶登陸數據庫服務器
2、 刪除要恢復的用戶.
sqlplus / as sysdba
drop user USER_NAME cascade;
exit
3、 執行恢復命令
如下語句恢復pgm用戶的數據到backup201309XX.dmp狀態
impdp system/System123 DIRECTORY=backupdir DUMPFILE=backup201309XX.dmp schemas=pgm TABLE_EXISTS_ACTION=TRUNCATE logfile=restore.log
數據庫恢復時注意事項:
exp/imp方式備份恢復數據庫無法對數據庫定義(也就是表結構之類的)進行刪除和修改。
所以,如果在恢復時,數據庫表結構發生變化了,則需要將表結構恢復,或將表刪除,再執行恢復操作。如果搞不清楚哪些表結構發生了變化,可以先將需要恢復的數據庫用戶刪除,然后再執行恢復操作。
另外,經過證實,刪除表后,再恢復該表,存在一個問題:刪表的時候,其他表創建的引用這個表的外鍵刪掉。
恢復的時候,無法恢復該外鍵。這種情況需要恢復后手動創建外鍵約束。
drop table TABLE_NAME cascade constraints;
impdp system/System123 DIRECTORY=backupdir DUMPFILE=backup201309XX.dmp tables=sdu.E_UC_ENTANN TABLE_EXISTS_ACTION=TRUNCATE logfile=restore_sdu.log
新聞熱點
疑難解答