RMAN 概述及其體系結構

--=========================css

-- RMAN 概述及其體系結構sql

--=========================數據庫

 

1、Recovery ManagerRMAN)特性bash

    是一種用於集備份(backup)、還原(restore)和恢復(recover)數據庫於一體的Oracle 工具,支持命令行及圖形界面操做服務器

    可以備份整個數據庫、表空間、數據文件、控制文件、歸檔文件以及Spfile參數文件。併發

    支持增量數據塊級別的備份和塊級別的介質恢復oracle

    能夠保存頻繁執行的備份恢復腳本app

    能夠實現數據庫的克隆、使用RMAN創建備用數據庫工具

    支持鏡像備份與備份集,能夠備份到磁盤與磁帶測試

    管理備份與恢復任務

    可增長備份併發度或限制I/O減小備份給數據庫帶來的影響

    在備份期間檢查損壞的數據塊

    支持在備份期間使用壓縮特性來減小磁盤空間的佔用

 

2、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   #--oraclerman命令

            /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進行調整

       

    9.通道與通道分配,請參考:RMAN 配置、監控與管理

   

3、使用RMAN鏈接到數據庫

    1.RMAN使用時須要考慮的問題

        資源:共享內存,更多的進程

        權限:授予用戶sysdba權限,OS訪問設備的權限

        遠程操做

            設置密碼文件

            確保密碼文件被備份

        全球化環境變量設置

        RMAN命令行格式化時間參數

   

    2.鏈接類型

        目標數據庫

        恢復目錄數據庫,缺省狀況下RMAN運行在非恢復目錄數據庫

        輔助數據庫

            Standby database

            Duplicate database

            TSPITR instance

    4.鏈接目標數據庫或恢復目錄

        --不鏈接數據庫僅啓動rman

            [oracle@oradb ~]$ rman

       

        --使用操做系統認證鏈接到目標數據庫

            Unix: $ ORACLE_SID = orcl; export ORACLE_SID

                  $ rman target /

                 

            Win:   C:/> set oracle_sid = orcl

                   C:/> rman target /

                 

        --從命令行鏈接到目標數據庫和恢復目錄

            % rman target / catalog rman/cat@catdb  --使用OS認證,第二個rman爲恢復目錄的schema

            % rman target sys/oracle@trgt catalog rman/cat@catdb  --使用Oracle Net 認證

           

        --rman提示符鏈接到目標數據庫和恢復目錄

            % rman

            RMAN> connect target /                   --使用OS認證

            RMAN> connect catalog rman/cat@catdb

           

            % rman

            RMAN> connect target sys/oracle@trgt     --使用Oracle Net 認證

            RMAN> connect catalog rman/cat@catdb

           

        --命令行鏈接到輔助數據庫

            % rman auxiliary sys/aux@auxdb

            % rman target sys/oracle@trgt auxiliary sys/aux@auxdb catalog rman/cat@catdb

           

        --rman提示符鏈接輔助數據庫

            % rman

            RMAN> connect auxiliary sys/aux@auxdb

           

            % rman

            RMAN> connect target sys/oracle@trgt

            RMAN> connect catalog rman/cat@catdb

            RMAN> connect auxiliary sys/aux@auxdb

       

        --其它

            遠程鏈接

            rman target sys/oracle@trgt

            rman target / nocatalog   等同於rman target /

       

        --rman命令行參數

            輸出到日誌文件

                $ rman target sys/oracle

                  log = $ORALCE_HOME/oradata/log/rman.log append

     

            執行命名文件

            $ rman target sys/oracle

              cmdfile = $ORACLE_HOME/scirpts/my_rman_script.rcv

             

            $rman target sys/oracle@prod @'$ORACLE_HOME/scirpts/my_rman_script.rcv'

 

4、RMAN命令

    RMAN 命令分類

        單命令

            僅僅在RMAN提示符下執行

            單獨被執行

            不可以做爲RUN的子命令

            backup database

            下列命令不能用做批命令來使用

                CONNECT

                CONFIGURE

                CREATE CATALOG, DROP CATALOG, UPGRADE CATALOG

                CREATE SCRIPT, DELETE SCRIPT, REPLACE SCRIPT

                LIST

                REPORT

               

        批命令

            RUN命令中用括號括起來使用,經常使用的批命令爲allocate channel,set newname for datafile,release channel,switch,set

            做爲一個組被執行

            如:

                RMAN> RUN {

                   2> backup incremental level 0

                   3> format '/u01/app/oracle/bak/%d_%s_%p'

                   4> fileperset 5(database include current controlfile);

                   5> sql 'alter databaes archive log current ';}

                  

        混合的獨立和做業命令             

 

5、更多參考       

 

Oracle 冷備份

 

SPFILE錯誤致使數據庫沒法啓動

 

Oracle 用戶、對象權限、系統權限

 

Oracle 角色、配置文件

 

  Oracle 聯機重作日誌文件(ONLINE LOG FILE)

 

  Oracle 控制文件(CONTROLFILE)

 

  Oracle 表空間與數據文件

 

Oracle 歸檔日誌

 


原文連接: http://blog.csdn.net/robinson_0612/article/details/6032525
相關文章
相關標籤/搜索