之前整理了下catalog下全备的脚本,上次在生产库上弄了个nocatalog的脚本,结果没有在本本上保存,这次要用了,重新在整理了一下。

Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

在执行脚本之前,先修改几个参数值:

1. DB 参数:

修改控制文件的保存时间,从默认的7天改成14天

SQL> show parameter control

SQL> alter system set control_file_record_keep_time=14 scope=both;

2. RMAN 参数:

开启控制文件的自动备份,开启之后在数据库备份或者数据文件(比如添加数据文件)有修改的时候都会自动备份控制文件和spfile文件。

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

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

3. 备份策略根据自己的系统决

我这里是周日做0级备份。周四1级备份,其他2级备份。

4. 备份脚本如下:

##################################################################

##   rman_incremental_backup.sh               ##

##    created by Tianlesoftware                 ##

##        2011-1-25                         ##

##################################################################

#!/bin/ksh

export LANG=en_US

BACKUP_DATE=`date +%d`

RMAN_LOG_FILE=${0}.out

TODAY=`date`

USER=`id|cut -d "(" -f2|cut -d ")" -f1`

echo "-----------------$TODAY-------------------">$RMAN_LOG_FILE

ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export ORACLE_HOME

RMAN=$ORACLE_HOME/bin/rman

export RMAN

ORACLE_SID=orcl

export ORACLE_SID

ORACLE_USER=oracle

export ORACLE_USER

echo "ORACLE_SID: $ORACLE_SID">>$RMAN_LOG_FILE

echo "ORACLE_HOME:$ORACLE_HOME">>$RMAN_LOG_FILE

echo "ORACLE_USER:$ORACLE_USER">>$RMAN_LOG_FILE

echo "==========================================">>$RMAN_LOG_FILE

echo "BACKUP DATABASE BEGIN......">>$RMAN_LOG_FILE

echo "                   ">>$RMAN_LOG_FILE

chmod 666 $RMAN_LOG_FILE

WEEK_DAILY=`date +%a`

case  "$WEEK_DAILY" in

"Mon")

BAK_LEVEL=2

;;

"Tue")

BAK_LEVEL=2

;;

"Wed")

BAK_LEVEL=2

;;

"Thu")

BAK_LEVEL=1

;;

"Fri")

BAK_LEVEL=2

;;

"Sat")

BAK_LEVEL=2

;;

"Sun")

BAK_LEVEL=0

;;

"*")

BAK_LEVEL=error

esac

export BAK_LEVEL=$BAK_LEVEL

echo "Today is : $WEEK_DAILY  incremental level= $BAK_LEVEL">>$RMAN_LOG_FILE

RUN_STR="

BAK_LEVEL=$BAK_LEVEL

export BAK_LEVEL

ORACLE_HOME=$ORACLE_HOME

export ORACLE_HOME

ORACLE_SID=$ORACLE_SID

export ORACLE_SID

$RMAN nocatalog TARGET sys/admin msglog $RMAN_LOG_FILE append <<EOF

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup  incremental level= $BAK_LEVEL  skip inaccessible filesperset 5 Database format='/u01/backup/orcl_lev"$BAK_LEVEL"_%U_%T'  tag='orcl_lev"$BAK_LEVEL"' ;

sql 'alter system archive log current';

backup archivelog all tag='arc_bak' format='/u01/backup/arch_%U_%T' skip inaccessible  filesperset 5 not  backed up 1 times  delete input;

backup current controlfile tag='bak_ctlfile' format='/u01/backup/ctl_file_%U_%T';

backup spfile tag='spfile' format='/u01/backup/ORCL_spfile_%U_%T';

release channel c2;

release channel c1;

}

allocate channel for maintenance device type disk;

report obsolete;

delete noprompt obsolete;

crosscheck backup;

delete noprompt expired backup;

list backup summary;

release channel;

EOF

"

# Initiate the command string

if [ "$CUSER" = "root" ]

then

echo "Root Command String: $RUN_STR" >> $RMAN_LOG_FILE

su - $ORACLE_USER -c "$RUN_STR" >> $RMAN_LOG_FILE

RSTAT=$?

else

echo "User Command String: $RUN_STR" >> $RMAN_LOG_FILE

/bin/sh -c "$RUN_STR" >> $RMAN_LOG_FILE

RSTAT=$?

fi

# ---------------------------------------------------------------------------

# Log the completion of this script.

# ---------------------------------------------------------------------------

if [ "$RSTAT" = "0" ]

then

LOGMSG="ended successfully"

else

LOGMSG="ended in error"

fi

echo >> $RMAN_LOG_FILE

echo Script $0 >> $RMAN_LOG_FILE

echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE

echo >> $RMAN_LOG_FILE

/bin/mailx -s "RMAN Backup SID " tianlesoftware@vip.qq.com < $RMAN_LOG_FILE

exit $RSTAT

5. 备份脚本的log 日志:

connected to target database: DAVE (DBID=801102850)

using target database control file instead of recovery catalog

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12>

allocated channel: c1

channel c1: sid=158 devtype=DISK

allocated channel: c2

channel c2: sid=147 devtype=DISK

Starting backup at 01-FEB-12

channel c1: starting incremental level 2 datafile backupset

channel c1: specifying datafile(s) in backupset

input datafile fno=00001 name=/u01/app/oracle/oradata/orcl/system.256.736598559

input datafile fno=00004 name=/u01/app/oracle/oradata/orcl/users.259.736598641

channel c1: starting piece 1 at 01-FEB-12

channel c2: starting incremental level 2 datafile backupset

channel c2: specifying datafile(s) in backupset

input datafile fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux.257.736598563

input datafile fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs1.258.736598599

channel c2: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/orcl_lev2_0dn287g3_1_1_20120201 tag=ORCL_LEV2 comment=NONE

channel c1: backup set complete, elapsed time: 00:00:36

channel c2: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/orcl_lev2_0en287g3_1_1_20120201 tag=ORCL_LEV2 comment=NONE

channel c2: backup set complete, elapsed time: 00:00:36

Finished backup at 01-FEB-12

Starting Control File and SPFILE Autobackup at 01-FEB-12

piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118951_7lmfms6s_.bkp comment=NONE

Finished Control File and SPFILE Autobackup at 01-FEB-12

sql statement: alter system archive log current

Starting backup at 01-FEB-12

current log archived

channel c1: starting archive log backupset

channel c1: specifying archive log(s) in backup set

input archive log thread=1 sequence=9 recid=9 stamp=774118956

channel c1: starting piece 1 at 01-FEB-12

channel c2: starting archive log backupset

channel c2: specifying archive log(s) in backup set

input archive log thread=1 sequence=10 recid=10 stamp=774118956

channel c2: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/arch_0hn287hc_1_1_20120201 tag=ARC_BAK comment=NONE

channel c1: backup set complete, elapsed time: 00:00:02

channel c1: deleting archive log(s)

archive log filename=/u01/archivelog/1_9_738254360.arch recid=9 stamp=774118956

channel c2: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/arch_0gn287hc_1_1_20120201 tag=ARC_BAK comment=NONE

channel c2: backup set complete, elapsed time: 00:00:03

channel c2: deleting archive log(s)

archive log filename=/u01/archivelog/1_10_738254360.arch recid=10 stamp=774118956

Finished backup at 01-FEB-12

Starting backup at 01-FEB-12

channel c1: starting full datafile backupset

channel c1: specifying datafile(s) in backupset

including current control file in backupset

channel c1: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/ctl_file_0in287hg_1_1_20120201 tag=BAK_CTLFILE comment=NONE

channel c1: backup set complete, elapsed time: 00:00:02

Finished backup at 01-FEB-12

Starting backup at 01-FEB-12

channel c1: starting full datafile backupset

channel c1: specifying datafile(s) in backupset

including current SPFILE in backupset

channel c1: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/ORCL_spfile_0jn287hi_1_1_20120201 tag=SPFILE comment=NONE

channel c1: backup set complete, elapsed time: 00:00:01

Finished backup at 01-FEB-12

Starting Control File and SPFILE Autobackup at 01-FEB-12

piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118963_7lmfn45l_.bkp comment=NONE

Finished Control File and SPFILE Autobackup at 01-FEB-12

released channel: c2

released channel: c1

RMAN> RMAN>

allocated channel: ORA_MAINT_DISK_1

channel ORA_MAINT_DISK_1: sid=158 devtype=DISK

RMAN> RMAN>

RMAN retention policy will be applied to the command

RMAN retention policy is set to recovery window of 7 days

no obsolete backups found

RMAN> RMAN>

RMAN retention policy will be applied to the command

RMAN retention policy is set to recovery window of 7 days

no obsolete backups found

RMAN> RMAN>

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_06n2877c_1_1_20120201 recid=1 stamp=774118636

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_05n2877c_1_1_20120201 recid=2 stamp=774118636

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118723_7lmfdojy_.bkp recid=3 stamp=774118725

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_08n287ab_1_1_20120201 recid=4 stamp=774118732

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_09n287ab_1_1_20120201 recid=5 stamp=774118732

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ctl_file_0an287al_1_1_20120201 recid=6 stamp=774118742

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ORCL_spfile_0bn287ao_1_1_20120201 recid=7 stamp=774118744

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118745_7lmffb20_.bkp recid=8 stamp=774118746

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_0dn287g3_1_1_20120201 recid=9 stamp=774118915

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_0en287g3_1_1_20120201 recid=10 stamp=774118923

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118951_7lmfms6s_.bkp recid=11 stamp=774118953

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_0gn287hc_1_1_20120201 recid=12 stamp=774118957

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_0hn287hc_1_1_20120201 recid=13 stamp=774118957

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ctl_file_0in287hg_1_1_20120201 recid=14 stamp=774118961

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ORCL_spfile_0jn287hi_1_1_20120201 recid=15 stamp=774118962

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118963_7lmfn45l_.bkp recid=16 stamp=774118964

Crosschecked 16 objects

RMAN> RMAN>

RMAN> RMAN>

List of Backups

===============

Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

------- -- -- - ----------- --------------- ------- ------- ---------- ---

1       B  2  A DISK        01-FEB-12       1       1       NO         ORCL_LEV2

2       B  2  A DISK        01-FEB-12       1       1       NO         ORCL_LEV2

3       B  F  A DISK        01-FEB-12       1       1       NO         TAG20120201T165843

4       B  A  A DISK        01-FEB-12       1       1       NO         ARC_BAK

5       B  A  A DISK        01-FEB-12       1       1       NO         ARC_BAK

6       B  F  A DISK        01-FEB-12       1       1       NO         BAK_CTLFILE

7       B  F  A DISK        01-FEB-12       1       1       NO         SPFILE

8       B  F  A DISK        01-FEB-12       1       1       NO         TAG20120201T165905

9       B  2  A DISK        01-FEB-12       1       1       NO         ORCL_LEV2

10      B  2  A DISK        01-FEB-12       1       1       NO         ORCL_LEV2

11      B  F  A DISK        01-FEB-12       1       1       NO         TAG20120201T170231

12      B  A  A DISK        01-FEB-12       1       1       NO         ARC_BAK

13      B  A  A DISK        01-FEB-12       1       1       NO         ARC_BAK

14      B  F  A DISK        01-FEB-12       1       1       NO         BAK_CTLFILE

15      B  F  A DISK        01-FEB-12       1       1       NO         SPFILE

16      B  F  A DISK        01-FEB-12       1       1       NO         TAG20120201T170243

RMAN> RMAN>

released channel: ORA_MAINT_DISK_1

RMAN> RMAN>

Recovery Manager complete.

Script rman_incremental_backup.sh

==== ended successfully on Wed Feb 1 17:02:50 EST 2012 ====

6. 将备份脚本添加到Crontab

[oracle@singledb u02]$ crontab -l

20 17 * * * /u02/rman_incremental_backup.sh 1>/u02/rman.log 2>&1 &

关于crontab 参考:

Linux Crontab 定时任务 命令详解

http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315039.aspx

------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(满); DBA2 群:62697977(满)

DBA3 群:62697850   DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

转载于:https://www.cnblogs.com/zlja/archive/2011/01/26/2449724.html

Nocatalog 下的RMAN 增量备份 shell脚本相关推荐

  1. Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

    一. 一些准备知识 Oracle 分归档和非归档模式. 这两者的区别就是对redo log的处理.归档模式下,当一个redo log 写满之后,就会把这个redo log里的内容写入归档文件,等写完之 ...

  2. percona xtrabackupd定期做全备,增量备份shell脚本

    一:全备脚本 cat xtrabackup_full.sh #!/bin/bash local_ip="$(/sbin/ifconfig eth0|grep 'inet addr'|awk ...

  3. mysql数据库ftp备份_Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本...

    说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.t ...

  4. RMAN备份数据库_制作和更新RMAN增量备份(Incremental Backup)

    增量备份只拷贝从指定的之前的备份以后更改过的数据文件块.使用BACKUP命令来创建增量备份. 增量备份要么是累积增量备份,要么是差异增量备份. 虽然备份的内容相同,BACKUP DATABASE和BA ...

  5. linux 检查权限,检查目录下 文件的权限-linux shell脚本,

    检查目录下 文件的权限-linux shell脚本, #!/bin/bash #History: #2019/07/23    Fsq #This Program will check Permiss ...

  6. mysql bat备份_Windows下简单的Mysql备份BAT脚本分享

    前言 本文介绍的是一个简单的在 Windows 下备份 Mysql 的 BAT 脚本,脚本使用 mysqldump命令来备份一个指定的 Mysql 数据库到一个文件,文件格式为 %dbname%-yy ...

  7. linux下的rman自动备份脚本,LINUX上RMAN自动备份脚本

    1. 建备份目录 oradataback,2级目录archback(放归档日志).rmanscripts(备份脚本), 在rmanscripts下面建  rmanlevel0.sh  rmanleve ...

  8. linux+oracle+自动增量备份脚本,linux自动运行rman增量备份脚本

    一.增量备份脚本 0级备份脚本:红色部分为自定义的备份文件放置的目录 #script.:BackupFull.sh #creater:xyh #date:2014-03-08 #desc:backup ...

  9. oracle增量备份0级,oracle_linux自动运行rman增量备份脚本,一、增量备份脚本0级备份脚本...

    一.增量备份脚本 0级备份脚本:红色部分为自定义的备份文件放置的目录 #script.:BackupFull.sh #creater:xyh #date:2014-03-08 #desc:backup ...

最新文章

  1. colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测
  2. 《HTML5移动应用开发入门经典》—— 2.4 HTML5中的HTML语法变化
  3. python 画图_用python解九宫格以及画图
  4. SQL中EXISTS的使用
  5. 3dmax坐标系与导出fbx的坐标系
  6. ClickHouse 副本协同原理:ReplicatedMergeTree引擎
  7. Dojo中跨域获取新浪股票接口返回的数据(练习)
  8. 怎么更换WIN7欢迎界面的背景图?
  9. 联合查询(查找所有分类及其父类)
  10. Yii2 日期和时间组件
  11. Oracle锁庞大介绍
  12. 从入门到入土:在kali中安装Nessus详细操作
  13. jquery.cookie使用方法
  14. 常用播放器替换解码器实现播放10bit编码方式的高清视频
  15. Navicat工具怎么连接oracle数据库
  16. 拓端tecdat|r语言ggplot2误差棒图快速指南
  17. 【提升笔记本续航】WIN10笔记本打开电源选项中的处理器电源管理
  18. 商业化广告--体系学习-- 11 -- 业务实战篇 --流量优化:如何兼顾广告收入和用户体验?
  19. 5.1 定积分的概念与性质
  20. 2020 全国大学生数学建模竞赛C题思路+代码

热门文章

  1. QML笔记-使用connect界面数据交互(qml中Designer使用)
  2. Java工作笔记-Spring Boot + Jdbc + dm7Driver访问数据库(Spring Boot连接达梦数据库)
  3. 系统架构师学习笔记-论文摘要部分的写法
  4. Linux学习笔记-动态库的使用
  5. php运行的四个黄金组合,PHP168与Phpwind强势整合 打造黄金组合
  6. python工厂模式 简书_工厂模式
  7. android初步ui线程案例,android – 它是一个bug还是一个功能?在某些情况下,可以从未在UI线程上运行的任务访问UI线程...
  8. cxf开发webservice服务端怎么返回固定的报文格式_Spring boot webservice怎么玩? 第277篇...
  9. (操作系统题目题型总结)第二章:处理器管理
  10. 数据结构-线性表之循环队列