oracle rman备份慢,linux平台oracle rman备份总结

rman备份

#创建备份路径路径(根据情况而定)

#################################

mkdir -p /u01/app/oracle/backup/archive_log        ##归档日志路径

mkdir -p /u01/app/oracle/backup/backup_log        ##备份日志路径

mkdir -p /u01/app/oracle/backup/backup_data        ##备份集路径

mkdir -p /u01/app/oracle/backup/backup_ctl        #控制文件备份

mkdir -p /u01/app/oracle/backup/backup_arc        ##归档日志备份路径

mkdir -p /u01/app/oracle/backup/scripts                ##备份脚本路径

chown -R oracle:oinstall /u01/app/oracle/backup

chmod 771 -R /u01/app/oracle/backup/

#设置数据库归档模式

#####################################

查看归档日志是否开启

archive log list;

开启归档

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;

修改归档日志路径

alter system set log_archive_dest_1 = 'location=/u01/app/oracle/backup/archive_log/' scope = spfile;

修改控制文件保存备份信息时间

alter sysem set control_file_record_keep_time=32 scope=spfile;

#备份策略

##################################

每个月做一次0级备份

每天做增量1级备份

#备份脚本

#####################################

vi /u01/app/oracle/backup/scripts/level_0_bak.sh

#!/bin/sh

#==========================================================

#The level of the backup: 0

#create date: 2014/12/15

#discription: backup full database except readonly file.

#  as the basics of level 1.

#  run at every month 01:00.

#==========================================================

CUR_DATE=`date +%Y%m%d`

source /home/oracle/.bash_profile

rman target / nocatalog log=/u01/app/oracle/backup/backup_log/level_0_$CUR_DATE.log << EOF_RMAN

run

{

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/backup/backup_ctl/ctl_%F';

allocate channel ch1 device type disk format '/u01/app/oracle/backup/backup_data/level_0_%U_%T.bak';

allocate channel ch2 device type disk format '/u01/app/oracle/backup/backup_data/level_0_%U_%T.bak';

allocate channel ch3 device type disk format '/u01/app/oracle/backup/backup_data/level_0_%U_%T.bak';

sql 'alter system archive log current';

backup incremental level 0 tag 'level_0' database plus archivelog format '/u01/app/oracle/backup/backup_arc/arc_%U_%T.bak' delete input;

release channel ch1;

release channel ch2;

release channel ch3;

crosscheck backupset;

delete noprompt expired backupset;

delete noprompt obsolete;

}

exit;

EOF_RMAN

vi /u01/app/oracle/backup/scripts/level_1_bak.sh

#!/bin/sh

#==========================================================

#The level of the backup: 1

#create date: 2014/12/15

#discription: backup database exchange

#  run at every day 00:00

#==========================================================

CUR_DATE=`date +%Y%m%d`

source /home/oracle/.bash_profile

rman target / nocatalog log=/u01/app/oracle/backup/backup_log/level_1_$CUR_DATE.log << EOF_RMAN

run

{

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/backup/backup_ctl/ctl_%F';

allocate channel ch1 device type disk format '/u01/app/oracle/backup/backup_data/level_1_%U_%T.bak';

allocate channel ch2 device type disk format '/u01/app/oracle/backup/backup_data/level_1_%U_%T.bak';

allocate channel ch3 device type disk format '/u01/app/oracle/backup/backup_data/level_1_%U_%T.bak';

sql 'alter system archive log current';

backup incremental level 1 tag 'level_1' database plus archivelog format '/u01/app/oracle/backup/backup_arc/arc_%U_%T.bak' delete input;

release channel ch1;

release channel ch2;

release channel ch3;

}

exit;

EOF_RMAN

配置计划任务

#################################################

crontab -e

##分  时  日  月  星期

00 01 01 * * * sh /u01/app/oracle/backup/scripts/level_0_bak.sh #每月01:00执行

00 00 * * * * sh /u01/app/oracle/backup/scripts/level_1_bak.sh #每天00:00执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值