环境说明
windows 2003
oracle 11.2.0.1 RAC 双节点
RMAN备份(全量备份/增量备份)
RMAN 原策略为每日全备,保留30天,优化为每周日和周三进行RMAN 增量零级备份,周一,二,四,五,六做1级增量备份
RMAN 零级增量备份脚本(相当于数据库全备,但是数据库的全备不可以作为RMAN增量备份的基础备份)
#script.:In_0_Backup.sh
#creater:hqj
#date:2018-05-17
#desc:inc 0 level backup database datafile in archive with rman
#connect database
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
rman target/ << EOF_RMAN
report schema;
list backup summary;
list copy;
run
{
alloate channel c1 device type disk ;
alloate channel c2 device type disk ;
alloate channel c3 device type disk ;
alloate channel c4 device type disk ;
sql 'alter system switch logfile';
crosscheck archivelog all;
delete nopromt expired archivelog all;
delete nopromt archivelog until time ''system-30;
crosscheck backup;
delete nopromt obsolete;
delete nopromt expired backup;
backup incremental level 0 database format '+flash/rman_backup/df_%U.bak'
tag=INC_0;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
RMAN 1级增量备份脚本
#script.:In_1_Backup.sh
#creater:hqj
#date:2018-05-17
#desc:inc 1 level backup database datafile in archive with rman
#connect database
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
rman target/ << EOF_RMAN
report schema;
list backup summary;
list copy;
run
{
alloate channel c1 device type disk ;
alloate channel c2 device type disk ;
alloate channel c3 device type disk ;
alloate channel c4 device type disk ;
sql 'alter system switch logfile';
crosscheck archivelog all;
delete nopromt expired archivelog all;
delete nopromt archivelog until time ''system-30;
crosscheck backup;
delete nopromt obsolete;
delete nopromt expired backup;
backup incremental level 1 database format '+data/rman_backup/df_%U.bak'
tag=INC_1;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
--配置定时任务
$ crontab -l
0 1 * * 0 /home/oracle/In_0_Backup.sh >>/home/oracle/Inc_0_backup.log
0 1 * * 3 /home/oracle/In_0_Backup.sh >>/home/oracle/Inc_0_backup.log
0 1 * * 1-2 /home/oracle/In_1_Backup.sh >>/home/oracle/Incr_1_backup.log
0 1 * * 4-6 /home/oracle/In_1_Backup.sh >>/home/oracle/Incr_1_backup.log
1.当前ASM磁盘组的空间使用率
SQL> col name for a10;
SQL> select name,state,total_mb,free_mb from v$asm_diskgroup;
2.当前RMAN的备份策略,每日全备,在考虑数据安全性和空间有效率用上将原策略调整为全备与增量备份结合的方式
RMAN
RMAN>show all;
3.停集群,停库
#srvctl status service -d db_orcl
#srvctl srop service -d orcl -s ser_name
#srvctl stop database -d orcl
3.开启块跟踪特性
#set oracle_sid=
$ sqlplus / as sysdba
SQL> startup mount
SQL> select * from v$block_change_tracking ;
SQL> show parameter db_create_file --指定块改变的文件记录路径
--将该记录文件配置至ASM的共享存储上
# asmcmd
SQL> alter database enable block_change_tracking using file '+data/block_change_tracking.dbf';
SQL> shutdown immediate
--启动数据库
# srvctl start database -d orcl
# srvctl start service -d orcl
# crs_stat -t
$ sqlplus / as sysdba
SQL> select * from v$block_change_tracking;
--策略调整完成
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20633262/viewspace-2154618/,如需转载,请注明出处,否则将追究法律责任。