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. Junk-Mail Filter(并差集删点)

    Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  2. 【C/C++多线程编程之九】pthread读写锁

    多线程编程之读写锁      Pthread是 POSIX threads 的简称,是POSIX的线程标准.         pthread读写锁把对共享资源的訪问者分为读者和写者,读者仅仅对共享资源 ...

  3. [转] 使用SQL脚本查看表空间使用率和使用dba_tablespace_usage_metrics视图的差别

    传统的SQL脚本查看表空间使用率,使用的关键视DBA_DATA_FILE和DBA_FREE_SPACE. Oracle 11g引入了DBA_TABLESPACE_USAGE_METRICS视图.其实, ...

  4. Android studio 开发在真机测试

    真机测试 首先按照这设置android studio:   http://jingyan.baidu.com/article/fea4511a75d627f7ba912540.html 2.打开and ...

  5. OC中使用 static 、 extern、 const使用

    static static用于定义静态变量,静态变量只会被初始化一次,并且直到程序销毁时才会释放 static NSString *str = @"asdfa"; const co ...

  6. Spring_database_Template

    配置applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...

  7. USB数据流模型

    USB数据流模型 <<USB Specification11>> << USB Specification20>> << Linux Dev ...

  8. ADO接口

    转自百度文库 ADO中最重要的对象有三个:Connection.Recordset和Command,分别表示连接对象.记录集对象和命令对象. 三个对象对应的智能指针分别是:_ConnectionPtr ...

  9. 简单的mvvm light 应用

      public  class MainStudentModel:ViewModelBase    { //实体        private StudentModel stu = new Stude ...

  10. mysql 组合索引

    MySQL单列索引是我们使用MySQL数据库中经常会见到的,MySQL单列索引和组合索引的区别可能有很多人还不是十分的了解,下面就为您分析两者的主要区别,供您参考学习. 为了形象地对比两者,再建一个表 ...