rman备份策略及备份脚本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Rman归档模式下的热备份策略及实施方案
一、归档模式设置:
1.查看归档状态为非归档
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
archive状态Disabled
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /archivelog
Oldest online log sequence 2
Current log sequence 4
2.设置数据库为归档模式
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter system set log_archive_start=true scope=spfile;
SQL> shutdown immediate;
SQL> startup;
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /archivelog
Oldest online log sequence 2
Next log sequence to archive 4
Current log sequence 4
二、rman配置准备:
在Rman中,已设置了参数每次备份自动备份控制文件和参数文件,其配置命令为:
$ rman target /
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; --设置控制文件和参数文件自动备份
RMAN> set controlfileautobackup format for device type disk to '/backupora/%F'; --设置自动备份控制文件存放位置
三、备份策略:
1、每三个月使用磁带机进行一次数据库全备份:
crontab内容为:
--每个季度的第一天早上1点作一次全备份,将备份记录输出到full_backup.log文件0 1 1 1,4,7,10 * oracle /backupora/full_backup.sh >/backupora/full_backup.log
## full_backup.sh内容如下:
ORACLE_HOME=/orac/orahome/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=hisu; export ORACLE_SID
PATH=$PATH:ORACLE_HOME/bin;export PATH
date
rman
date
##full_backup.sql内容:
$rman target /
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup database;
backuparchivelog all not backed up;
copy current controlfile to '/backupora/control.ctl';
release channel c4;
release channel c3;
release channel c2;
release channel c1;
}
2、每星期进行一次level 0的增量备份(基础备份):
crontab内容为:
--每个星期五23:00分作一次基本备份,将备份记录输出到inc_backup_lv0.log文件
0 23 * * 5 oracle /backupora/inc_backup_lv0.sh >/backupora/inc_backup_lv0.log
## inc_backup_lv0.sh内容如下:
ORACLE_HOME=/orac/orahome/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=hisu; export ORACLE_SID
PATH=$PATH:ORACLE_HOME/bin;export PATH
date
rman
date
## inc_backup_lv0.sql内容:
$rman target /
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup incremental level = 0 database;
backuparchivelog all not backed up;
copy current controlfile to '/backupora/control.ctl';
release channel c4;
release channel c3;
release channel c2;
release channel c1;
}
3、每隔一小时进行一次level 1增量备份:
crontab内容为:
--每天中午一点钟和晚上10点钟作一次增量备份,将备份记录输出到inc_backup_lv1.log文件
0 13,22 * * * oracle /backupora/inc_backup_lv1.sh >/backupora/inc_backup_lv1.log
## inc_backup_lv1.sh内容如下:
ORACLE_HOME=/orac/orahome/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=hisu; export ORACLE_SID
PATH=$PATH:ORACLE_HOME/bin;export PATH