书写简单RMAN脚本
1、编写0级备份的rman脚本
vim /jobs/backup/back_0.sh
#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
rman target / log '/tmp/x.log' << EOF
run{
allocate channel c1 type disk;
backup incremental level 0 format "/home/oracle/inc0_%u_%T" database;
release channel c1;
}
EOF
2、编写1级备份的rman脚本
vim /jobs/backup/back_1.sh
#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
rman target / log '/tmp/y.log' << EOF
run{
allocate channel c1 type disk;
backup incremental level 1 format "/home/oracle/inc1_%u_%T" database;
release channel c1;
}
EOF
3、给予脚本相应的权限
chmod 755 /jobs/backup/back_0.sh
4、加入crontab
crontab -e
0 0 * * 0 /jobs/backup/back_0.sh
0 0 * * 1,2,3,4,5,6 /jobs/backup/back_1.sh
周日的0点0分做0级备份,周1~6进行1级备份
补充:
对于保存的日志,如果需要保留,可以考虑用天来命名取代固定命名。
可以将backup_0.sh改造成:
vim /jobs/backup/back_1.sh
#!/bin/bash
BKDIR=/backup/`date +%Y%m%d%H%M`
LOGFILE=/logs/`date +%Y%m%d%H%M`.log
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
rman target / log $LOGFILE << EOF
run{
allocate channel c1 type disk;
backup incremental level 1 format "$BKDIR" database;
release channel c1;
}
EOF
补充:
可以使用指令文件来进行控制命令。
vim backup.rmn
run {
backup database;
}
rman target / cmdfile=backup.rmn log=backup.log
利用这种方式也能进行方便的自动备份功能。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341