RMAN详细教程(一):基本命令代码

RMAN详细教程(二):备份、检查、维护、恢复

RMAN详细教程(三):备份脚本的组件和注释

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

 

 

一、基本组件:

1、Server session:

服务器会话,服务器上的进程, 是真正用来干活的;

 

2、Channel:

是一个通道, 用来连接数据库与备份的存储介质;

通道配置选项:

connect :是一个Oracle Net连接串。一般不适用于单实例环境
format : 为通道创建的备份片或映像副本确定路径与文件名
duration: 控制作业的时间总量,以小时和分钟进行指定
maxopenfiles:该选项限制RMAN一次能够打开的输入文件数,默认为
maxpiecesize:限制一个备份集分割的备份片的大小,以字节(默认)、k、m、g为单位
parms:能够被用于设置sbt_type通道所需的任何变量
filesperset:备份集中可容纳的文件数
backup set: 是一个集合, 是由一个或多个物理文件组成, 是一个逻辑单位.
backup piece: 是真正的一个输出文件, 受到操作系统单个文件的限制, 即 maxpiecesize 这个参数;

 

3、backuppiece:

备份片,表示一个由RMAN产生备份的文件.用OS工具可以实实在在的看到;

 

4、backupset:

备份集,表示进行一次备份所产生的所有备份片集合,是一个逻辑上的概念;

一个数据文件可以跨备份片存在,而不能跨备份集存在。

 

 

二、基本作业模板:

示例1:

RMAN> run
{
allocate channel c1 device type disk maxpiecesize 1500m;
backup database plus archivelog delete all input;
release channel c1;
}

allocate channel命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的I/O类型。

每个备份片的最大为1500M,超过这个大小就会产生新的备份片,在启动备份时,会归档当前的日志,生成一个备份片,删除已备份的归档日志.然后备份数据文件,生成两个备份片(数据文件2G),再备份当前的SPFILE 和CONTROLFILE,生成一个备份片,最后再做一次LOGSWITCH,备份归档日志,生成一个备份片,因此可以这样描述,这个备份集包含成五个备份片,一个备份片包含文件个数由 FILESPERSET 指定.

 

示例2:

RMAN> run
{
allocate channel c1 device type disk maxpiecesize 1500m;
backup database filesperset 1;
release channel c1;
}

表示一个备份片中包含一个文件,即使没有达到 1500M,也生成新的备份片,如我的有五个数据文件,还有 SPFILE和 CONTROLFILE 一个备份片,一共生成六个备份片.如果加上plus archivelog delete all input这个备份选项,那 FIELSPERSET 这个参数就会被IGNORE掉。

 

 

三、RMAN备份脚本:

1、全备:

$cat arch_rman_backup.sh:

source /home/oracle/.bash_profile
rman target / log=/u01/app/script/arch_rman.log<<EOF
run
{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
sql 'alter system archive log current';
sql 'alter system archive log current';
backup archivelog all format '/backup/arch_%U_%d_%T_%t' delete all input;
backup current controlfile format '/backup/ctl_%U_%d_%T_%t';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
#delete noprompt backup of database completed before 'sysdate -7';
#delete noprompt archivelog all;
#delete noprompt backup of archivelog all completed before 'sysdate -7';
release channel ch1;
release channel ch2;
}
EOF

 

2、归档日志备份:

$cat arch_rman_backup.sh

source /home/oracle/.bash_profile
rman target / log=/u01/app/script/arch_rman.log<<EOF
run
{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
sql 'alter system archive log current';
#backup database format '/backup/db_%d_%T_%U';
sql 'alter system archive log current';
backup archivelog all format '/backup/arch_%U_%d_%T_%t' delete all input;
backup current controlfile format '/backup/ctl_%U_%d_%T_%t';
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
#delete noprompt backup of database completed before 'sysdate -7';
#delete noprompt archivelog all;
#delete noprompt backup of archivelog all completed before 'sysdate -7';
release channel ch1;
release channel ch2;
}
EOF

