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 ,备份完 ...
随机推荐
- java 中的CountDownLatch
直接使用thread可以使用thread和wait notify 实现顺序执行 线程池中可以使用CountDownLatch 进行顺序执行 package com.test; import java. ...
- [jjzhu学java]之solr4.9同步mysql数据
Solr是一个高性能,採用Java5开发,基于Lucene的全文搜索server.同一时候对其进行了扩展,提供了比Lucene更为丰富的查询语言,同一时候实现了可配置.可扩展并对查询性能进行了优化,而 ...
- 在IDEA建立Maven的多模块Web项目
由于要搭建的是Maven项目,考虑到后面可能会有扩展,因此项目搭建的分模块的. 下面一步一步的来搭建这个项目 打开IDEA集成开发环境,点击File ---> New ---> Proje ...
- ThinkPHP3.1在多数据库连接下存储过程调用bug修正
最近使用ThinkPHP3.1进行一个项目的开发,由于该项目需要连接多台不同的数据库,所以使用如下配置方法: <?php return array( //'配置项'=>'配置值' //数据 ...
- git for windows 无法结束node进程(windows下杀进程)
问题 windows 系统下,如果用CMD命令行启动node服务,Ctrl + C 即可结束命令 git bash 用起来比命令行方便,但是Ctrl + C 并不会结束node服务,再次启动会报如下错 ...
- Java 基础系列之volatile变量(一)
一.锁 两种特性:互斥性(mutual exclusion).可见性(visibility).原子性(atomic) 互斥性就是一次只有一个线程可以访问该共享数据,可见性就是释放锁之前,对共享数据的修 ...
- python 基础 2.3 for 循环
#/usr/bin/python #coding=utf-8 #@Time :2017/10/16 10:05 #@Auther :liuzhenchuan #@File :for 循环.py ...
- JS学习总结之操作文档对象模型
操作文档对象模型 DOM 结构树 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可拓展置标语言的标准编程接口.它是一种与平台和语言无关的应用程序接口(A ...
- Refused to set unsafe header
Refused to set unsafe header Refused to set unsafe header "Host"waitServerDeal @ tGet.html ...
- 【docker】学习笔记一:制作自己的centos6.9镜像
前言: 最近开始研究docker,在这里做一个记录. 本来开始想用centos7系列做镜像,毕竟是最新版本的centos,但是centos7有一个严重的bug,就是正常启动的镜像不能使用systemc ...