RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)
RMAN 程序的兼容性
RMAN 环境由以下5部分组成:
(1) RMAN executable
(2) Recovery catalog database
(3) Recovery catalog schema in the recovery catalog database
(4) Target database
(5) Auxiliary database (used forduplicate, duplicate for standby or tablespace point-in-time recovery)
说明: 1 、 4 是必须存在的。
一般来说,RMAN兼容性规则如下:
(1)RMAN 可执行文件的版本要和目标数据库的版本一致,但也有例外,具体参考下表。

表中的 目录模式版本 可以从RCVER 表中查看:
SQL> conn rman/rman@orcl; -- 用catalog 用户登录
已连接。
SQL> select * from rcver;
VERSION
------------
11.02.00.01
(2)RMAN catalog schema 的版本必须大于等于RMAN 可执行文件的版本。
(3)RMAN catalog对target database目标数据库向后兼容,支持早期版本的目标数据库
--当遇到兼容性问题时,会报如下错误:
RMAN-6186 -associated message: "PL/SQL package %s.%s version %s in %s database is too old"
RMAN-6429 -associated message: "%s database is not compatible with this version of RMAN".
RMAN 支持混合平台之间支持如下操作:
+ Active Database DUPLICATE
+ Backup-based DUPLICATE using image copies or backup sets
+ RESTORE and RECOVER using image copies or backup sets
(1)在Oracle 10gR2 之后的版本,支持如下操作系统之间的RMAN 操作:
Solaris x86-64 <-> Linux x86-64
HP-PA <-> HP-IA
Windows IA (64-bit) / Windows (64-bitItanium) <-> Windows 64-bit for AMD / Windows (x86-64)
(2) 在Oracle 11gR1 之后的版本,支持如下操作系统之间的RMAN 操作,当然这里也包含第一条里提到的10gR2后的组合。
Linux <-> Windows
(3)在11.2.0.2以上版本中,因为Bug 12702521的存在,SolarisSPARC (64-bit) <-> AIX (64-bit) 这2个版本之间不能进行RMAN 操作。
1 修改控制文件自动备份
rman中有一个比较好用的功能就是自动备份控制文件,而且同时还备份spfile文件。这对于不使用恢复目录而使用控制文件作为保存恢复信息的备份策略来说,尤为重要!
一般情况下有两种事件触发控制文件自动备份。
1、每个rman的backup或copy命令都会触发自动备份。也就是说每次执行部分备份或者完全备份时,都会执行控制文件和spfile文件的自动备份。备份信息输出中有 :完成 Control File and SPFILE Autobackup 。
2、数据库结构发生变化,比如增加表空间、改变表空间大小、增加日志文件组等等。alert日志中有,Starting control autobackup 。。
--查看数据库是否开启控制文件自动备份。
RMAN> show controlfile autobackup;
--rman开启控制文件自动备份
RMAN> configure controlfile autobackup on;
2 修改控制文件保存的时间
控制文件保存的时间由参数CONTROL_FILE_RECORD_KEEP_TIME决定,默认值是7天。 我们可以改成0到365之间的任意值。
SQL> select name,value from v$parameter where name='control_file_record_keep_time';
SQL> alter system set control_file_record_keep_time=20;
SQL> show parameter control_file_record_keep_time
说明:如果控制文件里的记录被覆盖了,可以重新 catalog 注册。 如:
---ASM:
CATALOG START WITH '+disk'; # catalog allfiles from an ASM disk group
--本地目录:最后一定要加/
CATALOG START WITH '/fs1/datafiles/'; #catalog all files in directory
3 配置备份默认的保存策略
3.1 通过recovery window
如:configure retention policy to recovery window of 7 days;
recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
3.2 通过redundancy
备份保留策略的REDUNDANCY的值,就是最终备份保留的值。
configure retention policy to redundancy 5;
如果REDUNDANCY设置为5,那么Oracle会保留5个备份。
--保存策略重置为默认值(冗余为1)
configure retention policy clear;
--不应用任何保存策略。
CONFIGURE RETENTION POLICY TO NONE;
注意:
配置保存策略不会导致自动删除备份,需要使用delete obsolete 命令才能删除过期的备份集。 在report obsolete 命令时显示到期的备份集。 如果列出的某个文件不能被删除,需要使用crosscheck 命令,否则,Oracle 删除delete obsolete命令输出的所有项。如:
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
4 Nocatalog下的RMAN 增量备份脚本
4.1 全库加归档0级增量备份。
run{
sql 'alter system archive log current';
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 0 database plus archivelog delete input
format '/u01/app/oracle/rmanbak/db_%d_%U'
tag=db_inc_0;
release channel ch1;
release channel ch2;
}
4.2 全库加归档1级增量备份。
run{
sql 'alter system archive log current';
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 1 database plus archivelog delete input
format '/u01/app/oracle/rmanbak/db1_%d_%U'
tag=db_inc_1;
release channel ch1;
release channel ch2;
}
RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)的更多相关文章
- Oracle RMAN 恢复控制文件到指定的路径
Oracle 数据库通过RMAN恢复控制文件到指定的路径 --------------------------------------------------------- 先查询备份集信息,再指定备 ...
- 关于 RMAN 控制文件自动备份路径中指定的 %F 说明
默认情况下,RMAN备份的属性配置一共 14 行( show all; )来自博客园AskScuti CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVIC ...
- 为什么 RMAN 控制文件自动备份的名称格式没有遵循 %F 规则
在 Oracle 中越是简单的问题,往往越难找到答案,举个例子: 你是否留意观察过在 RMAN 进行备份的时候,自动生成的控制文件名称是否是按照 %F 规则来生成的? 关于控制文件自动备份路径格式,在 ...
- 使用RMAN对控制文件进行restore
控制文件的默认备份格式是: c-IIIIIIIIII-YYYYMMDD-QQ 其中: c:表示控制文件 IIIIIIIIII:表示DBID YYYYMMDD:备份的时间戳 QQ:16进制的序列号,从0 ...
- RMAN - "丢失控制文件的恢复"
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- oracle 备份恢复篇(五)---rman 剩下控制文件和spfile
一,环境准备 ❤ 拥有全量备份文件
- shell 到达一定数量文件自动删除最久时间文件
#!/bin/bash#rm_file>14day ReservedNum=4 #保留文件数量rm_file_dir='/home/sean/sean/ ...
- 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?
真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...
- 如何删除控制文件中过去rman备份到磁带的备份集
问题描述: 早上做数据库巡检,发现FRA(flash recovery area)空间使用率达到66%,是平时的两倍.由于库不大,备份策略是本地磁盘备份,每天一全备,REDUNDANCY 1 ,备份完 ...
随机推荐
- 通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。
错误原因: xml文件中,本来是要配置成下面这样的: http://www.springframework.org/schema/context http://www.springframework. ...
- linux的MACHINE_START-MACHINE_END(转)
转自: http://blog.sina.com.cn/s/blog_753fd0b00100t8js.html 在友善mini2440提供的linux2.6.32.2内核中,有如下定义: MACHI ...
- Zend API:深入 PHP 内核
Introduction Those who know don't talk. Those who talk don't know. Sometimes, PHP "as is" ...
- Asp.Net北大青鸟总结(四)-使用GridView实现真假分页
这段时间看完了asp.net视频.可是感觉到自己的学习好像没有巩固好,于是又在图书馆里借了几本关于asp.net的书感觉真的非常好自己大概对于asp.net可以实现主要的小Demo.可是我知道仅仅有真 ...
- 【Python基础】之不同的文件在不同目录下导入指定模块的方法
如下图三个文件的目录路径 – project |– 1 | |– 2 | | |– 3 | | | |– owen.py ...
- Oracle -- Create User
CREATE USER hibernate IDENTIFIED BY "123" DEFAULT TABLESPACE "HIBERNATE" TEMPORA ...
- iOS中数组遍历的方法及比較
数组遍历是编码中非经常见的一种需求.我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 由于iOS是兼容C语言的.所以C语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的 ...
- windows 10 python 2.7和python3.6共存解决方法和pip安装
一.首先去python官网将两个版本下载并安装: 然后进入windows的环境变量,检查下面4个变量: 1.C:\Python272.C:\Python27\Scripts3.D:\software\ ...
- OpenStack 使用Ceph 配置指导
概述 Ceph 作为分布式文件系统,不但具有高可靠性.高扩展性.高性能. 也是统一存储系统.支持对象存储.块存储.文件存储,本文介绍怎样使用Ceph 块存储作为OpenStack的Glance.Nov ...
- 【BZOJ3696】化合物 树形DP+暴力
[BZOJ3696]化合物 Description 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题. 这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏.这个游戏很蛋疼 ...