首页 > 数据库 > Oracle > hacmp环境下的rman备份
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用户将调用备份脚本的命令加入到自动运行中
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22049049/viewspace-1029153/ ,如需转载,请注明出处,否则将追究法律责任。