1.1 數(shù)據(jù)庫數(shù)據(jù)全庫備份
注:此操作需要啟動(dòng)數(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ù)恢復(fù)
注:此操作需要啟動(dòng)數(shù)據(jù)庫。
1、 用orale用戶登陸數(shù)據(jù)庫服務(wù)器
2、 刪除要恢復(fù)的用戶.
sqlplus / as sysdba
drop user USER_NAME cascade;
exit
3、 執(zhí)行恢復(fù)命令
如下語句恢復(fù)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ù)庫恢復(fù)時(shí)注意事項(xiàng):
exp/imp方式備份恢復(fù)數(shù)據(jù)庫無法對(duì)數(shù)據(jù)庫定義(也就是表結(jié)構(gòu)之類的)進(jìn)行刪除和修改。
所以,如果在恢復(fù)時(shí),數(shù)據(jù)庫表結(jié)構(gòu)發(fā)生變化了,則需要將表結(jié)構(gòu)恢復(fù),或?qū)⒈韯h除,再執(zhí)行恢復(fù)操作。如果搞不清楚哪些表結(jié)構(gòu)發(fā)生了變化,可以先將需要恢復(fù)的數(shù)據(jù)庫用戶刪除,然后再執(zhí)行恢復(fù)操作。
另外,經(jīng)過證實(shí),刪除表后,再恢復(fù)該表,存在一個(gè)問題:刪表的時(shí)候,其他表創(chuàng)建的引用這個(gè)表的外鍵刪掉。
恢復(fù)的時(shí)候,無法恢復(fù)該外鍵。這種情況需要恢復(fù)后手動(dò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
您可能感興趣的文章:- oracle冷備份恢復(fù)和oracle異機(jī)恢復(fù)使用方法
- oracle數(shù)據(jù)庫創(chuàng)建備份與恢復(fù)腳本整理
- ORACLE 數(shù)據(jù)庫RMAN備份恢復(fù)
- Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究
- Oracle數(shù)據(jù)庫的備份與恢復(fù)
- Oracle數(shù)據(jù)庫的備份與恢復(fù)
- Oracle數(shù)據(jù)庫的備份與恢復(fù)
- Oracle中備份表的簡單sql命令語句
- Linux中Oracle數(shù)據(jù)庫備份
- 批處理寫的 oracle 數(shù)據(jù)庫備份還原工具
- PL/SQL遠(yuǎn)程備份和恢復(fù)Oracle數(shù)據(jù)庫