概述
很多朋友對rman的一些概念可能都不是很熟悉,所以今天主要介紹下RMAN 配置、監控與管理,溫故而知新。
一、通道及通道分配
1.通道的概念
一個通道代表一個到設備(磁碟或磁帶)的數據流並且在目標資料庫或輔助資料庫實例上產生一個相應的伺服器會話,多個通道則產生多個伺服器會話,這些伺服器會話(或進程)將完成備份、還原與恢復操作等。
通道分為備份或還原到磁碟的磁碟通道(disk channel)、備份還原到磁帶的磁帶通道(SBT)
在對資料庫執行備份和恢復前必須先分配通道
ALLOCATE CHANNEL命令在目標資料庫啟動一個伺服器進程,同時必須定義伺服器進程執行備份或者恢復操作使用的I/O類型,實際上是通過channel來控制備份及恢復時的行為。
通道控制命令的作用:
- 控制RMAN使用的OS資源
- 影響並行度
- 指定I/O 帶寬的限制值(設置limit read rate參數)
- 定義備份片大小的限制(設置limit kbytes)
- 指定當前打開文件的限制值(設置limit maxopenfiles)
2.自動分配通道
2.1、相關命令
可以使用下列命令來自動分配通道,一旦RMAN設定了下列參數,則RMAN根據這些配置來自動分配通道
CONFIGURE DEVICE TYPE ...PARALLELISM CONFIGURE DEFAULT DEVICE TYPE CONFIGURE CHANNEL
假定在RMAN提示符下執行backup datafile 1,則RMAN會使用預先配置的通道參數為之分配通道,這些命令backup、restore、delete在非run塊中運行時會根據configure命令設定的值自動分配通道,但上述命令在run塊中則需要手動分配通道
改變預設的設備類型
RMAN> CONFIGURE DEFAULT DEVICE TYEP TO sbt;
為自動分配通道配置並行度
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3;
配置自動通道選項
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT = '/BACKUP/RMAN/%U'; RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 3G;
2.2、實驗–將device type 改為sbt後再改回到預設值
RMAN> show default device type; --顯示default device type 的值 RMAN> configure default device type to sbt; --將default device type值置為sbt RMAN> show default device type ; --顯示更改後的default device type 的值 RMAN> configure default device type clear; --將default device type置為預設值 RMAN> show default device type;


3、手動分配通道
BACKUP,COPY,RESTORE,RECOVER等命令至少需要分配一個通道
分配一個通道將在目標資料庫所在伺服器啟動一個服務進程,分配的通道實際上是指定了並發度,可以指定備份到不同的介質,並且可以在手工通道時指定讀寫速度。
下面的示例分配了個通道,且對不同的數據文件使用不同的通道來完成備份工作
RMAN> RUN { allocate channel ch1 device type disk; allocate channel ch2 device type disk; allocate channel ch3 device type disk; backup incremental level 0 (datafile 1,4 channel ch1) (datafile 2,3 channel ch2) (datafile 5,6 channel ch3); alter system archive log current;}
4、通道配置選項
- connect :是一個Oracle Net連接串。一般不適用於單實例環境
- format : 為通道創建的備份片或映像副本確定路徑與文件名
- duration: 控制作業的時間總量,以小時和分鐘進行指定
- maxopenfiles:該選項限制RMAN一次能夠打開的輸入文件數,默認為
- maxpiecesize:限制一個備份集分割的備份片的大小,以位元組(默認)、k、m、g為單位
- parms:能夠被用於設置sbt_type通道所需的任何變數
- filesperset:備份集中可容納的文件數
二、configure命令的使用
configure命令可以完成下列任務
- 配置通道的自動分配
- 指定備份的保留策略
- 指定備份副本的副本數
- 限制備份集的大小
- 設置預設的備份類型為備份集或鏡像備份
- 啟用或關閉備份優化
- 配置是否自動備份控制文件
- 配置備份到磁帶
示例:
配置自動通道
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT = '/BACKUP/RMAN/%U';
配置保留策略恢復窗口
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
配置保留策略的冗餘數
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
配置多個備份鏡像
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;
配置自動優化備份
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
使用清除命令恢復到預設值
RMAN> CONFIGURE RETENTION POLICY CLEAR; RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;
配置備份的並行度
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2
配置備份片的大小
RMAN> configure channel device type disk maxpiecesize=1G;
配置I/O讀速率(使用allocate channel 或configure channel的rate選項)
RMAN> configure channel device type disk rate 1M;

