hacmp環境下的rman備份

cnhtm發表於2009-08-20

1、需求描述

aix的hacmp實現oracle資料庫的主備環境,資料庫採用rman備份到硬碟上,為了保證oralce資料庫切換到備機上之後,rman備份也能正常進行,寫了如下指令碼

2、指令碼列表

crontab內容

23 23 * * * su - oracle -c "/oracle/scripts/fullbackup.sh" >/dev/null 2>&1

fullbackup

run {
allocate channel t1 type disk;
allocate channel t2 type disk;
BACKUP INCREMENTAL LEVEL 0 FILESPERSET 10 FORMAT '/ora_bak/rman/orcl/full_orcl_%T_%s_%p' DATABASE;
sql 'alter system archive log current';
BACKUP FILESPERSET 10 MAXSETSIZE 10G FORMAT '/ora_bak/rman/orcl/full_orcl_%Y%M%D_%s_%p'
SKIP INACCESSIBLE
ARCHIVELOG ALL DELETE INPUT;
backup format '/ora_bak/rman/orcl/spfile1_%T_%t' spfile;
backup format '/ora_bak/rman/orcl/controlfile1_%T_%t' current controlfile;
release channel t1;
release channel t2;
}

fullbackup.sh

BACKDIR="/ora_bak/rman/orcl"
CMDFILE=/oracle/scripts/fullbackup
LOGFILE=/oracle/scripts/fullbackup.log

if [ -a "$BACKDIR" ]; then
export ORACLE_SID=orcl
rman target / nocatalog cmdfile $CMDFILE msglog $LOGFILE
fi

3、使用說明

a、在bakvg上建立備份目錄,掛載點為/ora_bak/,然後在/ora_bak目錄下建立rman/orcl目錄,並將/ora_bak目錄及其子目錄的owner設定為oracle:dba


b、將bakvg新增都ha的資源組中,讓bakvg隨著ha的切換與datavg同時切換,這樣oracle在a機器上執行的時候,a機能訪問/ora_bak/rman/orcl目錄,oracle在b機器執行的時候,b機能訪問/ora_bak/rman/orcl目錄


c、分別在a、b兩臺主機上用oracle使用者,在/oracle目錄中建立 scripts目錄


d、分別在a、b兩臺主機上用oracle使用者進入/oracle/scripts目錄中,然後建立檔案fullbackup和fullbackup.sh,並用chmod a+x *.sh,命令將fullbackup.sh檔案設定為所有使用者都能執行


e、參照crontab的內容用root使用者將呼叫備份指令碼的命令加入到自動執行中

[@more@]

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

相關文章