RMAN详细教程(三):备份脚本的组件和注释的更多相关文章

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

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

  2. RMAN详细教程(二):备份、检查、维护、恢复

    RMAN详细教程(一):基本命令代码 一.创建增量备份 增量备份级别为0-4,但为方便备份管理,oracle建议只限于0级和1级. 1.差异增量备份(differential incremental ...

  3. 无废话ExtJs 入门教程三[窗体:Window组件]

    无废话ExtJs 入门教程三[窗体:Window组件] extjs技术交流,欢迎加群(201926085) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3 ...

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

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

  5. 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  6. RMAN的实战篇--备份脚本

    案列一. 目标: 1.每天夜间1 点执行:2.数据库全备,同时备份控制文件及归档日志文件,备份文件保存至: /backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志:3.备份保留7 ...

  7. [RouterOS] ROS对接碧海威或PA等流控实现完美流控详细教程(附脚本全免费)

    前言: 经常在群里看到不少朋友争论海蜘蛛 ROS 维盟 爱快 碧海威 流控大师 Woyos等等软路由,哪个好.实际上,网络产品是复杂的,现在的软路由功能上已经远远不是单独的路由了.每种产品都有他本身的 ...

  8. BootStrap入门教程 (三) :可重用组件(按钮,导航,标签,徽章,排版,缩略图,提醒,进度条,杂项)

    上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求. Bootstrap作为完整的前 ...

  9. Oracle中RMAN基本命令教程

    一.target--连接数据库 1.本地: [oracle@oracle ~]$ rman target / 2.远程: [oracle@oracle ~]$ rman target sys/orac ...

随机推荐

  1. [20191125]oracel SQL parsing function qcplgte 2.txt

    [20191125]oracel SQL parsing function qcplgte 2.txt --//参考前面的测试:http://blog.itpub.net/267265/viewspa ...

  2. mybatis中查询结果为空时不同返回类型对应返回值

    今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同 ...

  3. 解决无法修改日志时间的问题(Local time zone must be set--see zic manual page 2019 )

    故障现象 系统日志时间晚了整整8个小时,比如现在是中午12点,日志时间为凌晨4点 date命令报错(Local time zone must be set--see zic manual page) ...

  4. 基于 Unity 的一种透明通道压缩处理

    由于 Android 平台各种硬件标准的不统一,为了开发的软件项目能够在大部分 Android 机上完美运行,我们需要以较差的硬件支持为基础做准备. Android 平台基本上都支持对不带 Alpha ...

  5. 一篇和Redis有关的锁和事务的文章

    部分参考链接 Transaction StackExchange.Redis Transaction hashest 正文 Redis 是一种基于内存的单线程数据库.意味着所有的命令是一个接一个的执行 ...

  6. Python爬虫基础——HTML、CSS、JavaScript、JQuery网页前端技术

    一.HTML HTML是Hyper Text Markup Language(超文本标记语言)的缩写. HTML不是一种编程语言,而是标记语言. HTML的语法 双标签: 单标签: HTML的元素和属 ...

  7. Maven使用之packaging类型

    项目的打包类型:pom.jar.war 项目中一般使用maven进行模块管理,每个模块下对应都有一个pom文件,pom文件中维护了各模块之间的依赖和继承关系.项目模块化可以将通用的部分抽离出来,方便重 ...

  8. sublime插件开发教程1

    学习sublime插件开发 好处有很多 比方说微信小程序插件 他官方自带的功能太鸡肋了 可以开发个sublime插件 写智能提示 甩掉微信几条街 sublime插件是用python开发的  所以学习s ...

  9. Scrapy框架的简单使用

    一.安装依赖 #Windows平台 1.pip3 install wheel 3.pip3 install lxml 4.pip3 install pyopenssl 5.pip3 install p ...

  10. 读写锁(ReadWriteLock)

    为了提高性能,Java提供了读写锁,读写锁分为读锁和写锁.多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥,这是由JVM控制的.如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率. 读 ...