Oracle生产环境RMAN备份脚本


题记:这里分享一下我们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 ;
 }

相关内容