探索ORACLE之RMAN_01概念
作者:吳偉龍
1、 什么是RMAN
Rman(Recovery Manager)是Oracle 8i以后DBA的一重要工具,一般位於$ORACLE_HOME/bin目錄下,主要用來備份,還原和恢復。可以實現基於數據庫級別,表空間級別,文件級別完全恢復和不完全恢復。
2、 為什么要用RMAN
因為Rman可以有效的備份恢復數據庫的數據文件和歸檔日志及控制文件,可以有效的保障數據的一致性,做到數據的最大可用性和及時有效的恢復性。同時它也具有以下優點:
2.1可以實現自動備份和恢復
2.2方便有效的備份歸檔日志
2.3自動檢測新的數據文件
2.4支持增量備份
2.5最大限度的減少備份和恢復的錯誤
2.6減少恢復時間
2.7在熱備中不會產生redo日志
2.8自動檢測損壞的數據塊,並跳過。
2.9並行備份恢復
2.10在線備份不影響業務的正常運轉
3、 RMAN的作用
Rman是Oracle用來備份恢復數據庫的數據文件,歸檔日志,控制文件以及參數文件及整個數據庫的備份恢復工具,同時也可以用來執行完全備份恢復和不完全備份恢復,通過計划任務實現自動的定時的最優化的備份恢復方案。
4、 RMAN的體系架構
對於組成以上RMAN的結構,包括如下幾個部分,並做簡要說明:
1、RMAN工具
它是一服務器管理恢復工具(ServerManaged Recover 簡寫SMR)實際上它就是一獨立應用程序,主要是建立oracle數據庫的客戶端連接,達到有效的訪問並對數據庫執行備份恢復操作;起源於Oracle版本8,一般位於$ORACLE_HOME/bin 目錄下,可以通過運行rman這個命令來啟動RMAN 工具,用於備份與恢復的接口。
2、服務進程
RMAN的服務進程是一個后台進程,用於與RMAN工具與數據庫之間的通信,也用於RMAN 工具與磁盤/磁帶等I/O 設置之間的通信,服務進程負責備份與恢復的所有工作,在如下情況將產生一個服務進程
·當連接到目標數據庫
·分配一個新的通道
3、通道
通道是服務進程與I/O 設備之前讀寫的途徑,一個通道將對應一個服務進程,在分配通道時,需要考慮I/O設備的類型,I/O 並發處理的能力,I/O 設備能創建的文件的大小,數據庫文件最大的讀速率,最大的打開文件數目等因素
4、目標數據庫
就是RMAN 進行備份與恢復的數據庫,RMAN 可以備份除了聯機日志,pfile,密碼文件之外的數據文件,控制文件,歸檔日志,spfile
5、恢復目錄
用來保存備份與恢復信息的一個數據庫,不建議創建在目標數據庫上,利用恢復目錄可以同時管理多個目標數據庫,存儲更多的備份信息,可以存儲備份腳本。如果不采用恢復目錄,可以采用控制文件來代替恢復目錄,oracle 9i因為控制文件自動備份的功能,利用控制文件很大程度上可以取代恢復目錄。
6、媒體介質管理層
Media Management Layer (MML)是第三方工具,用於管理對磁帶的讀寫與文件的跟蹤管理。如果你想直接通過RMAN 備份到磁帶上,就必須配置媒體管理層,媒體管理層的工具如備份軟件可以調用RMAN來進行備份與恢復。
7、 備份,備份集與備份片
當發出backup命令的時候,RMAN 將創建一個完成的備份,包含一個到多個備份集,備份集是一個邏輯結構,包含一組的物理文件。這些物理文件就是對應的備份片。備份片是最基本的物理結構,可以產生在磁盤或者磁帶上,可以包含目標數據庫的數據文件,控制文件,歸檔日志與spfile文件。
備份集與備份片有如下規定:
(1)一個數據文件不能跨越一個備份集,但是能跨多個越備份片
(2)數據文件,控制文件能保存在同樣的備份集上,但是不能與歸檔日志保存在同樣的備份集上
8、rman資料庫
RMAN資料庫(RMAN Repository)存儲了目標數據庫的元數據(Metadata)和使用RMAN備份的備份集信息,例如備份集的位置,備份集內包括的備份片,備份集的狀態等。RMAN進行備份和恢復操作都要訪問RMAN資料庫。