使用Rman配置自动增量备份

来源:互联网 发布:淘宝外包公司 编辑:程序博客网 时间:2024/06/16 08:55

1.在/home/NACEC/BackupDatabase/下创建backuplevel0.sh和backuplevel1.sh脚本
backuplevel0.sh内容:
#!/bin/bash

# script.:bakuplevel0.sh
# creater:liu shiming
# date:2010/6/28
# desc:backup level0 database datafile in archive with rman
# connect database
export ORACLE_BASE=/home/DBSoftware/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=NACEC
export PATH=/home/DBSoftware/oracle/product/10.2.0/db_1/bin:$PATH
rman target / << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format '/home/liusm/BackupDatabase/rmanbackup/db0_%d_%T_%s' database include current controlfile;
sql'alter system archive log current';
backup filesperset 3 format '/home/liusm/BackupDatabase/rmanbackup/arch0_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end


backuplevel1.sh内容:

#!/bin/bash
# script.:bakuplevel1.sh
# creater:liu shiming
# date:2010/6/27
# desc:backup level1 database datafile in archive with rman
# connect database
#!/bin/bash
export ORACLE_BASE=/home/DBSoftware/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=NACEC
export PATH=/home/DBSoftware/oracle/product/10.2.0/db_1/bin:$PATH
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 1 tag 'db1' format '/home/liusm/BackupDatabase/rmanbackup/db1_%d_%T_%s' database include current controlfile;
sql'alter system archive log current';
backup filesperset 3 format '/home/liusm/BackupDatabase/rmanbackup/arch1_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end

2.给这两个脚本授予执行的权限
[oracle@NACEC BackupDatabase]$ chmod +x  *.rcv
(注意:要试运行脚本:./backuplevel1.sh)

3.

建立基于数据库的自动备份,使用JOB完成(策略是周日、周三执行0级增量,其他时间执行1级增量)
begin
dbms_scheduler.create_job(
job_name=>'nacec_job0',
job_type=>'executable',
job_action=>'/home/NACEC/BackupDatabase/backuplevel0.sh',
repeat_interval=>'freq=weekly;byday=SUN,WED;byhour=01;byminute=00');
end;
/
exec dbms_scheduler.enable('nacec_job0');

如果想确定该job是否能执行,可以使用下面命令

exec dbms_scheduler.run_job('nacec_job0');进行验证


begin
dbms_scheduler.create_job(
job_name=>'nacec_job1',
job_type=>'executable',
job_action=>'/home/NACEC/BackupDatabase/backuplevel1.sh',
repeat_interval=>'freq=weekly;byday=MON,TUS,THE,FRI,SAT;byhour=01;byminute=00');
end;
/
exec dbms_scheduler.enable('nacec_job1');

如果想确定该job是否能执行,可以使用下面命令

exec dbms_scheduler.run_job('nacec_job1');进行验证

原创粉丝点击