共計 3093 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章主要介紹了 ORACLE 備份與恢復的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
經常聽到有人說,某數據庫備份方法好,某備份方法不好,或者說現在都流行用 rman 來備份了,邏輯備份已經過時了,冷備份就更不值一提了,其實數據庫的備份從來沒有什么好壞之分、沒有過時之說,合適才是最重要的,自己好才是真的好。各種方法各有長短,誰也代替不了誰,只有根據實際情況搭配使用,才能發(fā)揮最大的作用,否則只能是東施效顰。
1. oracle 的備份,包括 noarchivelog 模式的備份 (冷備份)、archivelog 模式的備份(熱備份、rman 備份)、邏輯備份(不分模式)。
1.1. 冷備份:
— 1) 關閉數據庫
shutdown;
— 2) 備份數據文件、控制文件、重做日志文件
— A、查找備份文件的位置
SELECT * FROM V$DATAFILE; – 查數據文件
select * from v$controlfile; – 查控制文件
select * from v$logfile; – 查日志文件
— B、備份數據文件、控制文件、重做日志文件
$ copy D:\oracle\oradata\ora9\*.dbf d:\bak\*.*;
$ copy D:\oracle\oradata\ora9\*.ctl d:\bak\*.*;
$ copy D:\oracle\oradata\ora9\*.log d:\bak\*.*;
1.2. 熱備份:
— 1)查詢備份的數據文件與哪一個表空間有關
SELECT V$TABLESPACE.NAME,V$DATAFILE.NAME
FROM V$TABLESPACE JOIN V$DATAFILE USING(TS#);
— 2) 備份數據文件
alter tablespace 表空間 BEGIN BACKUP;
$ COPY 數據文件 存放路徑
ALTER TABLESPACE 表空間 END BACKUP;
— 3) 查詢是否還有表空間處于備份模式
SELECT * FROM V$BACKUP; –STATUS 不是 ACTIVE 即可以
SELECT V$TABLESPACE.NAME,V$BACKUP.STATUS,V$DATAFILE.NAME
FROM V$TABLESPACE JOIN V$DATAFILE USING (TS#) JOIN V$BACKUP USING (FILE#);
— 4) 備份控制文件
ALTER DATABASE BACKUP CONTROLFILE TO 目標路徑及文件名;
1.3. rman 備份:
— 1)一個簡單的 rman 全庫備份:
rman nocatalog target sys/sys
RMAN restore controlfile from autobackup;
RMAN configure controlfile autobackup on;
RMAN backup database;
— 2)備份數據文件、控制文件、歸檔日志
RMAN BACKUP DATAFILE 數據文件名;
RMAN BACKUP CURRENT CONTROLFILE;
RMAN BACKUP ARCHIVELOG ALL;
— 3)備份控制文件 trace
SQL alter session set tracefile_identifier=system ;
SQL alter database backup controlfile to trace;
SQL alter database backup controlfile to d:\temp\controlfile.bak
— 4)備份表空間
RMAN backup tablespace 表空間名;
— rman 備份比較復雜,只舉些簡單的例子。
1.4. 邏輯備份
— 1) 數據庫方式 (導出用戶要具有 exp_full_database 權限)
exp scott/tiger@ora9 full=y file= D:\full.dmp
— 2) 用戶方式
exp userid=scott/tiger@ora9 owner=scott file=d:\scott.dmp log=d:\scott.log
— 3) 表方式
exp scott/tiger@ora9 tables=(emp,dept) file= d:\emp.dmp
2. oracle 的恢復(簡單舉例):
2.1 冷備份的恢復,
1). STARTUP MOUNT;
2). ALTER DATABASE DATAFILE 數據文件 OFFLINE DROP;
3). ALTER DATABASE OPEN;
2.2 熱備份恢復:
1). STARTUP MOUNT;
2). ALTER DATABASE DATAFILE 數據文件 OFFLINE; — //system01.dbf 不能設置未 OFFLINE 狀態(tài)
3). ALTER DATABASE OPEN;
2.3 rman 備份恢復:
— 1)使用 rman 恢復歸檔數據庫:
rman target /
rman startup mount
rman restore database;
rman recover database;
rman alter database open;
–2)使用 rman 恢復表空間:
rman restore tablespace
rman recover tablespace
rman
run{
sql alter tablespace users offline immediate
restore tablespace users;
recover tablespace users;
sql alter tablespace users online
}
2.4 . 邏輯恢復
–1) 數據庫方式 (導入用戶要具有 exp_full_database 權限)
imp system/system@ora10 full=y file= f:\full.dmp
–2) 用戶方式
imp userid=scott/tiger@ora10 fromuser=scott touser=scott file=d:\scott.dmp log=d:\scott.log
–3) 表方式
imp system/system@ora10 fromuser=scott touser=scott file= f:\emp.dmp
– 注意:導出用戶要和導入用戶相同可以用上面的方法,否則用
imp scott/tiger@ora10 full=y file= f:\emp.dmp
3. oracle 備份與恢復方法的選擇:
1). 對于一些小系統、小數據量、沒有在線要求的數據庫,采用冷備份,簡單方便、可靠(所有文件時間點一致),但如果是這類系統個人覺得使用 oracle 就是一種浪費,學習除外。
2). 對于 7X24 小時的大系統、帳營支撐系統、客服系統的數據庫,使用歸檔模式運行,采用全庫備份與邏輯備份相結合的方式。
3). 對于經營分析系統、BI 系統、查詢系統等數據庫,可采用邏輯備份與表空間備份相結合的方式,對變化數據進行增量備份。
4). 對于一些字典數據庫、靜態(tài)數據較多的數據庫,可采用邏輯備份,定期備份相關重要數據。
對于上面提到的方法,只是個表面的東西而已,要想保證數據庫高效、安全、穩(wěn)定的運行,必須要有完整的、切實可行的數據庫運行管理制度,并且嚴格執(zhí)行實施,否則再好的方法都是水中月、鏡中花。
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“ORACLE 備份與恢復的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業(yè)資訊頻道,更多相關知識等著你來學習!