1.相关参数介绍:

命令行参数

描述

TARGET

为目标数据库定义的一个连接字符串,当连接到一个目标数据库时,该连续是SYSDBA连接。该用户拥有启动和关闭数据库的权利,必须属于OSDBA组,必须建立一个口令文件允许SYSDBA连接。

CATALOG

连接到恢复目录。

NOCATALOG

不运用恢复目录。与CATALOG参数互斥

CMDFILE

定义了输出命令文件名称的字符串。当运行RMAN时,可以运行命令文件或者交互式运行

LOG & MSGLOG

定义了包含RMAN输出信息的文件的字符串,LOG参数只能特别运用在命令行中。不能在RMAN中启动SPOOLING,当应用日志文件时,输出的信息并不在屏幕上显示

TRACE

类似于log参数,将产生一个显示RMAN输入信息的文件。使用TRACE在屏幕上也显示。

APPEND

特殊用法,如果消息日志文件存在则将消息追加到该文件中。经常与LOG联合使用

说明:分享的脚本在安装在LINUX的ORACLE 11G测试环境经过测试,如在自己环境使用请修改相应参数。使用source /home/oracle/.bash_profile语句可以确保在LINUX定时任务中执行成功,如果需要在WIN下使用,请酌情修改。

2.只备份归档文件,指定备份目录及备份文件格式

指定的生成日志及备份文件的文件位置、格式。日志格式类似这样:rman-arch20130912-1634.log

[oracle@bys001 ~]$ cat archback.sh
#!/bin/sh
source /home/oracle/.bash_profile
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/rman-arch`date +%Y%m%d-%H%M`.log <<EOF
connect target /;
run{
backup archivelog all delete input
format '/backup/archlog/arch_%d_%T_%s';
}
exit

3.全库备份脚本,包括归档日志及控制文件、SPFILE参数文件

[oracle@bys001 ~]$ cat fullback.sh
#!/bin/sh
source /home/oracle/.bash_profile
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman   log /home/oracle/backfull-`date +%Y%m%d-%H%M`.log <<EOF
connect target /;
run {
backup full tag 'bys001-full' database
format "/backup/full/bys001full_%d_%t_%s"
plus archivelog
format "/backup/full/bys001arch_%d_%t_%s"
delete all input;
}
exit

4.差异增量Differential备份脚本--有0、1、2三级%%%这是默认的增量备份方式

0级差异增量备份脚本

[oracle@bys001 ~]$ cat back0.sh
#!/bin/sh
source /home/oracle/.bash_profile
#########rman-back level0
rman   log /home/oracle/back0-`date +%Y%m%d-%H%M`.log <<EOF
connect target /;
run {
backup incremental level=0 tag 'bys001-0' database
format "/backup/full/bys001full_%d_%t_%s"
plus archivelog
format "/backup/full/bys001arch_%d_%t_%s"
delete all input;
}
exit

1级差异增量备份脚本

[oracle@bys001 ~]$ cat back1.sh

#!/bin/sh

source /home/oracle/.bash_profile

#########rman-back level 1

##########

rman   log /home/oracle/back1-`date +%Y%m%d-%H%M`.log <<EOF

connect target /;

run {

backup incremental
level=1 tag 'bys001-1' database

format "/backup/full/bys001full_%d_%t_%s"

plus archivelog

format "/backup/full/bys001arch_%d_%t_%s"

delete all input;

}

exit

2级差异增量备份脚本

[oracle@bys001 ~]$ cat back2sh

#!/bin/sh
source /home/oracle/.bash_profile
#########rman-back level 2
rman   log /home/oracle/back2-`date +%Y%m%d-%H%M`.log <<EOF
connect target /;
run {
backup incremental level=2 tag 'bys001-2' database
format "/backup/full/bys001full_%d_%t_%s"
plus archivelog
format "/backup/full/bys001arch_%d_%t_%s"
delete all input;
}
exit

5.cumulative累积增量备份--有0、1、2三级

0级累积增量备份脚本

#!/bin/sh
source /home/oracle/.bash_profile
#########rman-back level 0 ---cumulative
rman   log /home/oracle/back0-`date +%Y%m%d-%H%M`.log <<EOF
connect target /;
run {
backup incremental level=0 cumulative tag 'bys001-0' database
format "/backup/full/bys001full_%d_%t_%s"
plus archivelog
format "/backup/full/bys001arch_%d_%t_%s"
delete all input;
}
exit

1级累积增量备份脚本

#!/bin/sh
source /home/oracle/.bash_profile
#########rman-back level 1 --cumulative
rman   log /home/oracle/back1-`date +%Y%m%d-%H%M`.log <<EOF
connect target /;
run {
backup incremental level=1 cumulative tag 'bys001-1' database
format "/backup/full/bys001full_%d_%t_%s"
plus archivelog
format "/backup/full/bys001arch_%d_%t_%s"
delete all input;
}
exit

