ITPub博客

首页 > 数据库 > Oracle > rman定时自动0级+1级备份详细步骤(crontab+SHELL脚本)

rman定时自动0级+1级备份详细步骤(crontab+SHELL脚本)

原创 Oracle 作者:Toooooooo晓旭 时间:2015-07-30 21:18:03 0 删除 编辑
1、 配置 rman
(1)修改备份策略冗余度为 2
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
(2)修改控制文件自动备份
CONFIGURE CONTROLFILE AUTOBACKUP ON;
(3)修改备份控制文件路径
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE
DISK TO '/backup/%F';
2、 编写备份语句并测试
(1) 0 级备份脚本
run{
sql 'alter system switch logfile';
backup  as  compressed  backupset  incremental  level  0  format
'/backup/database/FULL_%T_%d_%s_%p.bak' database plus archivelog format '/
home/oracle/arch/FULL_arch_%t_%s.dbf';
sql 'alter system switch logfile';
}
(2)1 级备份脚本
run{
sql 'alter system switch logfile';
backup  as  compressed  backupset  incremental  level  1  format
'/backup/database/FULL_%T_%d_%s_%p.bak' database plus archivelog format
'/home/oracle/arch/INCR_arch_%t_%s.dbf';
sql 'alter system switch logfile';
}
(3)打开跟踪快,优化增量备份
Alter database enable block change tracking using file '/home/oracle/block.trc';
3、 编写 shell 脚本并测试
(1) 0 级备份 shell 脚本
#!/bin/bash
export ORACLE_SID=prod2
export ORA_CRS_HOME=/u01/crs_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export
PATH=$PATH:/u01/crs_1/bin:$ORACLE_HOME/bin:/usr/es/sbin/cluster:/usr/es/sbin/
cluster/utilities:/usr/es/sbin/cluster/sbin:/usr
/es/sbin/cluster/diag:$ORA_CRS_HOME/bin
umask 022
export ORACLE_SID=prod
rman target /<<EOF
run{
sql 'alter system switch logfile';
backup  as  compressed  backupset  incremental  level  0  format
'/backup/database/FULL_%T_%d_%s_%p.bak' database plus archivelog format '/
home/oracle/arch/FULL_arch_%t_%s.dbf';
sql 'alter system switch logfile';
}
crosscheck backup;
delete noprompt obsolete;
EOF
(2)1 级备份 shell 脚本
#!/bin/bash
export ORACLE_SID=prod2
export ORA_CRS_HOME=/u01/crs_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export
PATH=$PATH:/u01/crs_1/bin:$ORACLE_HOME/bin:/usr/es/sbin/cluster:/usr/es/sbin/
cluster/utilities:/usr/es/sbin/cluster/sbin:/usr
/es/sbin/cluster/diag:$ORA_CRS_HOME/bin
umask 022
export ORACLE_SID=prod
rman target /<<EOF
run{
sql 'alter system switch logfile';
backup  as  compressed  backupset  incremental  level  1  format
'/backup/database/FULL_%T_%d_%s_%p.bak' database plus archivelog format '/
home/oracle/arch/INCR_arch_%t_%s.dbf';
sql 'alter system switch logfile';
}
crosscheck backup;
delete noprompt obsolete;
EOF
4、 使用 crontab 调用 shell 备份脚本
crontab –e 编辑重复任务,并将备份日志写进一个文件
00 * * * * sh /home/oracle/incr0.sh >>/backup/back.log 2>&1
15,30,45 * * * * sh /home/oracle/incr1.sh >>/backup/back.log 2>&1

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30134188/viewspace-1757106/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-02-09

  • 博文量
    5
  • 访问量
    11757