shell判断oracle主备数据库备份脚本
1. 脚本如下说明:按照客户要求,在主备数据库上同时部署脚本,自动判断是否是主库,如果是主库则进行备份,备库不需要备份,记录日志为备份库即可,以下脚本仅供参考,可以进一步优化。
脚本说明:
1、DATABASE_ROLE查看主备库角色变量
2、Main()函数 数据库备份脚本
3、根据主备库关键字判断是否执行main()函数
#!/bin/bash
# Author:roidba
# filename:/backup/backup.sh
#logfile:/backup/rman_fullbackup.log
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
####variables###
DATABASE_ROLE=`sqlplus -silent "/as sysdba" /backup/rman_fullbackup.log&
crontab -e
07 20 * * * sh /backup/rman_backup.sh >>/backup/rman_fullbackup.log&
3. 理解crontab格式
$more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |.------------- hour (0 - 23)
# ||.---------- day of month (1 - 31)
# |||.------- month (1 - 12) OR jan,feb,mar,apr ...
# ||||.---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |||||
# ***** user-name command to be executed
$
页:
[1]