基於catalog 建立RMAN儲存指令碼

us_yunleiwang發表於2013-12-05

--==============================

-- 基於catalog 建立RMAN儲存指令碼

--==============================

 

    簡言之,將rman的備份恢復命令寫成指令碼並儲存在恢復目錄內,恢復目錄內的指令碼可用性及通用性高於基於檔案系統的指令碼。

客戶端只要能夠登入到RMAN恢復目錄,則這些指令碼可用,尤其對於global指令碼,可以被任意註冊的資料庫排程。

 

一、指令碼的分類

    local : rman連線的目標資料庫下建立的指令碼,此類指令碼僅僅適用於當前目標資料庫。即是針對特定的資料庫建立的rman指令碼

    global : 能夠在恢復目錄註冊的任意目標資料庫中執行

 

二、建立指令碼   

    --建立全域性備份指令碼 

        RMAN> create global script global_full_backup

        2> comment 'A script for full backup to be used with any database'

        3> {

        4>   backup database

        5>   plus archivelog

        6>   tag='Whole_db_bk';

        7>   delete obsolete;

        8> }

 

        created global script global_full_backup   

   

    --建立本地備份指令碼 

        RMAN> create script full_backup

        2> comment 'A script for full backup to be used with current target database'

        3> {

        4>   backup as compressed backupset

        5>   database plus archivelog delete input

        6>   tag='Whole_db_bk';

        7>   delete obsolete;

        8> }

 

        created script full_backup

 

    --從文字檔案建立指令碼

        [oracle@oradb bk]$ cat backup_ctl_spfile   --注意文字檔案必須以"{" 開頭,以"}" 結尾

        {

          allocate channel ch1 device type disk;

          backup current controlfile

          tag='ctl_spfile'

          format '/u01/oracle/bk/rmbk/ctl_spfile_%d_%U';

          release channel ch1;

        }

 

        RMAN> create script ctl_spfile_bk from file '/u01/oracle/bk/rmbk/backup_ctl_spfile';

 

        script commands will be loaded from file /u01/oracle/bk/rmbk/backup_ctl_spfile

        created script ctl_spfile_bk

 

三、檢視指令碼的內容

    print [global] script script_name

    print [global] script script_name to file '

'   --RMAN儲存指令碼轉換到檔案系統可讀檔案

 

    RMAN> print script ctl_spfile_bk;

 

    printing stored script: ctl_spfile_bk

    {

      allocate channel ch1 device type disk;

      backup current controlfile

      tag='ctl_spfile'

      format '/u01/oracle/bk/rmbk/ctl_spfile_%d_%U';

      release channel ch1;

    }

 

    RMAN> print script ctl_spfile_bk to file '/u01/oracle/bk/rmbk/backup_ctl_spfile2';

 

    script ctl_spfile_bk written to file /u01/oracle/bk/rmbk/backup_ctl_spfile2

 

    檢視當前恢復目錄內的指令碼

        list [global | all] script names

       

        RMAN> list script names;

 

        List of Stored Scripts in Recovery Catalog

 

            Scripts of Target Database ORCL

 

               Script Name

               Description

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

               ctl_spfile_bk

 

               full_backup

               A script for full backup to be used with current target database

 

            Global Scripts

 

               Script Name

               Description

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

               global_full_backup

               A script for full backup to be used with any database

 

四、更新指令碼

    replace [global] script scrip_name {....}

    replace [global] script script_name from file '

'  --從檔案更新指令碼

 

    RMAN> replace global script global_full_backup

    2> {

    3>   backup as compressed backupset database plus archivelog

    4>   tag='whole_db_bk';

    5>   delete obsolete;

    6> }

 

    replaced global script global_full_backup

   

五、執行指令碼

    方法:RUN { EXECUTE [global] SCRIPT script_name; }

    rman客戶端直接執行恢復目錄內的指令碼

        rman target sys/redhat@orcl catalog rman/rman@asmdb script 'script_name';

 

    RMAN> run { execute global script global_full_backup;}

 

    executing global script: global_full_backup

 

六、刪除指令碼

    delete [global] script script_name

   

    RMAN> delete script ctl_spfile_bk;

 

    deleted script: ctl_spfile_bk

 

七、其它

    注意:使用EXECUTE SCRIPT, DELETE SCRIPT ,PRINT SCRIPT等命令時,如果一個本地的指令碼未找到,則尋找全域性的指令碼來代替。

    因此應當注意命名規範,儘可能的不使用重名的指令碼名,當DELETE SCRIPT 找不到本地指令碼,而找到同樣名字的全域性指令碼,則全域性

    指令碼被刪除

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062414/,如需轉載,請註明出處,否則將追究法律責任。

相關文章