三、Show命令的使用
show命令用於顯示永久配置設置的相關信息
使用show命令顯示的主要內容有
- 自動通道配置設置
- 備份保留策略設置
- 備份鏡像副本數量
- 備份集大小設置
- 從備份中排除的表空間
- 備份優化狀態
最常用的是show all命令,也可以顯示單個設置的信息,如
RMAN> show backup optimization;

四、List命令的使用
- 列出備份集、數據文件鏡像等
- 列出指定表空間任意數據文件的備份集或鏡像副本
- 列出指定範圍內包含歸檔日誌的備份集或鏡像副本
相關命令如下:
RMAN> list backup; RMAN> list copy; RMAN> list backup of database; RMAN> list backup of tablespace uers; RMAN> list backup of archivelog all; RMAN> list backup verbose; RMAN> list backup summary; RMAN> list backup of datafile { n | <dir>} RMAN> list copy of archive from time = 'sysdate - 7'; RMAN> list backup of archivelog from sequence 1000 until sequence 1020; RMAN> list backupset tag=TAG20101014T155753; RMAN> list backup; --列出備份信息

五、Report命令的使用
Report命令顯示存儲倉庫中詳細的分析信息,比如,哪些文件需要備份,哪些備份可以被刪除,哪些文件不可恢復等。相關命令如下:
RMAN> report schema; RMAN> report need backup; RMAN> report need backup days 3; RMAN> report need backup redundancy 3; RMAN> report need backup recovery window of 3 days; RMAN> report obsolete; RMAN> report unrecoverable; RMAN> report schema at time 'sysdate-7'; RMAN> report need backup days 2 tablespace system; RMAN> report need backup;

六、Delete命令的使用
刪除相關的備份集或鏡像副本的物理文件,同時將刪除標記delete更新到控制文件.如果使用恢複目錄,則是清除恢複目錄內的該備份集。相關命令如下:
RMAN> delete backupset; RMAN> delete backupset n; RMAN> delete obsolete ; RMAN> delete obsolete redundancy 2; RMAN> delete noprompt copy; RMAN> delete noprompt backupset tag TAG20101016T143521; RMAN> delete obsolete recovery window of 7 days; RMAN> delete expired backupset; RMAN> delete expired copy; RMAN> delete expired archivelog all;


七、crosscheck命令的使用
用於校驗存儲倉庫中的備份集或鏡像副本,執行該命令後,將更新存儲倉庫中的剛剛校驗的對象狀態,便於後續操作處理。
RMAN備份校驗時的幾種狀態
- expired: 對象不存在於磁碟或磁帶。當一個備份集處於expired狀態,則該備份集中所有的備份片同樣處於expired狀態
- available: 對象處於可用狀態。當一個備份集可用,則該備份集內的所有備份片同樣可用
- unavailabe: 對象處於不可用狀態。當一個備份集不可用,則該備份集內的所有備份片同樣不可用
對於磁碟上的備份集,校驗時不需要使用通道。而磁帶上的備份集則必須使用通道,如果未為磁帶配置自動通道,則必須手動分配。
可以校驗執行resetlogs之前的備份,即可以校驗不同的incarnation
RMAN> crosscheck backupset; --校驗備份集 RMAN> crosscheck copy; --校驗鏡像副本 RMAN> crosscheck backup of controlfile; --校驗備份的控制文件 RMAN> crosscheck backup of archivelog all; --校驗所有備份的歸檔日誌 RMAN> crosscheck backup of datafile 1,2; --校驗datafile 1,2 RMAN> crosscheck backup of tablespace sysaux,system; --校驗表空間sysaux,system RMAN> crosscheck backup completed between '13-OCT-10' and '23-OCT-10'; --校驗時間段,時間段格式由NLS_DATE_FORMAT設置 RMAN> crosscheck backupset 1067,1068; --校驗指定的備份集
八、validate命令的使用
驗證一個備份集內的數據的完整性。RMAN掃描備份集的所有備份片,並檢查校驗和,驗證其內容是否可以成功還原
validate是較crosscheck更高一級的驗證操作.crosscheck僅僅是檢查備份集的頭部信息,校驗文件的存在性,validate驗證數據的有效性
RMAN> validate backupset <primary key> [check logical]
九、影響RMAN的相關參數
資料庫初始化參數
control_file_record_keep_time –指定控制文件內RMAN信息被覆蓋前保留的最小天數
db_recovery_file_dest –如果將RMAN備份到此處,需要設置該參數
db_recovery_file_dest_size –如果將RMAN備份到此處,需要設置該參數
環境變數參數
nls_date_format –設定日期
nls_lang –設定環境變數影響restore,recover,report等命令
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232925.html