2级累积增量备份脚本

这个脚本里使用了服务名来登陆RMAN。最好先在RMAN中使用connect target sys/sys@192.168.1.212:1521/bys001;确认登陆正常再写入脚本。

当然也可以使用 rman target sys/sys@bys001

#!/bin/sh
source /home/oracle/.bash_profile
#########rman-back level 2 ---cumulative
rman   log /home/oracle/back2-`date +%Y%m%d-%H%M`.log <<EOF
connect target sys/sys@192.168.1.212:1521/bys001;
run {
backup incremental level=2 cumulative  tag 'bys001-2' database
format "/backup/full/bys001full_%d_%t_%s"
plus archivelog
format "/backup/full/bys001arch_%d_%t_%s"
delete all input;
}
exit

RMAN多种备份脚本分享的更多相关文章

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

    rman备份脚本: #!/bin/bashsource /home/oracle/.bash_profile rman target / << EOFrun {allocate chann ...

  2. Mysqldump备份说明及数据库备份脚本分享-运维笔记

    MySQLdump是MySQL自带的导出数据工具,即mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中.Mysqldump是一个客户端逻辑备份的工 ...

  3. tomcat集群日志切割和远程备份脚本分享

    笔者一共有3台tomcat服务器,一共4个tomcat服务,未来还会增加4个作为负载,笔者想通过在存储服务器对tomcat服务的日志进行远程切割和备份到存储上. 文中采用清空日志的方式,优点是不用重启 ...

  4. RMAN 增量备份 脚本

    ################################################################## ##    rman_backup.sh              ...

  5. RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)

    RMAN 程序的兼容性 RMAN 环境由以下5部分组成:(1) RMAN executable(2) Recovery catalog database(3) Recovery catalog sch ...

  6. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...

  7. 【原创】rman 全库备份脚本

    rman 全库备份脚本 run { allocate channel d1 type disk; allocate channel d2 type disk; backup full database ...

  8. RMAN冷备份、一致性备份脚本

    RMAN冷备份.一致性备份脚本 run{ shutdown immediate; startup mount; allocate channel c1 type disk; allocate chan ...

  9. RMAN详细教程(四):备份脚本实战操作

    RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份.检查.维护.恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操作 1.为了安全起见,先将数据 ...

随机推荐

  1. Device Mapper Multipath(DM-Multipath)

    Device Mapper Multipath(DM-Multipath)能够将server节点和存储阵列之间的多条I/O链路配置为一个单独的设备.这些I/O链路是由不同的线缆.交换机.控制器组成的S ...

  2. Velocity入门系列

    Velocity介绍 Velocity是一个java模板引擎,通过简洁的语法可以返回动态内容给浏览器使用,本系类是基于velocity官方文档(就是照着翻译,同时对不清楚的地方进行详细讲解),其实技术 ...

  3. C++如何将一个整数输出为小数

    double a=3;                      //一定是double不能是int cout.setf(ios::fixed); cout.precision(2); cout< ...

  4. JavaSE学习总结第27天_反射 & 设计模式 & JDK5、7、8新特性

      27.01  反射_类的加载概述和加载时机 类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载:就是指将class文件读 ...

  5. BZOJ 1878: [SDOI2009]HH的项链( BIT )

    离线处理 , 记下询问的左右端点并排序 , 然后可以利用树状数组 , 保证查询区间时每种颜色只计算一次 ------------------------------------------------ ...

  6. [LeetCode]题解(python):124-Binary Tree Maximum Path Sum

    题目来源: https://leetcode.com/problems/binary-tree-maximum-path-sum/ 题意分析: 给定一棵树,找出一个数值最大的路径,起点可以是任意节点或 ...

  7. IOS UIActionSheet的使用方法

    在IOS的用户接口向导中,苹果提供了另外一种显示警告框的手法,叫做UIActionSheet.它和UIAlertView比起来不会显得过于急切和紧张.而是很温和地在继续流程之前给用户提供了诸多选择. ...

  8. Apache proxy中转设置

    参考http://sjsky.iteye.com/blog/1067119 打开http.conf  (macOS中 Apache配置文件在/etc/apache2/中   etc是隐藏的) 确保下面 ...

  9. 分组求和SQL示例

        1.ROLLUP和CUBE函数,自动汇总数据      select * from test_tbl的数据这样的      col_a col_b col_c      ---- ----- ...

  10. linux历史发展

    1.什么是开源? 开源就是软件和源代码都是公开的. 可以修改(完善作者的代码)和创建自己的软件. 2.免费软件不同于自由软件,虽然它是免费的,但他不公布源代码,共享软件与免费软件有点类似,其初起是不收 ...