RMAN兼容性、控制文件自動備份、保存時間、備份策略、備份腳本(二)


RMAN 程序的兼容性

RMAN 環境由以下5部分組成:
(1) RMAN executable
(2) Recovery catalog database
(3) Recovery catalog schema in the recovery catalog database
(4) Target database
(5) Auxiliary database (used forduplicate, duplicate for standby or tablespace point-in-time recovery)
說明: 1 、 4 是必須存在的。

一般來說,RMAN兼容性規則如下:
(1)RMAN 可執行文件的版本要和目標數據庫的版本一致,但也有例外,具體參考下表。

表中的 目錄模式版本 可以從RCVER 表中查看:

SQL> conn rman/rman@orcl; -- 用catalog 用戶登錄

已連接。

SQL> select * from rcver;

VERSION

------------

11.02.00.01

(2)RMAN catalog schema 的版本必須大於等於RMAN 可執行文件的版本。
(3)RMAN catalog對target database目標數據庫向后兼容,支持早期版本的目標數據庫
--當遇到兼容性問題時,會報如下錯誤:
RMAN-6186 -associated message: "PL/SQL package %s.%s version %s in %s database is too old"
RMAN-6429 -associated message: "%s database is not compatible with this version of RMAN".

RMAN 支持混合平台之間支持如下操作:
+ Active Database DUPLICATE
+ Backup-based DUPLICATE using image copies or backup sets
+ RESTORE and RECOVER using image copies or backup sets
(1)在Oracle 10gR2 之后的版本,支持如下操作系統之間的RMAN 操作:
Solaris x86-64 <-> Linux x86-64
HP-PA <-> HP-IA
Windows IA (64-bit) / Windows (64-bitItanium) <-> Windows 64-bit for AMD / Windows (x86-64)
(2) 在Oracle 11gR1 之后的版本,支持如下操作系統之間的RMAN 操作,當然這里也包含第一條里提到的10gR2后的組合。
Linux <-> Windows
(3)在11.2.0.2以上版本中,因為Bug 12702521的存在,SolarisSPARC (64-bit) <-> AIX (64-bit) 這2個版本之間不能進行RMAN 操作。


1 修改控制文件自動備份

rman中有一個比較好用的功能就是自動備份控制文件,而且同時還備份spfile文件。這對於不使用恢復目錄而使用控制文件作為保存恢復信息的備份策略來說,尤為重要!

一般情況下有兩種事件觸發控制文件自動備份。
1、每個rman的backup或copy命令都會觸發自動備份。也就是說每次執行部分備份或者完全備份時,都會執行控制文件和spfile文件的自動備份。備份信息輸出中有 :完成 Control File and SPFILE Autobackup 。
2、數據庫結構發生變化,比如增加表空間、改變表空間大小、增加日志文件組等等。alert日志中有,Starting control autobackup 。。
--查看數據庫是否開啟控制文件自動備份。
RMAN> show controlfile autobackup;
--rman開啟控制文件自動備份
RMAN> configure controlfile autobackup on;

2 修改控制文件保存的時間

控制文件保存的時間由參數CONTROL_FILE_RECORD_KEEP_TIME決定,默認值是7天。 我們可以改成0到365之間的任意值。
SQL> select name,value from v$parameter where name='control_file_record_keep_time';
SQL> alter system set control_file_record_keep_time=20;
SQL> show parameter control_file_record_keep_time

說明:如果控制文件里的記錄被覆蓋了,可以重新 catalog 注冊。 如:
---ASM:
CATALOG START WITH '+disk'; # catalog allfiles from an ASM disk group
--本地目錄:最后一定要加/
CATALOG START WITH '/fs1/datafiles/'; #catalog all files in directory

3 配置備份默認的保存策略

3.1 通過recovery window
如:configure retention policy to recovery window of 7 days;
recover window是保持所有足夠的備份,可以將數據庫系統恢復到最近七天內的任意時刻。任何超過最近七天的數據庫備份將被標記為obsolete。
3.2 通過redundancy
備份保留策略的REDUNDANCY的值,就是最終備份保留的值。
configure retention policy to redundancy 5;
如果REDUNDANCY設置為5,那么Oracle會保留5個備份。

--保存策略重置為默認值(冗余為1)
configure retention policy clear;
--不應用任何保存策略。
CONFIGURE RETENTION POLICY TO NONE;

注意:
配置保存策略不會導致自動刪除備份,需要使用delete obsolete 命令才能刪除過期的備份集。 在report obsolete 命令時顯示到期的備份集。 如果列出的某個文件不能被刪除,需要使用crosscheck 命令,否則,Oracle 刪除delete obsolete命令輸出的所有項。如:
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;

4 Nocatalog下的RMAN 增量備份腳本

4.1 全庫加歸檔0級增量備份。
run{
sql 'alter system archive log current';
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 0 database plus archivelog delete input
format '/u01/app/oracle/rmanbak/db_%d_%U'
tag=db_inc_0;
release channel ch1;
release channel ch2;
}

4.2 全庫加歸檔1級增量備份。
run{
sql 'alter system archive log current';
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 1 database plus archivelog delete input
format '/u01/app/oracle/rmanbak/db1_%d_%U'
tag=db_inc_1;
release channel ch1;
release channel ch2;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM