天天看點

RMAN體系架構的常用元件

    1.RMAN可執行程式

        在Windows作業系統中為rman.exe,在Unix系統中為rman

        程式所在位置:$ORACLE_HOME/bin

        a.程序與記憶體要求

            更多的程序的需要

            大池的配置設定

        b.基本環境變量需求

            ORACLE_SID,ORACLE_HOME,PATH,NLS_LANG,對基于時間的備份與恢複,需要另外設定NLS_DATE_FORMAT

        c.權限要求

            需要sysdba系統權限

            如果是本地,也可以采用OS認證,遠端需要采用密碼檔案認證

        d.版本要求

            RMAN工具版本與目标資料庫必須是同一個版本。如使用恢複目錄    還需要注意

                建立rman恢複目錄的腳本版本必須大于或等于恢複目錄所在資料庫的版本

                建立rman恢複目錄的腳本版本必須大于或等于目标資料庫版本

        e.注意Linux中有兩個RMAN

            [root@robinson ~]# find / -name rman

            /usr/X11R6/bin/rman   #--非oracle的rman指令

            /u01/app/oracle/10g/oc4j/j2ee/oc4j_applications/applications/em/em/database/rman

            /u01/app/oracle/10g/oc4j/j2ee/oc4j_applications/applications/em/em/WEB-INF/perl/db/rman

            /u01/app/oracle/10g/bin/rman  #--oracle中的rman指令

            /u01/app/oracle/10g/sysman/admin/scripts/db/rman       

            根據變量PATH的設定,哪個在前,則優先使用在前面的指令

            解決辦法:修改PATH變量,即将.bash_profile檔案PATH項中$ORACLE_HOME/bin放在$PATH之前

            [oracle@robinson ~]$ echo $PATH  #--修改前

            /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/u01/app/oracle/10g/bin

            [oracle@robinson ~]$ echo $PATH  #--修改後

            /u01/app/oracle/10g/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin

    2.目标資料庫

        目标資料庫即指想要備份、還原與恢複的資料庫。RMAN可執行程式一次隻能連接配接一個資料庫

        目标資料庫的控制檔案存儲了RMAN所需的資訊(存儲倉庫使用控制檔案時),RMAN通過讀取控制檔案來确定目标資料庫的實體結構,

        要備份的資料檔案的位置,歸檔資訊等,在使用RMAN時會對控制檔案進行更新。

    3.伺服器程序與通道

        RMAN可從從遠端或本地通過普通的伺服器會話與調用PL/SQL連接配接到執行個體,RMAN啟動後會産生一個普通的伺服器程序

        一旦備份與還原操作啟動,則RMAN會根據配置啟用一個或多個通道

        通道簡言之即是完成檔案複制工作的的伺服器程序,多通道則實作了并行執行操作

        通道分為備份或還原到磁盤的磁盤通道(disk channel)、備份還原到錄音帶的錄音帶通道(SBT),可以自動或手動配置設定通道

    4.存儲倉庫

        存儲了與目标資料庫及其備份相關的中繼資料

        包含目标資料庫實體結構的詳細資訊、資料檔案的位置

        已完成的所有備份的細節

        RMAN的永久配置資訊

        存儲倉庫始終被存儲在目标資料庫的控制檔案内,或存儲在恢複目錄内(一個單獨的Oracle資料庫)

        參數control_file_record_keep_time決定了控制檔案裡可重複使用的記錄所能儲存的最小天數

            當一條新的記錄需要添加到可重用記錄的空間時,并且最老的記錄在可重用記錄空間中還沒有老化,即實際保留的天數未超過

            這個參數規定的天數,則控制檔案中可重用記錄部分的空間将被自動擴充,此時控制檔案尺寸将會變大。

    5.恢複目錄

        可以将目标資料庫的備份恢複,中繼資料等相關資訊寫入到一個單獨的資料庫,這個單獨的資料庫即為恢複目錄

        恢複目錄可以存儲RMAN腳本,而非恢複目錄情況下,則備份恢複腳本存儲為作業系統檔案

        恢複目錄的内容通常包括,資料檔案、歸檔日志備份集,備份片,鏡像副本、RMAN存儲腳本,永久久的配置資訊等

        建議将恢複目錄放置到與目标資料庫不同的主機之上

    6.支援媒體管理庫

        媒體管理庫用于RMAN從錄音帶進行備份與還原

        RMAN支援主流的錄音帶庫裝置與軟體(IBM,Hewlett Packard)

    7.輔助資料庫(Standby Database $ duplicate database)

        Standby Database:是目标資料庫的一個副本,使用目标資料庫(主資料庫)archived log将其更新,不具有唯一的DBID

            rman 可以建立或備份Standby Database,可用于主資料庫的故障轉移

        duplicate database:是目标資料庫的一個副本或子集,且擁有唯一的DBID,進而獨立于主資料庫

            能夠在相同的恢複目錄内作為一個主資料庫注冊,通常用于測試目的

        TSPITR(tablespace point-in-time recovery):表空間時點恢複,将一個或多個表空間恢複到非目前狀态,而其它表空間保留目前狀态

    8.備份目的地

        預設的備份目的地為閃回區,$ORACLE_BASE/flash_recovery_area/

        可以設定參數DB_RECOVERY_FILE_DEST參數和DB_RECOVERY_FILE_SIZE進行調整