探索ORACLE之RMAN_05備份策略

wuweilong發表於2012-05-29

探索ORACLERMAN_06備份策略

作者:吳偉龍

 

在前幾次的博文中已經談完了備份的所有內容,但是為了更加適應企業的自動備份化需求在今天的課程中可以談談如何構建和規劃一個可以實現自動對資料進行備份的策略,從而減輕DBA的壓力以及提高資料恢復的機率。

 

1、如何制定備份策略

在制定備份策略一定要遵循可恢復性及高效性原則來制定。在制定備份策略的時候儘可能的降低磁碟開銷和恢復所需的時間。

1.1              透過編輯備份指令碼來實現按照規則的備份:

   建立0級增量備份

   run{   

    allocate channel c1 type disk;   ----分配備份通道

    allocate channel c2 type disk;

    allocate channel c3 type disk;

    backup incremental level 0  tag 'leve0' format    ----定義備份級別

    '/volume/level0/leve0%u_%s_%p' database       ----設定備份檔案儲存路徑

    include current controlfile;                     ----同時備份控制檔案

    sql 'alter system archive log current';

    backup filesperset 3 format                     ----備份歸檔日誌

    '/volume/archiv/arch_leve0_%u_%s_%p'

    archivelog all delete input;                      ---備份完成歸檔日誌後刪除

    release channel c1;                            ---關閉通道,和上面的allocate對應。

    release channel c2;

    release channel c3;

}

 

建立一級增量備份

run{   

    allocate channel c1 type disk;

    allocate channel c2 type disk;

    allocate channel c3 type disk;

    backup incremental level 1 tag 'leve1' format

    '/volume/level1/leve1%u_%s_%p' database

    include current controlfile;

    sql 'alter system archive log current';

    backup filesperset 3 format

    '/volume/archiv/arch_leve1_%u_%s_%p'

    archivelog all delete input;

    release channel c1;

    release channel c2;

    release channel c3;

}

 

建立二級增量備份

run{   

    allocate channel c1 type disk;

    allocate channel c2 type disk;

    allocate channel c3 type disk;

    backup incremental level 2 tag 'leve1' format

    '/volume/level2/leve2%u_%s_%p' database

    include current controlfile;

    sql 'alter system archive log current';

    backup filesperset 3 format

    '/volume/archiv/arch_leve1_%u_%s_%p'

    archivelog all delete input;

    release channel c1;

    release channel c2;

    release channel c3;

    }

 

1.2              制定有效的計劃任務(參考上一篇博文中的方式):

 

星期

差異增量

星期天

0

星期一

1

星期二

1

星期三

1

星期四

1

星期五

2

星期六

2

 

 

[oracle@ora01 scripts]$ crontab -l

 

0 2 * * 0 oracle rman target / cmdfile='/opt/data/scripts/leve0.sh'

0 2 * * 1 oracle rman target / cmdfile='/opt/data/scripts/leve1.sh'

0 2 * * 2 oracle rman target / cmdfile='/opt/data/scripts/leve1.sh'

0 2 * * 3 oracle rman target / cmdfile='/opt/data/scripts/leve1.sh'

0 2 * * 4 oracle rman target / cmdfile='/opt/data/scripts/leve1.sh'

0 2 * * 5 oracle rman target / cmdfile='/opt/data/scripts/leve2.sh'

0 2 * * 6 oracle rman target / cmdfile='/opt/data/scripts/leve2.sh'

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

相關文章