032RMAN管理的备份恢复.docx
- 文档编号:17615166
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:37
- 大小:33.34KB
032RMAN管理的备份恢复.docx
《032RMAN管理的备份恢复.docx》由会员分享,可在线阅读,更多相关《032RMAN管理的备份恢复.docx(37页珍藏版)》请在冰点文库上搜索。
032RMAN管理的备份恢复
Oracle9i数据库管理基础II
D11297CN11产品版1.12002年3月D34485
RMAN备份_恢复
11RMAN备份
RMAN备份概念
•恢复管理器备份是由服务器管理的备份
•恢复管理器使用Oracle服务器会话执行备份操作
•可以备份整个数据库、表空间中的所有数据文件、选定的数据文件、控制文件、归档重做日志文件
•关闭的数据库的备份
–目标数据库必须已装载(不得打开)
–包括数据文件、控制文件、归档重做日志文件
•打开的数据库的备份
–不应将表空间置于备份模式
–包括数据文件、控制文件、归档重做日志文件恢复
恢复管理器备份的类型
恢复管理器提供对以下内容进行备份的功能:
•整个数据库、表空间中的每个数据文件或单个数据文件
•控制文件
•所有归档日志或所选归档日志
注:
使用恢复管理器时不备份联机重做日志文件。
关闭的数据库的备份
关闭的数据库的备份定义为在数据库关闭(脱机)时进行的备份。
这与一致数据库备份相同。
如果执行关闭的数据库的备份,则不得打开目标数据库。
如果使用恢复目录,则必须打开恢复目录数据库。
打开的数据库的备份
打开的数据库的备份定义为在数据库打开(联机)时对数据库任意部分进行的备份。
恢复管理器使用服务器进程制作数据文件、控制文件或归档日志的副本。
使用恢复管理器时,不要使用ALTERTABLESPACE...BEGINBACKUP命令将表空间置于备份模式。
RMAN读取块,直到获得一致读取为止。
恢复管理器备份
可以使用恢复管理器执行以下类型的备份:
•映像副本是数据文件、控制文件或归档重做日志文件的副本。
可以使用恢复管理器或操作系统实用程序制作相应的副本。
数据文件的映像副本包含所有的数据文件块,其中包括未使用过的块。
映像副本只能包含一个文件,而且不能对单个复制操作进行多元备份。
•备份集可以包含一个或多个数据文件、控制文件或归档重做日志文件。
备份集可以包含一个或多个文件。
可以使用两种完全不同的方法制作备份集:
–完全备份:
在完全备份中,可以备份一个或多个文件。
在完全备份中,所有包含指定文件数据的数据块都会被备份。
–增量备份:
增量备份只对上次增量备份以后数据块有更改的数据文件进行备份。
增量备份需要一个基础级别(即增量级别0)备份,该备份包含指定文件数据的所有块。
增量级别0和完全备份均复制数据文件中的所有块,但是在增量备份策略中不能使用完全备份。
注:
您可以配置自动备份控制文件,在执行BACKUP或COPY命令后即可自动备份控制文件。
备份集
备份集包含一个或多个物理文件(以RMAN特定的格式存储在磁盘或磁带上)。
可以制作包含数据文件、控制文件以及归档重做日志文件的备份集。
也可以对备份集进行备份。
备份集有两种类型:
•数据文件:
可以包含数据文件和控制文件,但不包含归档日志
•归档日志:
仅包含归档日志,不能包含数据文件或控制文件
注:
在执行恢复之前,可能需要通过恢复管理器还原备份集,这与磁盘上的映像副本不同。
数据文件备份集中的控制文件
备份集中的每个文件必须具有相同的Oracle块大小。
如果包含控制文件,就会将它写入到最后一个数据文件备份集中。
可以使用以下两种方式将控制文件包含在备份集中:
•使用INCLUDECONTROLFILE语法显式包含
•通过备份文件1(系统数据文件)隐式包含
RMANBACKUP命令用于备份数据文件、归档重做日志文件以及控制文件。
BACKUP命令将文件备份到磁盘或磁带上的一个或多个备份集中。
在数据库打开或关闭时,都可以制作备份。
制作类型既可以是完全备份,也可以是增量备份。
备份集的特性
•可以使用BACKUP命令创建备份集。
•备份集通常包含多个文件。
•可以将备份集写入磁盘或磁带。
•要从备份集中提取文件,必须使用还原操作。
•数据文件备份集可以是增量备份或完全备份。
•备份集不包含从未使用过的块。
备份集的特性
备份集是一种逻辑结构,它具有以下特性:
•备份集包含一个或多个称作备份片的物理文件。
•备份集是使用BACKUP命令创建的。
FILESPERSET参数可以控制备份集中包含的数据文件个数。
•可以将备份集写入磁盘或磁带。
缺省情况下,Oracle为大多数平台提供一个磁带输出,称为SBT(系统备份到磁带),当使用介质管理器时,备份将输出到磁带设备中。
•在执行恢复之前必须通过还原操作从备份集中提取文件。
•归档重做日志文件备份集不能是增量备份(缺省为完全备份)。
•备份集不包含从未使用过的数据块。
备份片
•备份片是备份集中的一个文件。
•备份片可以包含来自多个数据文件的数据块。
备份片
逻辑备份集通常只包含一个备份片。
备份片是一个包含一个或多个Oracle数据文件或归档日志的物理文件。
对于大型数据库,一个备份集可能超出单个磁带盘、物理磁盘或操作系统文件的最大容量。
可以使用CONFIGURECHANNEL或ALLOCATECHANNEL命令及MAXPIECESIZE选项来限制每个备份集片的大小。
备份片大小
可以按如下方式限制备份片的大小:
RMAN>RUN{
2>ALLOCATECHANNELt1TYPE'SBT'
3>MAXPIECESIZE=4G;
4>BACKUP
5>FORMAT'df_%t_%s_%p'FILESPERSET3
6>(tablespaceusers);}
备份片大小
可以使用以下命令限制备份片的大小,并根据需要为每个备份集生成多个片:
ALLOCATECHANNEL…MAXPIECESIZE=integer
CONFIGURECHANNEL…MAXPIECESIZE=integer
以字节、千字节(K)、兆字节(M)或千兆字节(G)来指定大小。
示例(幻灯片)
•情况:
需要将USER_DATA表空间备份到一台磁带机上。
磁带机的最大文件大小是4GB。
•结果:
如果输出文件小于4GB,则只有一个备份片写入该备份集。
如果输出文件大于4GB,则有多个备份片写入该备份集。
每个备份片都包含分散在三个文件中的块。
注:
在Oracle8i中,需要使用以下命令:
SETLIMITCHANNELt1KBYTES4194304;
BACKUP命令
RMAN>BACKUP
2>FORMAT'/BACKUP/df_%d_%s_%p.bus'
3>DATABASEfilesperset=2;
BACKUP命令
可以控制Oracle生成的备份集数以及恢复管理器在单个备份集中放置的输入文件数。
如果在读取文件或写入备份片时出现I/O错误,该作业就会中止。
在使用BACKUP命令时,必须执行以下操作:
•装载或打开目标数据库。
如果数据库处于ARCHIVELOG模式,恢复管理器允许您制作不一致备份,但您必须应用重做日志,使备份在恢复操作中使用时保持一致。
•如果未使用自动通道分配,则手动分配一个通道用以执行BACKUP命令。
或者,可以执行下列操作:
•指定备份片的命名约定。
如果没有指定FORMAT参数,则RMAN将备份片存储在端口特定的目录中(在UNIX上为$ORACLE_HOME/dbs)。
如果没有指定文件名格式,则RMAN缺省使用%U。
•通过使用INCLUDECURRENTCONTROLFILE选项,可以将控制文件包含在备份集中。
多元备份集
将两个或多个数据文件多元备份到一个备份集中,以进行磁带流式处理。
RMAN多元备份集
借助RMAN多元备份技术可同时读取磁盘上的文件,然后将这些文件写入同一个备份片。
在将多个文件写入同一备份文件或备份片时,恢复管理器自动将文件分配给通道、对这些文件进行多元备份,并且跳过所有未使用过的块。
为了同时备份足够多数量的文件,可以对高性能顺序输出设备(如快速磁带机)进行流式处理。
这对于必须与其它联机系统资源竞争的备份来说是很重要的。
操作员或存储子系统负责更换磁带机所在目标数据库上的磁带。
该进程是为写入磁带设计的,但也可以将它用于写入磁盘。
多元备份是由以下参数控制的:
•BACKUP命令的FILESPERSET参数
•ALLOCATECHANNEL和CONFIGURECHANNEL命令的MAXOPENFILES参数
示例
数据库包含三个数据文件,可以将这些数据文件一起多元备份到一个物理文件(集)中,并存储在磁带上。
数据文件是通过以下方式进行多元备份的:
依次写入数据文件1、数据文件2、数据文件3的各n个块,然后又回到数据文件1继续写,如此循环反复直至所有文件备份完毕。
备份集的并行化
分配多个通道,指定filesperset(可选)以及包含多个文件。
备份集的并行化
可以将CONFIGURE命令的PARALLELISM选项设置为大于1或者手动分配多个通道来配置并行备份,RMAN并行地执行其操作,并且并行地写入多个备份集。
服务器会话负责分摊指定文件的备份工作。
示例
RMAN>run{
2>allocatechannelc1typesbt;
3>allocatechannelc2typesbt;
4>allocatechannelc3typesbt;
5>backup
6>incrementallevel=0
7>format'/disk1/backup/df_%d_%s_%p.bak‘
8>(datafile1,4,5channelc1tag=DF1)
9>(datafile2,3,9channelc2tag=DF2)
10>(datafile6,7,8channelc3tag=DF3);
11>altersystemarchivelogcurrent;
12>}
当创建多个备份集并分配多个通道时,RMAN自动并行地执行其操作,并且并行地写入多个备份集。
分配的服务器会话负责分摊指定数据文件、控制文件和归档重做日志文件的备份工作。
注意,不能让单个备份集分跨多个通道。
备份集的并行化通过以下方式完成:
•将PARALLELISM配置为大于1,或者分配多个通道
•指定多个要备份的文件
示例
•有9个文件需要备份(数据文件1到9)。
•已经合理分配了数据文件,从而保证每个集要备份的数据块数大致相等(为了提高效
率)。
–将数据文件1、4和5分配给备份集1。
–将数据文件2、3和9分配给备份集2。
–将数据文件6、7和8分配给备份集3。
注:
可以使用FILESPERSET参数限制备份集中包含的数据文件个数。
双重备份集
通过对备份集进行双重备份,可以给每个备份片最多创建4个完全相同的副本。
可以使用以下命令生成双重备份的备份集:
•BACKUPCOPIES
•SETBACKUPCOPIES
•CONFIGURE…BACKUPCOPIES
RMAN并不生成多个备份集,而是给集内的每个备份片生成完全相同的副本。
示例
此示例显示如何给数据文件1和2的备份创建两个副本:
RMAN>BACKUPCOPIES2DATAFILE1,DATAFILE2
2>FORMAT'/BACKUP1/%U','/BACKUP2/%U';
RMAN将每个备份片的第一个副本放入/BACKUP1,而将第二个副本放入/BACKUP2。
RMAN使用唯一键生成一个备份集,并给集内的每个备份片生成两个完全相同的副本。
备份备份集
另一种管理备份的方法就是对备份集进行备份。
可以使用RMANBACKUPBACKUPSET命令进行磁盘到磁盘以及磁盘到磁带的备份。
这可用于在磁带上制作额外的备份,或者将备份从磁盘移到磁带上。
归档重做日志文件的备份
•自动切换联机重做日志文件。
•执行归档日志故障转移。
归档重做日志文件的备份
在开始执行每个不包含UNTIL子句或SEQUENCE参数的BACKUP...ARCHIVELOG命令时,RMAN会尝试自动切换并归档当前的联机重做日志。
在Oracle9i中,RMAN执行归档日志故障转移。
如果在归档重做日志文件中检测到任何损坏的块,RMAN就会在其它归档目标中搜索没有损坏块的文件。
归档重做日志的备份集
•仅包含归档重做日志文件
•始终是完全备份
RMAN>BACKUP
2>FORMAT'/disk1/backup/ar_%t_%s_%p'
3>ARCHIVELOGALLDELETEALLINPUT;
归档重做日志文件的备份集
DBA经常遇到的一个问题是:
在备份归档日志之前,不知道是否已将其完全复制到归档日志目标中。
恢复管理器可以访问控制文件或恢复目录信息,所以它知道哪些日志已经归档,可以在恢复过程中还原。
可以使用BACKUPARCHIVELOG命令备份归档重做日志文件,或者在备份数据文件和控制文件时使用BACKUP…PLUSARCHIVELOG命令也同时备份这些日志文件。
归档日志备份集的特性
•仅包含归档日志,不能包含数据文件或控制文件。
•始终是完全备份。
(因为可以指定要备份的归档日志的范围,所以无法执行增量备份。
)
备份约束
•必须已装载或打开数据库。
•不支持联机重做日志备份。
•在NOARCHIVELOG模式下只能使用“干净的”备份。
•在ARCHIVELOG模式下只能使用“当前的”数据文件备份。
备份约束
在使用恢复管理器执行备份时,必须注意以下几点:
•恢复管理器要连接的目标数据库必须已装载。
•不支持对联机重做日志进行备份。
•如果目标数据库处于NOARCHIVELOG模式,则只能采用“干净的”表空间和数据文件备份(即“脱机正常”或“只读”表空间的备份)。
要采用数据库备份,必须先彻底关闭该数据库,再以“装载”模式重新启动它。
•如果目标数据库处于ARCHIVELOG模式,则只能备份“当前的”数据文件(通过恢复将数据文件还原为当前状态)。
•如果使用恢复目录,则必须打开恢复目录数据库。
映像副本
映像副本包含单个数据文件、归档重做日志文件或控制文件。
可以使用RMANCOPY命令或操作系统命令创建映像副本。
当使用RMANCOPY命令创建映像副本时,服务器会话验证文件中的块,并将副本记录到控制文件中。
映像副本的特性
•只能写入磁盘
•可立即用于恢复;不需要进行还原
•是单个数据文件、归档日志或控制文件的物理副本
•与操作系统备份最为相似(包含所有块)
•可以是增量策略的一部分
映像副本的特性
映像副本具有以下特性:
•只能将映像副本写入磁盘。
因而,要在磁盘上保留该副本,则需要额外的磁盘空间。
对于大文件,复制花费的时间很长,但还原时间大大减少,这是由于该副本已经存在于磁盘上的缘故。
•如果文件存储在磁盘上,则可以立即使用这些文件(也就是说,这些文件不需要从其它介质还原)。
这为在恢复管理器中使用SWITCH命令进行恢复提供了一种快速方法,它相当于ALTERDATABASERENAMEFILESQL语句。
•映像副本中将包含所有的块(不管这些块是否包含数据),原因是Oracle服务器进程在复制该文件的同时还会执行其它操作,如检查损坏的块、在控制文件中注册该副本等。
要加快复制进程,可以使用NOCHECKSUM参数。
•映像副本可以是完全备份或增量0级备份的一部分,原因是文件副本总是包含所有块。
如果该副本将与增量备份集一同使用,则使用0级选项。
•在增量备份策略中,可以将映像副本指定为0级备份,但映像副本不能作为其它级别的备份。
映像副本
使用RMANCOPY命令可以创建文件的映像副本。
输出文件始终写入磁盘。
可以复制数据文件、归档重做日志文件或控制文件。
在很多情况下,复制数据文件比备份这些文件更有益处,原因是复制的数据文件输出不需要任何其它处理就可以使用。
如果要使用COPY命令备份整个数据库,必须使用单独的COPY语句复制每个数据文件。
也可以制作控制文件和归档重做日志文件的副本。
幻灯片中的示例假定您使用的是自动通道分配。
如果手动分配通道,则在RUN语句中包含COPY命令(如下所示):
RMAN>RUN{
2>ALLOCATECHANNELc1typedisk;
3>COPY
4>DATAFILE'/ORADATA/users_01_db01.dbf'to
5>'/BACKUP/users01.dbf'tag=DF3,
6>ARCHIVELOG'arch_1060.arc'to
7>'arch_1060.bak';}
COPY命令
RMAN>COPY
2>DATAFILE3TO'/BACKUP/file3.dbf',
3>DATAFILE1TO'/BACKUP/file1.dbf';
COPY命令
在复制操作中,Oracle服务器进程对每个块执行校验和计算以检测是否有块损坏。
RMAN在还原副本时也要核对校验和。
该过程称为物理损坏检测。
可以使用NOCHECKSUM选项取消校验和操作,从而加快复制进程。
如果数据库已在维护块校验和,则此选项无效。
可以使用CHECKLOGICAL选项测试通过了物理损坏检查的数据和索引块,查看它们是否存在逻辑损坏,如行片或索引条目损坏。
如果检测到任何块存在逻辑损坏,则将该块记录到服务器进程的警报日志和跟踪文件中。
可以使用MAXCORRUPT参数设置逻辑和物理损坏的阈值。
只要在某个文件中检测到的逻辑和物理损坏总和低于该值,则RMAN命令完成,同时Oracle将损坏块的范围植入到V$COPY_CORRUPTION视图。
如果超出MAXCORRUPT,则该命令终止,并且不植入视图。
映像复制并行性
一个COPY命令,带有多个通道
RMAN>CONFIGUREDEVICETYPEdiskparallelism4;
2>COPY#3filescopiedinparallel
3>datafile1TO'/BACKUP/df1.dbf',
4>datafile2TO'/BACKUP/df2.dbf',
5>datafile3TO'/BACKUP/df3.dbf';
RMAN>COPY#Secondcopycommand
2>datafile4TO'/BACKUP/df4.dbf';
映像复制并行性
缺省情况下,恢复管理器将连续执行各COPY命令。
然而,可以通过以下方法并行执行复制操作:
•使用CONFIGUREDEVICETYPE…PARALLELISM
•或分配多个通道(在Oracle8i中是必需的)
•为多个文件指定一条COPY命令
可以手动分配通道(如幻灯片所示),或者通过自动通道配置进行分配。
在该示例中,总共创建了4个通道,但仅使用其中的3个。
以下是命令的执行情况:
1.将4个通道配置为写入磁盘。
2.第一条COPY命令使用3个通道(服务器进程),一个数据文件通过一个通道写入磁盘。
3.第二条COPY命令将在前一条COPY命令执行完成后才开始执行。
它将只使用一个通道。
注:
当并行度比较高时,占用的计算机资源较多,但备份操作完成速度较快。
复制整个数据库
•装载数据库,对整个数据库执行一致备份。
•使用REPORTSCHEMA命令列出文件。
•使用COPY命令或制作每个数据文件的映像副本。
•使用LISTCOPY命令验证副本。
如何制作整个数据库的映像副本
要使用恢复管理器制作所有数据文件的映像副本,请按照以下步骤执行:
1.连接到RMAN并在装载模式下启动:
RMAN>STARTUPMOUNT
2.获取目标数据库的数据文件列表:
RMAN>REPORTSCHEMA;
3.使用COPY命令或脚本创建上面列出的所有数据文件的副本:
RMAN>COPYdatafile1TO’/BACKUP/df1.cpy’,
datafile2TO’/BACKUP/df2.cpy’,...;
4.使用LISTCOPY命令验证副本:
RMAN>LISTCOPY;
可以使用CURRENTCONTROLFILE命令将控制文件包含在副本中。
此外,如果CONFIGURECONTROLFILEAUTOBACKUP为ON,则在执行COPY命令后,RMAN将自动备份控制文件。
制作增量备份
•完全备份包含数据文件中的所有块。
•差异增量备份只包括从n级或更低级别备份以来修改过的块。
•累积增量备份只包括从n-1级或更低级别备份以来修改过的块。
RMAN备份类型
完全备份
完全备份与整体数据库备份不同。
整体备份包含目标数据库的所有数据文件和控制文件,而完全备份可能只包含一个或多个数据文件、控制文件或归档重做日志文件。
在执行完全备份时,Oracle服务器进程读取整个文件,并将所有的块复制到备份集内,只跳过从未使用过的数据文件块。
在备份归档重做日志或控制文件时,服务器会话不会跳过任何块。
完全备份不属于增量备份策略的一部分。
可以用它创建和还原数据文件、数据文件副本、表空间、数据库、控制文件、归档日志和归档日志副本的完全备份。
注意,包含归档重做日志的备份集始终是完全备份。
增量备份
增量备份仅包含自上次增量备份以来更改过的块。
RMAN可以创建多级增量备份(如下所示):
•差异备份:
这是增量备份的缺省类型,它备份自最近n级或更低级别备份以来更改过的所有块
•累积备份:
备份自最近n-1级或更低级别备份以来更改过的所有块差异备份是使用BACKUP命令的INCREMENTAL关键字指定的。
可以指定INCREMENTALLEVEL=integer,其中integer是1到4之间的任意整数。
必须将0级备份作为增量策略的基础备份。
0级增量备份在内容上与完全备份相同,但与完全备份不同的是,0级备份被看作是增量策略的一部分。
如果在运行1级或更高级别的备份时,0级备份不存在,RMAN会自动制作0级备份。
差异增量备份的示例
您要维护一个100GB的数据库,该数据库还在不断地增长。
基于现有的硬件,您确定执行打开的数据库的整体备份需要4个小时。
由于数据库每周7天、每天24小时总是处于联机状态,所以在该时间段内执行备份将消耗大量系统资源。
因此,每周只能执行一次0级备份,但出现故障时必须进行快速恢复。
综合考虑,您制订了以下备份和恢复策略:
•0级备份将在每周中活动最少的一天执行。
您确定这一天为星期日。
RMAN>BACKUPINCREMENTALlevel0database;
•每天执行一次2级增量备份,星期三除外。
以这种方式备份的速度比较快,这是因为只复制了自前一天以来更改过的块:
RMAN>BACKUPINCREMENTALlevel2database;
•星期三的数据库活动较少
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 032 RMAN 管理 备份 恢复