oracle備份恢復的具體方法
1.1 數(shù)據(jù)庫數(shù)據(jù)全庫備份
注:此操作需要啟動數(shù)據(jù)庫。
切換至oracle用戶,在OS側(cè)創(chuàng)建備份使用目錄:
mkdir /oracle/backup
登錄oracle數(shù)據(jù)庫,在數(shù)據(jù)庫中創(chuàng)建備份使用目錄
sqlplus / as sysdba
create directory backupdir as '/oracle/backup';
退出sqlplus后,用oracle用戶執(zhí)行全庫備份,備份文件生成在/oracle/backup下:
expdp system/System123 DIRECTORY=backupdir DUMPFILE=backup201309XX.dmp logfile=backup.log full=y
1.2 數(shù)據(jù)庫數(shù)據(jù)恢復
注:此操作需要啟動數(shù)據(jù)庫。
1、 用orale用戶登陸數(shù)據(jù)庫服務(wù)器
2、 刪除要恢復的用戶.
sqlplus / as sysdba
drop user USER_NAME cascade;
exit
3、 執(zhí)行恢復命令
如下語句恢復pgm用戶的數(shù)據(jù)到backup201309XX.dmp狀態(tài)
impdp system/System123 DIRECTORY=backupdir DUMPFILE=backup201309XX.dmp schemas=pgm TABLE_EXISTS_ACTION=TRUNCATE logfile=restore.log
數(shù)據(jù)庫恢復時注意事項:
exp/imp方式備份恢復數(shù)據(jù)庫無法對數(shù)據(jù)庫定義(也就是表結(jié)構(gòu)之類的)進行刪除和修改。
所以,如果在恢復時,數(shù)據(jù)庫表結(jié)構(gòu)發(fā)生變化了,則需要將表結(jié)構(gòu)恢復,或?qū)⒈韯h除,再執(zhí)行恢復操作。如果搞不清楚哪些表結(jié)構(gòu)發(fā)生了變化,可以先將需要恢復的數(shù)據(jù)庫用戶刪除,然后再執(zhí)行恢復操作。
另外,經(jīng)過證實,刪除表后,再恢復該表,存在一個問題:刪表的時候,其他表創(chuàng)建的引用這個表的外鍵刪掉。
恢復的時候,無法恢復該外鍵。這種情況需要恢復后手動創(chuàng)建外鍵約束。
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
相關(guān)文章
oracle中commit之后進行數(shù)據(jù)回滾的方法
這篇文章主要介紹了oracle中commit之后如何進行數(shù)據(jù)回滾,本文給大家分享兩種方法,每種方法都給大家介紹的比較詳細,需要的朋友可以參考下2021-12-12ORACLE 修改表結(jié)構(gòu) 之ALTER CONSTAINTS的使用
這篇文章主要介紹了ORACLE 修改表結(jié)構(gòu) 之ALTER CONSTAINTS的使用,需要的朋友可以參考下2014-07-07使用Navicat Premium工具將oracle數(shù)據(jù)庫遷移到MySQL
最近的業(yè)務(wù)項目需求,因此總結(jié)遇到的問題。使用Navicat Premium工具將Oralce數(shù)據(jù)庫遷移到MySQL,本文通過圖文的形式給大家詳細介紹,感興趣的朋友跟隨小編一起看看吧2021-05-05