oracle之三RMAN概述
RMAN概述
6.1 rman的定义和功能:
1) Recovery Manager
2)建立备份和恢复的server process,在oracle server上做备份和恢复
3)rman 备份datafile(分三个层次:database、tablespace、datafile)、controlfile、spfile、archivelog
4)在归档模式下支持一致性备份(冷备)和非一致性备份(热备)
5)非归档只支持一致性备份(mount冷备)
*考点:
1)非归档方式的RMAN只能冷备,并在mount下做,但手工备份在mount下cp出来的备份对于RMAN是不可用的。
2)非归档方式的RMAN恢复只能还原最后一次备份。
6.2 rman的优点:
1)不备份数据文件中从未使用的块(备份高水位线以下的block),节省时间空间(考点)
2)备份时自动检查数据文件是否有坏块,并可以标记坏块,跳过坏块,因为RMAN是ORACLE BLOCK级备份技术
3)对于undo表空间仅仅备份其一小部分空间(不备份commit数据) ,不备份临时表空间
4)可以实现增量备份
5)支持多通道并行工作
6)可以备份ASM文件
6.3 rman的架构:
1)可连接三类数据库:target database(备份的目标库) ,auxiliary database(复制数据库), catalog database(目录数据库)。
2)存储设备:disk 、tape (sbt 磁带机)存放备份文件的设备
3)channel :目标库和存储设备之间备份恢复通道(服务进程)默认最少启动一个channel,可同时启动多个channel并发操作。
4)server process:用于备份和恢复的进程
5)rman的元数据:记录备份的信息(放在目标库的controlfile 里)
6)catalog database :集中管理、存放备份的元数据,还可以存储备份脚本
7)MML:media manage layer 介质管理层:用于管理磁带机的库文件或驱动
6.4 rman 连接目标库方法
1)本地连接
RMAN工具和target database在同一台服务器
[oracle@timran ~]$ rman target /
2)远程连接
RMAN客户端通过ORACLE_NET连接target database 在target database 启动监听,在client配置tnsnames.ora。
C:\Documents and Settings\timran>rman target sys/system@timran11g
6.5、查看rman的默认配置,修改rman的配置信息
1)查看rman的默认配置
RMAN> show all;
db_unique_name 为 TIMRAN11G 的数据库的 RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/U01/MYRMAN/%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_timran11g.f'; # default
2)理解以上各行RMAN环境变量
第一行:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
有两种保留策略:两者只能选一,互斥。(见PPT-II-47)
一个是时间策略,指定一个时间窗口,必须能恢复此时间段内任一个时刻的数据。现在时间 — 全备份点 >= 时间窗口。
一个冗余策略,规定至少有几个冗余的备份。
恢复窗口备份保存策略:
例如,假如我们指定恢复窗口是 7 天,假设今天是星期一,此前存在 3 个全备及归档日志。第一个全备是5天前生成的,第二个全备是十天前生成的,而最早一个全备是15天前备份的,
那么十天前生成的备份及之后的归档日志必须保留,而15天前的那个备份会成为废弃备份(obsolete)(见PPT-48)。
下面的命令将恢复窗口配置为7 天:
RMAN> configure retention policy to recovery window of 7 days;
冗余备份保存策略:
使用这种保存策略,RMAN 会从最新备份开始保留 N 个数据备份,其余的废弃(obsolete)。
例如,如果有三个备份,而冗余数是 2,那么最早的那个备份将被废弃。下面的命令将备份策略设置为 2:
RMAN> configure retention policy to redundancy 2;
设置NONE 可以把使备份保持策略失效,Clear 将恢复默认的保持策略
RMAN> configure retention policy to none; //RMAN此后不会将任何备份集或映像文件标记为obsolete状态。
RMAN> configure retention policy clear;
例:保证至少有一个备份能恢复到 Sysdate-5 的时间点上,之前的备份将标记为Obsolete(废弃)
RMAN> configure retention policy to recovery window of 5 days;
至少需要有三个冗余的备份存在,如果多余三个备份以上的备份将标记为冗余
RMAN> configure retention policy to redundancy 3;
第二行:CONFIGURE BACKUP OPTIMIZATION OFF; # default
设置备份优化选项 ( optimization ) 可以在配置中设置备份的优化,如:
RMAN> configure backup optimization on;
如果优化设置打开, 它只用于归档日志,只读或脱机表空间的数据文件,因为这些文件是不会变化的,备份集运行一个优化算法。跳过重复的备份文件,比如你要备份归档日志,此参数设
为on可以避免重复备份,可大大节省空间和时间。 (PPT103)
考点:备份优化选项依赖于RETENTION POLICY策略,如果启用优化,在已有足够相同文件副本的情况下(r+1),RMAN将不创建额外的文件副本。
第三行:CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
设备类型有两种,可以是磁盘(DISK),或者磁带(STB),默认为磁盘。
第四行:CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
设置控制文件自动备份 (autobackup on)
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
off: 默认情况下,在备份system 表空间时,会备份控制文件和spfile
on: 在做任何文件的备份时,会自动备份控制文件和spfile,并且数据库的物理结构发生变化时,也自动备份controlfile。
第五行:CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
可以用如下的配置指定控制文件的备份路径与格式,format 指明备份文件的路径和文件名
RMAN备份文件格式 备份文件可以自定义各种各样的格式,如下:
%c 备份片的拷贝数
%D 位于该月中的第几天 (DD)
%M 位于该年中的第几月 (MM)
%F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,
%d 数据库名称其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列
%n 数据库名称,向右填补到最大八个字符
%u 一个八个字符的名称代表备份集与创建时间
%p 该备份集中的备份片号,从1 开始到创建的文件数
%U 一个唯一的文件名,代表%u_%p_%c
%s 备份集的号
%t 备份集时间戳
%T 年月日格式(YYYYMMDD)
第六行:CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
指定在以后的备份与恢复操作中并行度为2,即同时开启2个通道进行备份与恢复
并行的数目决定了开启通道的个数,当然也可以在RUN{}中指定通道来决定备份与恢复的并行程度。如果在RUN{}中指定了通道配置,将覆盖掉配置参数中指定的默认并行度(考点)。
通常一个通道对应一个备份集。
提高RMAN性能和吞吐量,除了通道数,还可以通过一些参数控制输入数据文件数,备份集数,备份片数。
参数影响可有全局和局部两个层次,基本上分为:
PARALLELISM: 保存在RMAN存储库。
CONFIGURE CHANNEL: 更新配置,保存在RMAN存储库。
ALLOCATE CHANNEL: 限于run{},不保存。
BACKUP: 限于本次backup语句,不保存。
相关参数
FILESPERSET: 每个备份集的最大输入文件数 在BACKUP语句中描述
MAXOPENFILES: 在给定时间内可以打开的最大输入文件数量 在ALLOCATE CHANNEL或CONFIGURE CHANNEL中描述
MAXPIECESIZE: 每个通道的备份片大小 在ALLOCATE CHANNEL或CONFIGURE CHANNEL中描述
MAXSETSIZE: 限制最大备份集大小 在BACKUP语句中描述或配合参数中描述
BACKUP DURATION: 增加或减少完成备份的时间 在BACKUP语句中描述
1)在RUN{}里分配通道,可以指定备份的数据文件和通道对应关系。
例1:
RMAN> RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
BACKUP
INCREMENTAL LEVEL = 0
FORMAT '/disk1/backup/df_%d_%s_%p.bak'
(DATAFILE 1,4,5 CHANNEL c1)
(DATAFILE 2,3,9 CHANNEL c2)
(DATAFILE 6,7,8 CHANNEL c3);
ALTER SYSTEM ARCHIVE LOG CURRENT;
}
2)使用FILESPERSET参数限制备份集中的输入文件数, 指定每个备份集中一次可以包含输入文件最大数,该参数默认值为64。例2中约定每个备份集中备份8个文件。
如果数据库有20个文件,那将只生成3个备份集,得到3个备份片,虽然开了4个通道,但并行度是3,有1个通道闲置。
例2:
RMAN> RUN{
2> ALLOCATE CHANNEL t1 DEVICE TYPE sbt;
3> ALLOCATE CHANNEL t2 DEVICE TYPE sbt;
4> ALLOCATE CHANNEL t3 DEVICE TYPE sbt;
5> ALLOCATE CHANNEL t4 DEVICE TYPE sbt;
6> BACKUP DATABASE FILESPERSET 2;
}
例2中假如取消ALLOCATE CHANNEL语句,则通道数按全局变量PARALLELISM指定,假定为1,有20个文件,FILESPERSET=8该是怎样的结果:一个通道干活,8个文件组成一个备份集,
每备份集对一个备份片,完成一个备份集再接下一个备份集。串行的跑三趟。
3)使用MAXPIECESIZE参数限制备份片大小
例3:
RUN{
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 300M;
BACKUP datafile 2 format '/u01/myrman/%U.bak';
}
限定了最大备份片为300M,如果输出文件是500M(注意不是限制输入文件),则会在一个备份集中生成两个备份片。
如果将
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 300M;
换成
ALLOCATE CHANNEL c1 DEVICE TYPE DISK MAXPIECESIZE 300M;
就是全部和局部的区别
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK clear; //删除此变量
4)使用maxsetsize参数限制备份集大小:
例4:
RMAN> backup database maxsetsize 500m format '/u01/myrman/%U.bak';
结果如何,一个通道产生了多个备份集,每个备份集对一个备份片。
注意:作为基本原则,一个备份集只能占一个通道,一个输入数据文件不能分成多个备份集,所以这里必须满足:最大输入文件size<1G.
5)使用SECTION SIZE子句设置多段备份(multisection backup)
通常一个数据文件只能占用一个通道,如果某个datafile太大,为提高备份效率,可以考虑采用多道关键字SECTION SIZE,并行化这个大文件的备份。例5中的数据文件约800M,
被分成若干file section来备份, 它启动了三个通道,每个通道备份300M的file section,但三个通道产生一个备份集,包含三个压缩后的备份片。
例5:
RMAN> RUN{
ALLOCATE CHANNEL d1 DEVICE TYPE disk;
ALLOCATE CHANNEL d2 DEVICE TYPE disk;
ALLOCATE CHANNEL d3 DEVICE TYPE disk;
BACKUP AS COMPRESSED BACKUPSET DATAFILE 2 SECTION SIZE 300M format '/u01/myrman/%U.bak';
}
注意: SECTION SIZE隐含限定maxpiecesize,当maxpiecesize全局生效时不能使用SECTION SIZE。(考点)
所以,要使用SECTION SIZE,maxpiecesize只能在allocate channel中说明。
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK clear;
第七行:CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
备份集也可以有多路复用(但映像文件不可以),最大值4,如为2就备份相同的2份(PPT-II-101),注意:TO STB和TO DISK是独立的
(PPT-II-102),也就是说不能同时以DISK和TAPE多路复用(考点)。那么再问一句, 如果一定要duplex磁盘和磁带, 请使用
backup backupset.
单独使用RMAN命令可以覆盖这个参数
RMAN> backup copies 2 datafile 4 format '/u01/myrman/%s_dbf','/u01/myrman1/%s_dbf';
第八行:CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
归档日志的多路复用,类似数据文件多路复用
第九行:CONFIGURE MAXSETSIZE TO UNLIMITED; # default
该配置限制通道上备份集的最大尺寸,单位支持 Bytes 、KB、MB、GB,默认值是unlimited,(前面提到过)
第十行: CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
第十一行:CONFIGURE ENCRYPTION ALGORITHM ','; # default
加密,Transparent encryption 透明的加密,带钱夹,Password encryption:不带钱夹,(PPT-II-107)
第十二行:CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
RMAN里的压缩也叫binary compression,这是11g新增的参数 (PPT-II-104-106), 压缩只能是针对backup set,有两种算法:'BZIP2'和
'ZLIB'.不要将RMAN的压缩和外部压缩实用程序混合在一起做(考点)。
第十三行:CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
对于归档文件,一般来说,如果你仅是单实例的话(不是Data Guard环境),全备以前的archivelog就没有什么用处了,可以删除,但很多人
不习惯在这里设置参数,更愿意使用脚本删除归档文件。(见最后一章Oracle 一周备份计划)
第十四行:CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_timran11g.f'; # default
rman 控制文件RMAN存储库与catalog做全同步的时候,需要建立一个controlfile的快照,这个参数指定快照存放位置。(PPT-II-74)
6.6 rman备份的分类:
1)backupset:不备份datafile里从未使用块(HWM以上)、可以实现增量备份(可以备份到disk和tape)。如果只启用一个channel,
默认会把所有备份的datafile放入到一个backupset里,并且生成一个备份片backup piece。
2)image copy(映像文件):实际上和手工cp 类似的,备份datafile所有的数据块, 不能作为增量备份的基础(即0级增量备份),只能备份
到disk ,不能备份到tape,因可以省略还原步骤,恢复数据库速度快。
6.7 rman的命令格式:
1)交互式 (也叫stand alone方式)
RMAN> shutdown immediate;
RMAN> startup force mount;
RMAN> alter database open;
RMAN> sql 'alter system switch logfile';
RMAN> sql 'select * from scott.emp'; //对select 不显示结果
2)批处理方式(也叫job方式)
RMAN>run {
shutdown immediate;
startup mount;
allocate channel c1 type disk;
allocate channel c2 type disk;
backup database format '/u01/myrman/%d_%s.bak';
alter database open;
}
3)基于EM方式(WEB方式)
oracle之三RMAN概述的更多相关文章
- oracle之三rman 不完全恢复
rman 不完全恢复 9.1 rman 不完全恢复的三个标准模式:基于time.基于scn和基于sequence: 范例1:恢复过去某个时间点误操作,一般使用基于time或scn. 1)环境:有一套全 ...
- oracle之三rman 完全恢复
rman 完全恢复 8.1 recover 恢复: 1)归档 : 完全恢复和不完全恢复 2)非归档:只能恢复到最后一次备份状态(还原) 8.2 完全恢复: ----先对数据库做一个备份(如果是arch ...
- oracle之三rman 备份
rman 备份 7.1 归档方式下rman备份常用语法: 7.1.1 backup 备份 1)备份全库:1.1 RMAN> backup database format='/u01/myrman ...
- oracle之三rman 维护
rman 维护 11.1 rman 使用和维护 11.2 list 命令一览 1)RMAN> list backup; 2)RMAN> list backup of tablespace ...
- Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)
Oracle 数据库可以实现数据库不完全恢复与完全恢复.完全恢复是将数据库恢复到最新时刻,也就是无损恢复,保证数据库无丢失的恢复.而不完全恢复则是根据需要特意将数据库恢复到某个过去的特定时间点或特定的 ...
- ORACLE 查看RMAN的备份信息总结
关于Oracle数据库的RMAN备份,除了邮件外,是否能通过其它方式检查RMAN备份的成功与失败呢?其实我们可以通过下面SQL脚本来检查某个时间段备份失败的记录: SELECT * FROM V$RM ...
- ORACLE的RMAN
1.什么是RMAN? RMAN可以用来备份和还原数据库文件.归档日志和控制文件.它也可以用来执行完全或不完全的数据库恢复. 注意:RMAN不能用于备份初始化参数文件和口令文件. RMAN启动数据库上的 ...
- Oracle单机Rman笔记[5]---脱机异地还原
脱机异地还原(安装一个原环境相同的linux,并安装数据库,注意不要配置安装实例) .检查/home/oracle下的.bashrc .bash_profile内容是否与原环境一致(具体看情况而定), ...
- Oracle 12c RMAN备份文档
创建备份目录,查看剩余空间 [cistest@cistest ~]$ df -h df: '/home/oratest/.gvfs': Permission denied Filesystem Siz ...
随机推荐
- Vue Elementui 表单必填项和非必填项label文字对齐的简单方式
1. 不好的方式 很长时间以来都是用改写form-item样式来使得必填项和非必填项保证label对齐,这样需要改写系统样式,还要在相应的item上引用,代码量增多,示例如下(不推荐) <tem ...
- SparkSQL /DataFrame /Spark RDD谁快?
如题所示,SparkSQL /DataFrame /Spark RDD谁快? 按照官方宣传以及大部分人的理解,SparkSQL和DataFrame虽然基于RDD,但是由于对RDD做了优化,所以性能会优 ...
- 很挫的 SHFileOperation 用法 2011-07-18 11:42
今天编写一个局域网文件拷贝的demo .其中有一个 SHFileOperation 的用法,这个函数有个参数SHFILEOPSTRUCT.查看msdn有如下解释: pFromAddress of a ...
- PYTHON-anaconda-安装
1.下载: 官网地址:https://www.anaconda.com/products/individual/get-started 镜像地址(推荐):https://mirrors.tuna.ts ...
- Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.catherine.forrealm.about_utils.RealmHelper.findAllStudent()' on a null object reference
报错: 解决方法: private RealmHelper realm_search = new RealmHelper(); 进而发现在写RecyclerView时,遗漏如下代码: recy_sea ...
- Java树形结构中根据父类节点查找全部子类节点
上一篇文章介绍了两种树形结构数据整合json格式的方法,第一种方法中有根据父类获取全部子类的方法,这里单独拿出来再说一下. 仍然是利用递归来整合,代码如下: //根据父节点获取全部子节点 public ...
- Ubuntu 20.04美化及QQ、微信安装
1.前言 电脑用了很多年了,安装的windows7,经常出现很卡的情况,于是今天索性重装了系统.既然重装系统,选择什么系统好呢,windows10系统的话,对于我这老旧本来说,可能真的是为难它了.刚好 ...
- Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...
- 【转】Camera 简介
一.摄像头(CAMERA)又称为电脑相机.电脑眼等,它作为一种视频输入设备,在过去被广泛的运用于视频会议.远程医疗及实时监控等方面. 近年以来,随着互联网技术的发展,网络速度的不断提高,再加上感光成像 ...
- muduo源码解析8-date类
date class date:copyable { }: 作用: 此类作用主要是实现年月日和julianDay的互相转换内部最重要的一个数据成员m_julianDayNumber在mymuduo:: ...