oracle rman 增量备份脚本

采用0112111增量备份策略,7天一个轮回

也就是周日0级备份,周1 2 4 5 6 采用2级增量备份,周3采用1级增量备份

配置控制文件备份路径

  1. RMAN > CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/u01/backup/rmanbk/ccontrolfile_%F‘;

数据备份目录

  1. $ mkdir -p /u01/backup/rmanbk

首先将过期天数设为7天

  1. RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

下面开始创建0级 1级 2级备份脚本

0级备份脚本

  1. vim rman_bk_level0.sh
  2. ------0级备份----------------
  3. #! /bin/bash
  4. export ORACLE_SID=orcl
  5. export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘
  6. /u01/app/oracle/11.2.0/dbhome_1/bin/rman target / <<EOF
  7. run{
  8. allocate channel d1 type disk;
  9. allocate channel d2 type disk;
  10. backup incremental level 0 database format ‘/u01/backup/rmanbk/level0_%d_%s_%p_%u.bkp‘;
  11. sql ‘alter system archive log current‘;
  12. backup archivelog all delete input format ‘/u01/backup/rmanbk/log_%d_%s_%p_u%.bkp‘;
  13. }
  14. crosscheck backup;
  15. delete noprompt obsolete;
  16. exit;
  17. <<EOF
  18. ------------------

1级备份脚本

  1. vim rman_bk_level1.sh
  2. ---------1级增量备份---------------
  3. #! /bin/bash
  4. export ORACLE_SID=orcl
  5. export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘
  6. /u01/app/oracle/11.2.0/dbhome_1/bin/rman target / <<EOF
  7. run{
  8. allocate channel d1 type disk;
  9. allocate channel d2 type disk;
  10. backup incremental level 1 database format ‘/u01/backup/rmanbk/level1_%d_%s_%p_%u.bkp‘;
  11. sql ‘alter system archive log current‘;
  12. backup archivelog all delete input format ‘/u01/backup/rmanbk/log_%d_%s_%p_u%.bkp‘;
  13. }
  14. crosscheck backup;
  15. delete noprompt obsolete;
  16. exit;
  17. <<EOF

2级备份脚本

  1. vim rman_bk_level2.sh
  2. ---------2级增量备份---------------
  3. #! /bin/bash
  4. export ORACLE_SID=orcl
  5. export NLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘
  6. /u01/app/oracle/11.2.0/dbhome_1/bin/rman target / <<EOF
  7. run{
  8. allocate channel d1 type disk;
  9. allocate channel d2 type disk;
  10. backup incremental level 2 database format ‘/u01/backup/rmanbk/level2_%d_%s_%p_%u.bkp‘;
  11. sql ‘alter system archive log current‘;
  12. backup archivelog all delete input format ‘/u01/backup/rmanbk/log_%d_%s_%p_u%.bkp‘;
  13. }
  14. crosscheck backup;
  15. delete noprompt obsolete;
  16. release d1;
  17. exit;
  18. <<EOF

加入到crontab中

  1. crontab -e
  2. -----------
  3. #周日0级备份
  4. 00 23 * * 0 /u01/backup_shell/rman_bk_level0.sh
  5. #周一、二、四、五、六2级增量备份
  6. 00 23 * * 1,2,4,5,6 /u01/backup_shell/rman_bk_level2.sh
  7. #周三1级增量备份
  8. 00 23 * * 3 /u01/backup_shell/rman_bk_level1.sh
时间: 2024-08-02 21:37:19

oracle rman 增量备份脚本的相关文章

RMAN增量备份-备份保留策略-设置备份集属性

RMAN增量备份:增量备份级别:0,1,2,3,4BACKUP DATABASE也是创建数据库的完整备份,但是这种备份不同于增量备份的0级备份.这种备份不包含增量备份的0级备份,并不支持在此基础上再创建增量备份.1.建立增量级0级的全库备份 C:\Users\Administrator>RMAN 恢复管理器: Release 11.2.0.1.0 - Production on 星期三 12月 17 21:44:29 2014 Copyright (c) 1982, 2009, Oracle a

Xtrabackup全量备份/增量备份脚本

一.全量备份脚本 1.全量备份脚本 #!/bin/bash #Description:xtrabackup complete #Author:created by michael #2017-08-07 v0.1 # USER=root PASSWD=123456 BACKUP_DIR=/backup/mysql/complete DATE=$(date +"%F_%T") [[ -d $BACKUP_DIR ]] || mkdir $DATE_DIR innobackupex --u

Oracle每天自动备份脚本

因为需要最近写了一个适用于Oracle上的备份脚本,Oracle的数据备份不像MySQL一样直接使用二进制工具就可以备份,在Oracle上进行数据备份需要 做好相应的配置,在配置好后才能进行正常的数据备份脚本,所以在Oracle备份数据前需要做一些配置. 首先,因为Oracle的11g开始的特性,空表不会分配表空间所以在备份脚本中我使用了expdp工具来进行数据备份,在备份开始之前需要先把Oracle的数据泵导出目录用DBA账户先做好指定并且授权读写,再修改目录的属组,操作很简单,就是一些exp

svn dump增量备份脚本

svn 增量备份脚本, 环境:系统,centos6.5,svn version 1.6.11,httpd Apache/2.2.15 (Unix) APR 1.3.9, APR-Util 1.3.9,全部为yum编译 一些常用命令 svn ls -v /opt/svn/snn                  查看svn目录文件列表 svn --version                      查看svn版本 svnadmin create /opt/svn/snn          

Xtrabackup每周增量备份脚本程序

Xtrabackup每周增量备份脚本程序(含附件) 程序描述 本程序是一个对percona xtrabackup使用的脚本,它完成了MySQL每周的备份. 程序结构 此程序包含了4个目录(bin.conf.log.var): bin:存放运行备份的主脚本程序(*.sh). conf:存放着程序运行的配置文件变量(*.conf). log:存放的是备份时xtrabackup的输出内容(*.log). var:存放了索引文件(*.index)和错误记录文件(*.err). *.index:每当备份成

oracle数据库shell备份脚本

1.root用户下创建备份路径: mkdir /opt/backup chown oralce:oinstall /opt/backup 2.oracle用户创建备份脚本路径: mkdir /opt/app/oracle/bin cd /opt/app/oracle/bin 3.创建备份脚本 vi backup.sh #!/bin/sh export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.

【转】在rman增量备份中,有差异增量和累积增量的概念

本文转自hougoo的博客 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间:而差异增量正好相反,它可以备份同级备份以来变化的数据块.所以会减少备份时间,但需要更多的恢复时间.在oracle 9中增量备份需要通过扫描整个数据库的数据块才能知道哪些数据块发生了变化,这是一个代价很大,时间很长的过程,而且由于增量备份

一个简单的RMAN自动备份脚本

rman备份脚本: #!/bin/bashsource /home/oracle/.bash_profile rman target / << EOFrun {allocate channel ch1 type disk;allocate channel ch2 type disk;backup incremental level 0 database include current controlfile plus archivelog delete all input;release ch

如何使用 RMAN 增量备份恢复 data guard log gap(日志断档)

主库查询最小scn 信息: SQL> col current_scn for 999999999999999 SQL>  SELECT CURRENT_SCN FROM V$DATABASE; select min(fhscn) from x$kcvfh; select min(f.fhscn) from x$kcvfh f, v$datafile d where f.hxfil =d.file# and d.enabled != 'READ ONLY'     ; CURRENT_SCN -