欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle生产环境RMAN备份脚本

程序员文章站 2022-05-23 23:19:38
...

题记:这里分享一下我们Oracle的备份脚本,这些脚本均在生产库运行,正确无误! 环境:SUSE Linux 10sp2 + Oracle 11gR1 说明:小

题记:这里分享一下我们Oracle的备份脚本,这些脚本均在生产库运行,正确无误!

环境:SUSE Linux 10sp2 + Oracle 11gR1

说明:小型库一般都是每周做一次全备,大型库每周也做一次全备外,周三做1级增量备份,然后每天晚上都做一次2级增量备份,归档日志每天分不同时段定时备份!

--------------------------------------分割线 --------------------------------------

推荐阅读:

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

--------------------------------------分割线 --------------------------------------

小型库全备:
run {
# Hot database level 0 whole backup
allocate channel t1 type disk;
backup
incremental level 0
skip inaccessible
format '/backup/osedb_osedb01/data/back_%s_%p_%T_%d'
#AS COMPRESSED backupset
database plus archivelog
format '/backup/osedb_osedb01/arch/arclogback_%s_%p_%t_%d'
delete input;
delete obsolete;
release CHANNEL t1 ;
}

大库全备:
oracle@subsdb1:~/bin/incre_bakup_cmd> cat backup_db_level0.cmd
run {
# Hot database level 0 whole backup
allocate channel t1 type disk maxpiecesize=50G;
allocate channel t2 type disk maxpiecesize=50G;
allocate channel t3 type disk maxpiecesize=50G;
backup as compressed backupset
incremental level 0 tag 'subsdb_level0'
skip inaccessible
format '/backup/subsdb_subsdb1/data/bak_%d_%T_%s_%p_db_level0'
#AS COMPRESSED backupset
database
plus archivelog
format '/backup/subsdb_subsdb1/arch/arclogback_%s_%p_%t_%d'
delete input;
backup current controlfile format '/backup/subsdb_subsdb1/data/bak_%d_%T_%s_ctl.ctl';
release channel t1;
release channel t2;
release channel t3;
delete noprompt obsolete;
}

1级增量备份:
oracle@subsdb1:~/bin/incre_bakup_cmd> cat backup_db_level1.cmd
run {
# Hot database level 1 whole backup
allocate channel t1 type disk maxpiecesize=50G;
allocate channel t2 type disk maxpiecesize=50G;
allocate channel t3 type disk maxpiecesize=50G;
backup as compressed backupset
incremental level 1 tag 'subsdb_level1'
skip inaccessible
format '/backup/subsdb_subsdb1/data/bak_%d_%T_%s_%p_db_level1'
#AS COMPRESSED backupset
database plus archivelog
format '/backup/subsdb_subsdb1/arch/arclogback_%s_%p_%t_%d'
delete input;
backup current controlfile format '/backup/subsdb_subsdb1/data/bak_%d_%T_%s_ctl.ctl';
release channel t1;
release channel t2;
release channel t3;
delete noprompt obsolete;
}

2级增量备份:
oracle@subsdb1:~/bin/incre_bakup_cmd> cat backup_db_level2.cmd
run {
# Hot database level 2 whole backup
allocate channel t1 type disk maxpiecesize=50G;
allocate channel t2 type disk maxpiecesize=50G;
allocate channel t3 type disk maxpiecesize=50G;
backup as compressed backupset
incremental level 2 tag 'subsdb_level2'
skip inaccessible
format '/backup/subsdb_subsdb1/data/bak_%d_%T_%s_%p_db_level2'
#AS COMPRESSED backupset
database
plus archivelog
format '/backup/subsdb_subsdb1/arch/arclogback_%s_%p_%t_%d'
delete input;
backup current controlfile format '/backup/subsdb_subsdb1/data/bak_%d_%T_%s_ctl.ctl';
release channel t1;
release channel t2;
release channel t3;
delete noprompt obsolete;
}


归档日志备份:
cat backup_arch.cmd
run {

allocate channel t1 type disk;
backup
skip inaccessible
format '/backup/osedb_osedb01/arch/arclogback_%s_%p_%t_%d'
#AS COMPRESSED backupset
(archivelog all delete input);
delete obsolete;
release CHANNEL t1 ;
}