天天看點

oracle rman學習筆記

一、備份恢複前的一些準備工作

alter system set control_file_record_keep_time=30;

控制檔案中備份記錄儲存時間(機關:天)

二、建立一個存放archive log的目錄

mkdir c:\oracle\archdata

alter system set log_archive_dest_1='location=c:\oracle\archdata' scope=both;

select dest_name,destination,status,error from v$archive_dest where dest_name='LOG_ARCHIVE_DEST_1';

三、RMAN環境變量

configure channel device type disk format 'c:\oracle\backup\DB_%U';

configure controlfile autobackup on;

configure controlfile autobackup format for device type disk to 'c:\oracle\backup\control\f_%F';

configure retention policy to recovery window of 7 days;

四、指令說明

backup archivelog all delete all input ;

第一個all ,備份全部歸檔日志;第二個all,删除所有歸檔目錄下已經備份的歸檔日志,當歸檔目錄隻有一個的時候,可以不指定第二個all。

五、備份執行個體

run{

backup full database 

format 'c:\oracle\backup\full_bk1_%u%p%s.rmn' 

include current controlfile 

plus archivelog format 'c:\oracle\backup\arch_bk1_%u%p%s.rmn'

delete all input;

}

六、增量備份

下面開始建立0級 1級 2級備份腳本

0級備份腳本

vim rman_bk_level0.sh

------0級備份----------------

#! /bin/bash

export ORACLE_SID=orcl

export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'

/u01/app/oracle/11.2.0/dbhome_1/bin/rman target / <<EOF

allocate channel d1 type disk;

allocate channel d2 type disk;

backup incremental level 0 database format '/u01/app/oracle/level0_%d_%s_%p_%u.bkp';

sql 'alter system archive log current';

backup archivelog all delete input format '/u01/app/oracle/log_%d_%s_%p_u%.bkp';

release channel d1;

release channel d2;

crosscheck backup;

delete noprompt obsolete;

exit;

<<EOF

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

1級備份腳本

vim rman_bk_level1.sh

---------1級增量備份---------------

backup incremental level 1 database format '/u01/app/oracle/level1_%d_%s_%p_%u.bkp';

2級備份腳本

vim rman_bk_level2.sh

---------2級增量備份---------------

backup incremental level 2 database format '/u01/app/oracle/level2_%d_%s_%p_%u.bkp';

加入到crontab中

crontab -e

-----------

#周日0級備份

00 23 * * 0 /u01/backup_shell/rman_bk_level0.sh

#周一、二、四、五、六2級增量備份

00 23 * * 1,2,4,5,6 /u01/backup_shell/rman_bk_level2.sh

#周三1級增量備份

00 23 * * 3 /u01/backup_shell/rman_bk_level1.sh

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

結束!

 本文轉自 pgmia 51CTO部落格,原文連結:http://blog.51cto.com/heyiyi/1282917