RMAN 系列(二) ---- RMAN 设置和配置

一.配置数据库以ARCHIVELOG模式运行

ORACLE10g之前,在将数据库置入Archivelog模式后,需要启动arch进程。设置参数LOG_ARCHIVE_STARTtrue,也可启动arch进程。在10g以后,不需要使用该方法,当数据库处于archivelog模式时,Oracle会自动启动arch进程。

Arch进程由LGWR进程调用,只要一个联机redolog被填满。LGWR进程就切换到另一个联机redo组。此时如果数据库处于archivelog模式,LGWR进程也会通知ARCH,将该进程唤醒并开始工作。ARCH进程相应LGWR的调用,在ORACLE数据库参数LOG_ARCHIVE_DEST_n定义的位置或者定义的闪回恢复区生成联机redolog的副本,知道arch进程完成创建归档的重做日志副本后,Oracle才能重用这个redolog文件。

Oracle10g提供了2种不同的位置来保存归档日志:ArchiveLog目标目录和闪回区。

1.1ArchiveLog目标目录

使用LOG_ARCHVEI_DEST_n参数可以定义10个不同的归档日志目标。这些目录可以是本地目录,网络目录。

下面对一些参数做相关说明:

(1)LOG_ARCHIVE_STAT_n参数:该参数为每个归档日志定义两种不同的状态:ENABLEDEFER,如果是ENABLE,则该归档目录是有效的,如果是DEFER,就不会在指定的LOG_ARCHIVE_DEST_n进行归档。

(2)LOG_ARCHIVE_FORMAT参数:Oracle创建归档日志时,按按参数指定的格式,重命名归档日志。

(3)LOG_ARCHIVE_MIN_SUCCEED_DEST:允许DBA定义归档日志目标副本的最小数据,这些副本必须成功。这样Oracle才可以重用关联的redoonlinelog

(4)LOG_ARCHIVE_START:该参数在10g中不再使用,用户自动启动ARCH进程。

1.2闪回恢复区

闪回恢复区(FRA)允许集中存储所有与恢复相关的文件。FRA可以本地使用附加的存储,Oracle集群文件系统(OracleFilesystemOCFS)或者Oracle10g中新的自动存储管理(ASM)特性。FRA中备份文件类型:归档的重做日志,控制文件,控制文件自动备份。闪回日志,重做日志,RMAN数据文件副本,RMAN备份和其他相关文件。

FRA帮助管理全部的磁盘空间分配,并且为所有与恢复相关饿文件提供集中的存储区域。FRA也提供更快速的备份和恢复操作。

FRA中文件的保留与否由RMAN保存策略决定。通过执行RMANconfigretentionpolicy命令设置该策略。如果文件在RMAN保存策略下没有过时,则不会被删除。如果归档日志过时,则可以删除。

FRA在由参数DB_RECOVERY_FILE_DEST定义的特定位置中创建。该位置可以是文件系统或者ASM卷。DB_RECOVER_FILE_DEST_SIZE参数则用来定义FRA的最大尺寸。这是Oracle控制的文件空间的限制,而与文件系统自身中的全部可用空间无关。Oracle监控FRA中的可用空间,一旦FRA中的空间数据量减少到不安全的程度,Oracle就会在警报日志中生成警告(90%已使用时生成一次警告,而在95%已使用时再次生成警告)。同样,当FRA中空闲空间少于10%时,Oracle就会删除处于过时文件列表中的文件。

如果闪回恢复区是唯一归档目标,那么FRA中空间被用完时就会非常麻烦,可能造成数据库异常终止,所以如果只设置了唯一的归档目录,则应该仔细的监控空间可用性。简单的说有以下几种方法:

(1)增加DB_RECOVERY_FILE_DEST_SIZE.

(2)用RMANBACKUPrecoveryarea。将FRA的内容移动到其他位置。

(3)物理删除较早的备份,然后用RMANcrosscheck命令来让数据库认可已经删除的文件。

这类问题处理的方法参考:

FlashRecoveryArea空间不足导致数据库不能打开或hang

http://blog.csdn.net/xujinyang/article/details/6830475

和闪回恢复区相关的视图:

(1)DBA_OUTSTANDING_ALERTS

FRA中添加和删除文件时,这些事件的记录被记录到数据库警告日志中。可以通过该视图来了解一些FRA一些显著问题的信息。注意:空间相关问题产生的时间和警告日志在该视图中的时间存在一定程度的延时。

SQL>selectreasonfromdba_outstanding_alerts;

REASON

-------------------------------------------------------------------------------

db_recovery_file_dest_size字节(4039114752字节)已使用100.00%,尚有0字节可用。

2v$recovery_file_dest

该视图提供了在数据库中定义FRA的概念。提供配置的FRA大小,所使用空间数量,可回收多少空间,以及FRA中文件量。

SQL>select*fromv$recovery_file_dest;

NAMESPACE_LIMITSPACE_USEDSPACE_RECLAIMABLENUMBER_OF_FILES

-----------------------------------------------------------------------------

D:/app/Administrator/flash_recovery_area40391147524005191680085

如果SPACE_RECLAIMABLE不为0.即表示FRA中有可回收的文件。如果需要该空间,可以强制日志切换,它将删除可回收的任何文件并释放空间。

SQL>altersystemswitchlogfile;

系统已更改。

(3)v$flash_recovery_area_usage

该视图提供了关于占用FRA空间的文件类型的详细信息。该视图对文件类型组合,然后提供每个文件类型所使用的空间百分比,来自该组的总FRA可回收空间百分比,以及来自该组的FRA中文件数量。

SQL>select*fromv$flash_recovery_area_usage;

FILE_TYPEPERCENT_SPACE_USEDPERCENT_SPACE_RECLAIMABLENUMBER_OF_FILES

-----------------------------------------------------------------------------

CONTROLFILE000

REDOLOG000

ARCHIVEDLOG99.16085

BACKUPPIECE000

IMAGECOPY000

FLASHBACKLOG000

FOREIGNARCHIVEDLOG000

已选择7行。

包含FRA列的其他视图

可以在许多10g的视图中找到IS_RECOVERY_DEST_FILE视图,例如:

V$CONTRILFILE,V$LOGIFLE,V$ARCHIVEC_LOG,V$DATAFILE_COPY,V$DATAFILE,V$BACKUP_PIECE.

该列是一个布尔值,用来指示文件是否位于FRA中。

另一个列BYTES可以在V$BACKUP_PIECERC_BACKUP_PIECErman恢复目录视图)中找到,该列以字节为单位指示备份集片的大小。

其他闪回恢复区特性

Oracle10g,如果没有设置OMF相关的DB_CREATE_ONLINE_LOG_DEST_n参数,则alterdatabaseaddlogfilealterdatabaseaddstandbylogfile命令创建FRA中的连接重做日志成员。Alterdatabasedroplogfilealterdatabaserenamefile命令也支持FRA中的文件。

在数据库创建期间,Oracle可以使用FRA存储数据库控制文件和联机重做日志。如果定义了OMF相关参数:DB_CREATE_ONLINE_LOG_DEST_n,则将在这些位置创建控制文件和重做日志,但不会在FRA中创建,即使定义了FRA。如果没有定义DB_CREATE_ONLINE_LOG_DEST_n,但定义了CREATE_FILE_DEST,则由CREATE_FILE_DEST定义的位置创建控制文件和联机重做日志的副本。最后,如果定义了DB_RECOVERY_FILE_DEST,则在该位置创建控制文件。如果没有定义任何这些参数,则在OS特定的默认位置创建控制文件和联机重做日志。

FRA和ASM

RMAN支持使用自动存储管理(ASM)存储RMAN备份。ASM是磁盘管理工具,使用该工具,DBA就不再需要管理与给定数据库关联的物理文件。ASM在一定程度上类似于可用于UNIX中的逻辑卷组。ASM使用ASM磁盘组,该磁盘组是存储在逻辑单元。物理磁盘被分配给ASM磁盘组,并且提供ASM磁盘组整体存储功能。ASM磁盘组可以存在前面分配的文件系统上,或者存储在RAW磁盘上。结合OCFS,集群的服务器可以共享RAC配置中的ASM磁盘。配置ASM并定义各种磁盘组合,就可以分配数据文件,控制文件,联机重做日志,以及各种RMAN备份文件给ASM磁盘组。

ASM提供了大量特性,包括负载均衡,数据冗余,并且很容易添加和删除ASM磁盘组中的新磁盘。RMAN支持ASM磁盘组,但是对于大多数非RAC站点使用ASM实现并没有多少价值。

1.3是否应该使用FRA

我们认为隐藏在FRA后面的思想是优秀的,我们也喜欢将备份复制到一些其他的介质,如磁带,从而可以脱机使用它们以进行灾难恢复。

我们喜欢将FRA用于归档的重做日志,但仍喜欢将归档重做日志复制到多个位置(具体说是多个磁盘)。归档的重做日志对于数据库恢复至关重要,如果丢失一个归档的重做日志,则在该重做日志之后的所有其他重做归档就会几乎没有任何价值。因为,我们倾向于使用LOG_ARCHIVE_DEST_n参数来配置数据库,而使用FRA和另一单独的文件系统来存储归档的重做日志。

1.4ARCHIVELOG模式之间的切换

具体操作参考我的blog

Oracle归档与非归档的切换

http://blog.csdn.net/xujinyang/article/details/6830327


二.RMAN命令行

进入RMAN有两种不同方法:命令行和OEM

2.1通过RMAN命令行连接

OS提示下简单的输入rman命令就可以启动RMAN。一旦启动了RMAN命令解释程序,就可以执行任何所需的操作。

RMAN总是以SYSDBA身份连接目标数据库,所以连接账户必须具有SYSDBA权限。具体用法参考帮助:

C:/Users/Administrator.DavidDai>rmanhelp

参数值说明

-----------------------------------------------------------------------------

target加引号的字符串目标数据库连接字符串

目录加引号的字符串恢复目录的连接字符串

nocatalog无如果已指定,则没有恢复目录

cmdfile加引号的字符串输入命令文件的名称

log加引号的字符串输出消息日志文件的名称

跟踪加引号的字符串输出调试信息日志文件的名称

append无如果已指定,日志将以附加模式打开

debug可选参数激活调试

msgno无对全部消息显示RMAN-nnnn前缀

send加引号的字符串将命令发送到介质管理器

pipe字符串管道名称的构建块

timeout整数等待管道输入的秒数

checksyntax无检查命令文件中的语法错误

-----------------------------------------------------------------------------

单引号和双引号('")均可用于加引号的字符串。

除非字符串中有空格,否则不用引号。

2.2使用RMANconnet命令

如果启动了RMAN,发现没有连接到正确的数据库,或者要连接到一个不同的数据库(目标数据库,目录数据库,辅助数据库),可以使用connect命令来更改RMAN要连接的数据库。使用connecttarget命令可以连接到一个不同的目标数据库;使用connectcatalog命令可以连接到不同的恢复目录,使用connectauxiliary命令可以连接到一个不同的辅助数据库。

Connecttargetsys/pwd@sid

Connectcataloguser/pwd@sid

2.3退出RMAN客户端

RMAN退出命令有2个:quitexit

三.为RMAN操作配置数据库

3.1设置数据库用户

在默认情况下,可以通过SYS账户(sysdba)来使用RMAN,该账户不需要任何配置。当然,在执行产品备份操作时,sysdba并不是最佳的账户。建议在使用RMAN执行备份操作之前创建一个用于RMAN备份的单独账户设置。

C:/Users/Administrator.DavidDai>setORACLE_SID=mynewccs

C:/Users/Administrator.DavidDai>sqlplus/nolog

SQL*Plus:Release11.2.0.1.0Productionon星期一61410:11:392010

Copyright(c)1982,2010,Oracle.Allrightsreserved.

SQL>conn/assysdba

已连接。

SQL>createuserrmanidentifiedbyrman;

用户已创建。

SQL>grantsysdbatorman;

授权成功。

SQL>host

MicrosoftWindows[版本6.1.7600]

版权所有(c)2009MicrosoftCorporation。保留所有权利。

C:/Users/Administrator.DavidDai>rmantargetrman/rman@mynewccs;

恢复管理器:Release11.2.0.1.0-Productionon星期一61410:12:452010

Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.

连接到目标数据库:MYNEWCCS(DBID=1108507251)

RMAN>

3.2设置数据库安全性

先来看一下本地服务器上连接RMAN和通过ORACLEnet连接RMAN两者之间的差异。启动RMAN时,我们可能登录到数据库所在的服务器。在这种情况下,如果使用特许的OS用户账户登录,登录时用具有sysdba权限的用户即可。根据使用的操作系统,我们可以确定我们的用户账户是否是特许的。如果使用UNIX,通常会存在一个名为dbaUNIX组,它是在创建ORACLE特有的账户(通常名为Oracle)时创建的。如果在这个Unix组中指定我们的UNIX用户账户,就可以不再执行其他操作而连接到一个目标数据库。如果使用Windows平台,特许用户会指定到一个通常名为ORA_DBANT组。

如果没有使用特许的账户登录本地服务器,或者从客户端工作站使用Oraclenet来连接目标数据库(如:user/pwd@sid.就需要配置数据库使用口令文件。配置口令文件时,先要创建口令文件,然后配置数据库,使数据库明确使用这个口令文件。创建口令文件的2个步骤如下:

3.2.1创建口令文件

使用Oracle使用程序orapwd可以创建口令文件。该命令有3个参数:

File:口令文件名
password:sys用户的口令

Entries:为其他特许的Oracle用户账户保留的条目数

缺省情况下,win下口令文件的格式是pwdsid.oraunix下的格式是orapwSID(大小写敏感),

C:>orapwdfile=pwdSID.ORApassword=pwdentries=5;

3.2.2配置数据库使用口令文件

在默认情况下,Oracle不会被配置为使用口令文件(除非使用DBCA创建数据库)。是否使用口令文件,是通过oracle提供的一个参数remote_login_passwordfile来控制的,remote_login_passwordfilenonesharedexclusive3个值,

none表示不使用口令文件,停用口令文件验证,Oracle数据库不允许远程SYSDBA/SYSOPER身份登录

exclusive表示实例独占使用口令文件,也就是各自实例使用单独的口令文件,

shared表示多个实例共享一个口令文件.

Oracle数据库在启动时,首先查找的是orapw<sid>的口令文件,如果该文件不存在,则开始查找,orapw的口令文件,如果口令文件命名为orapw,多个数据库就可以共享.

AltersystemsetREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVESCOPE=SPFILE;

SQL>selectname,value,issys_modifiablefromv$parameterwherename='remote_login_passwordfile';

NAMEVALUEISSYS_MOD

------------------------------------------------------

remote_login_passwordfileEXCLUSIVEFALSE

注意:该参数不是动态修改的,修改后需要重启数据库。

也可参考blog:

OracleOS认证口令文件密码丢失处理

http://blog.csdn.net/xujinyang/article/details/6830312

3.3设置CONTROL_FILE_RECORD_KEEP_TIME参数

RMAN配置数据库时,我们应当考虑在控制文件中存储备份记录的时间。备份记录包括完全的数据库备份记录,以及指定的数据文件,控制文件,参数文件和归档目录的备份记录。数据库参数CONTROL_FILE_RECORD_KEEP_TIME以天为单位(默认值为7天),因此在默认情况下,Oracle会将RMAN备份和恢复记录保存7天。可以将该参数设置为0365之间的任意值。

CONTROL_FILE_RECORD_KEEP_TIME参数会影响一系列的数据库操作。首先,产生RMAN备份时,由于与这些备份相关的记录存储在控制文件中,所以该参数直接影响数据库控制文件的大小。备份记录将不断的保存在控制文件中,控制文件将耗尽空间。这时,Oracle会扩展控制文件来调整备份记录所需的存储空间。此外,设置为0时,将禁止扩展控制文件,并且会使得RMAN备份的保存周期不稳定。

我们建议将CONTROL_FILE_RECORD_KEEP_TIME参数设置为不小于选中数据库的备份保存周期,否则就可能在备份介质上有数据库备份,但是控制文件不存在与备份相关的备份记录,在这种情况下,将无法恢复这些较早的文件。

SQL>selectname,valuefromv$parameterwherename='control_file_record_keep_time';

NAMEVALUE

-------------------------------------------------------------------------------

control_file_record_keep_time7

SQL>altersystemsetcontrol_file_record_keep_time=20;

系统已更改。

SQL>showparametercontrol_file_record_keep_time

NAMETYPEVALUE

-----------------------------------------------------------------------------

control_file_record_keep_timeinteger20

SQL>

3.4配置RMAN默认设置

RMAN允许我们执行自动的数据库备份和恢复。为了支持这个功能,我们为一些参数设置默认值。

3.4.1configure命令介绍

RMAN>showall;

使用目标数据库控制文件替代恢复目录

db_unique_name为MYNEWCCS的数据库的RMAN配置参数为:

CONFIGURERETENTIONPOLICYTOREDUNDANCY1;#default

CONFIGUREBACKUPOPTIMIZATIONOFF;#default

CONFIGUREDEFAULTDEVICETYPETODISK;#default

CONFIGURECONTROLFILEAUTOBACKUPOFF;#default

CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';#default

CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;#default

CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default

CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default

CONFIGUREMAXSETSIZETOUNLIMITED;#default

CONFIGUREENCRYPTIONFORDATABASEOFF;#default

CONFIGUREENCRYPTIONALGORITHM'AES128';#default

CONFIGURECOMPRESSIONALGORITHM'BASIC'ASOFRELEASE'DEFAULT'OPTIMIZEFORLOA

DTRUE;#default

CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default

CONFIGURESNAPSHOTCONTROLFILENAMETO'D:/APP/ADMINISTRATOR/PRODUCT/11.2.0/DBHO

ME_1/DATABASE/SNCFMYNEWCCS.ORA';#default

Showall命令显示了默认的配置。我们也可以使用查看v$rman_configuration视图,它列出了非默认的RMAN配额。

更多内容参考blog

OracleRman命令详解(Listreportbackupconfigure)

http://blog.csdn.net/xujinyang/article/details/6838072

3.4.2配置多种RMAN配置

我们可以采用不同的方法来配置通道:使用configurechanneldevicetype命令可以配置用于所有通道的默认值;使用configurechannelndevicetype命令可以配置用于指定默认通道的默认值。

使用configurechanneldevicetypeclear命令可以清楚用于所有通道的默认值,使用configurechannelndevicetypeclear命令可以清除用于指定默认通道的默认值。

使用allocatechannel命令分配一个通道时,可以为分配的这个通道指定名称。如:allocatechanneld1devicetypedisk命令可以创建一个名为d1的通道。自动分配通道时,ORACLE会为这些通道指定名称,他们的默认名称取决于默认设备类型。磁盘设备,默认名:ORA_DISK_n;磁带设备:默认名:ORA_SBT_TAPE_n

自动分配通道数取决于所定义的默认并行级别。执行configure命令时,Oracle显示前面的配置设置,后面跟上新的配置设置。

3.4.3configure命令的一些示例:

配置通道默认设置

Configuredefaultdevicetypetosbt;

Configuredefaultdevicetypetodisk;

当配置默认的设备类型时,Oracle将使用默认的通道,直到使用backupdevicetype参数重写默认值,也将自动分配用于delete命令的维护通道和用于复制操作的辅助通道。

一旦配置了默认的设备类型,就可以配置特定备份类型的默认值,当使用备份时,应该进行这种备份。例如,当备份到磁盘时,可以让Oracle默认地使用标准的oracle备份集方法备份数据库,或者让其默认为使用副本,或者默认为压缩备份集,并表明并行程度(这表示将分配给备份的通道数)。相关实例如下:

Configuredevicetypediskbackuptypetobackupset;

Configuredevicetypediskbackuptypetocompressedbackupset;

Configuredevicetypediskbackuptypetocopy;

Configuredevicetypediskparallelism2;

压缩是Oracle10g里的新特性。压缩提供了Oracle备份的真正压缩,而不同于ZIP压缩,它可以有效的减小备份集的大小。当然,压缩占用资源并且需要更长的时间来完成备份和恢复。

在看一个自动备份和恢复操作期间分配的通道数示例,示例中,分配磁盘操作的并行级别为2,因此,如果启动自动备份操作,就会分配两个通道来并行执行备份操作。

Configurechannel1devicetypediskformat'd:/backup/orcl/backup_%U';

Configurechannel2devicetypediskformat'e:/backup/orcl/backup_%U';

注意:通常在设置默认的并行级别时,应当设置为连接备份数据库的磁盘数或者磁带驱动器数。

在配置通道时有一些可用选项。使用maxpiecesize参数,可以控制备份集片的大小,用maxopenfile,可以控制RMAN一次最多可以打开的文件数。Rate参数用于限制RMAN并控制备份时读取字节的比率为每秒nBnKBnMBnGB

如:configurechanncel1devicetypediskmaxpiecesize100mmaxopenfile8rate100MB;

注意:不要混淆maxpiecesize参数和maxsetsize参数之间的区别。Maxpiecesize限定单个备份集片的大小并且对备份的整体大小没有影响。Maxsetsize参数限制备份的整体大小,因此需要谨慎使用。

如果是限定所有通道,可以执行如下命令:

Configurechanneldevicetypediskmaxpiecesize100m.

为什么需要更改一个备份集片的最大尺寸呢? 首先是某些指定文件大小存在限制,比如磁带只能处理一定量的数据,而某些磁盘文件系统对给定的数据文件的大小有一些限制。

将一个磁带设备设置为所有通道的默认设备,并且指定一些参数的设置。 相关设置如下:

Configurechanneldevicetype双胞胎maxpiecesize100mparms'ENV=(NB_ORA_CLASS=RMAN_RS100_TAPE)';

配置整个备份集的默认最大尺寸

Configuremaxsetsizeto7500k;

将备份集的最大尺寸设为默认值,即没有限制

Configuremaxsetsizeclear;

注意:使用maxsetsize来限制创建的整个备份的大小时需要特别小心。这是因为数据库在初始化阶段可能小于定义的maxsetsize值,但数据库很快就会超过maxsetsize值,这样就会导致数据库备份操作失败。

使用configure命令时,需要清楚给定的配置,这样才能使用默认值。如:

Configurechannel1devicetypediskclear;

可以将备份进程配置为创建双路备份(duplexedbackup),也就是说在不同的位置创建同一个备份的多个副本。还可以使用configure命令来配置数据库的默认设置,以使configure命令执行双路的自动备份操作:

Configuredatafilebackupcopiesfordevicetypediskto2;

快照控制文件,该文件是RMAN备份期间数据库控制文件的时间点副本,这样可以保证备份与给定时间点一致。因此,如果在启动备份操作后在数据库中添加一个表空间或者数据文件,这个表空间或数据文件就不会包含在备份中。如果我们希望在默认位置外的位置创建备份控制文件,就可以使用configure命令来定义这个新位置:

Configuresnapshotcontrolfilenameto'd:/backup/snapshotSID';

注意:既是配置了FRAOracle也不会在FRA中创建控制文件。

在自动备份期间,我们可以将指定的表空间排除在备份之外,也可以使用configure命令来实现这一功能:

Configureexcludefortablespaceold_data;

Configure命令允许我们启用和禁止备份优化,启用备份优化时,会使ORACLE跳过在备份设备上已有的相同备份的文件的备份。

Configurebackupoptimizationon;

注意:要执行优化操作,就必须启动备份优化。此外,我们也必须执行backupdatabase命令或者backuparchivelog命令或与like/all选项连用,或backupbackupsetall。最后,还可以使用backup命令的force参数来禁止备份优化。

3.4.4使用格式串

先看例子:Configurechannel1devicetypediskformat'd:/backup/orcl/backup_%U';

configure命令中经常使用格式串,在backup,resotre,allocatechannel等其他RMAN命令中也会经常看到格式串。RMAN提供了与格式串关联的一些语法元素。这些元素称:占位符,rman将使用相应的定义值来替换他们。例如示例中的%U语法元素告诉RMAN要使用系统生成的唯一表示符替换文件名。

使用FORMAT参数时可使用的各种替换变量,如下(注意大小写)所示:

%a:Oracle数据库的activationIDRESETLOG_ID

%c:备份片段的复制数(从1开始编号,最大不超过256)。

%d:Oracle数据库名称。

%D:当前时间中的日,格式为DD

%e:归档序号。

%f:绝对文件编号。

%F:基于"DBID+时间"确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBIDYYYYMMDD为日期,QQ是一个1256的序列。

%h:归档日志线程号。

%I:Oracle数据库的DBID

%M:当前时间中的月,格式为MM

%N:表空间名称。

%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8。比如数据库名JSSBOOK,则生成的名称则是JSSBOOKx

%p:备份集中备份片段的编号,从1开始。

%s:备份集号。

%t:备份集时间戳。

%T:当前时间的年月日格式(YYYYMMDD)。

%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称。

%U:默认是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式,执行不同备份操作时,生成的规则也不同,如下所示:

生成备份片段时,%U=%u_%p_%c

生成数据文件镜像复制时,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u

生成归档文件镜像复制时,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u

生成控制文件镜像复制时,%U=cf-D_%d-id-%I_%u

%Y:当前时间中的年,格式为YYYY

注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。

3.4.5配置控制文件和数据库参数文件的自动备份

Oracle10g版本中的RMAN提供了备份控制文件和数据库参数文件的功能。我们可以配置默认执行这些备份操作。

示例:

Configurecontrolfileautobackupon;

Configurecontrolfileautobackupoff;

配置控制文件和参数文件的自动备份时的一些规则:

(1)在RUN程序块之外执行每个RMANbackup或者copy命令时,都会自动备份控制文件和参数文件。

(2)使用使用了RUN程序块,而且该程序块的最后一个命令不是backup或者copy,在RUN程序块结尾处会备份控制文件和参数文件。

除了上面2种自动控制文件备份类型,我们还可以配置另一种特殊的控制文件备份类型。该类型发生在数据库变化时,这些变化包括添加新的表空间,添加数据文件,添加联机重做日志等。这些自动备份类型只在磁盘上发生,使用configurecontrolfileautobackup命令的特殊选项可以简化备份。如:

Configurecontrolfileautobackupformatfordevicetypediskto'd:/backup/sid_%F';

使用了该选项,RDBMS会在数据结构的变化控制文件产生影响时自动备份控制文件。强调一点,只支持磁盘。

3.4.6备份默认的保存策略:

RMAN允许用户使用configureretentionpolicy命令来配置保存粗略。配置保存粗略不会导致自动删除备份,需要使用deleteobsolete命令才能删除过期的备份集。在reportobsolete命令时显示到期的备份集。如果列出的某个文件不能被删除,需要鱼腥crosscheck命令,否则,Oracle删除deleteobsolete命令输出的所有项。

如:

configureretentionpolicytorecoverywindowof7days;

--recoverwindow是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete

configureretentionpolicytoredundancy5;

--redundancy是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。

configureretentionpolicyclear;

--保存策略重置为默认值(冗余为1

CONFIGURERETENTIONPOLICYTONONE;

--不应用任何保存策略。

注意:如果使用磁带管理系统,该系统会具有自己的保存策略。如果磁带管理系统的保存策略与RMAN中定义的备份保存策略冲突,则磁带管理系统的保存策略优先,同时,恢复备份的能力会大受影响。

3.4.7配置默认的加密级别

Oracle10gR2以后的版本中,RMAN可以创建加密备份,在备份期间,Oracle在创建备份集时对其进行加密。当还原备份时,则对其进行解密。

Oracle提供了3种不同的机密模式:

(1)透明模式:透明模式的加密不需要DBA干涉,为了使用该模式,必须配置Oracle加密电子皮夹(EncryptionWallet.

(2)口令模式:口令模式加密需要在创建将要加密的备份或还原(在创建时)加密的备份时提供口令。在RMAN备份脚本中使用命令:setencryptiononidentifiedbypasswordonly提供口令。

(3)双重模式:可以通过口令或Oracle加密电子皮夹来还原双重模式的备份。因为不需要安装Oracle加密电子皮夹,双重模式简化了备份的离站还原。可以使用:setencryptiononidentifiedbypassword命令(注意,少了only)创建双重模式加密备份。

使用configure命令配置各种与RMAN备份加密相关的持久性设置。可以使用RMANconfigure命令来设置以下相关内容:

(1)是否应该加密所有的数据库文件

(2)是否应该加密特定的表空间

(3)应该使用那种可用的机密算法来机密备份

如果正在使用基于Oracle加密电子皮夹的安全保护,则只需要设置configure命令所需的持久性RMAN设置。如果希望使用口令模式加密或双重模式加密,就需要使用configure命令配置持久性安全默认值,然后启动备份时使用set命令设置备份口令,则在每次RMAN备份或者恢复会话期间必须输入该口令。

下面的示例中,为整个数据库配置并启用备份加密。注意,如果没有配置Oracle加密电子皮夹,随后的任何备份都将会失败,除非使用set命令建立会话的加密口令。

RMAN>configureencryptionfordatabaseon;

新的RMAN配置参数:

CONFIGUREENCRYPTIONFORDATABASEON;

已成功存储新的RMAN配置参数

RMAN>setencryptiononidentifiedbyadminonly;

正在执行命令:SETencryption

RMAN>backupdatabaseplusarchivelog;

如果满足下列条件,则使用加密备份归档的重做日志备份:

(1)在进行归档重做日志的备份时执行setencryptionon命令。

(2)已经为整个数据库配置了加密,或者至少为数据库的一个表空间配置了加密。

3.4.8配置归档日志删除策略。

可以配置RMAN来管理归档重做日志的删除策略。默认情况下,Oracle将配置的备份保存策略应用于归档的重做日志。然而,如果正在使用FRA和备用数据库,就可以配置RMAN,在使用configurearchivelogdeletionpolicytoappliedonstandby命令,将归档的重做日志应用与强制的备用数据库后将其标记为可删除。在这种情况下,一旦已经成功将归档的重做日志应用于强制的备用数据库位置,Oracle就可以将其从FRA中删除。

3.5使用共享服务器的情况

如果使用Oracle的共享服务器选项(10g以前称为MTS,或者多线程服务器),就必须配置一个RMAN使用的专用服务器,这是因为RMAN不能使用共享服务器会话连接到数据库。

如果共享的,就必须通过NetManager工具配置一个专用的:

MYICD=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=DavidDai)(PORT=1521))

(CONNECT_DATA=

(SERVER=DEDICATED)

(SERVICE_NAME=myicd)

)

)

四.恢复目录

Oracle在RMAN存储库中维护与RMAN操作相关的所有元数据。RMAN存储库总是被存储在目标数据库的控制文件中,我们可以用另一个位置存储数据的RMAN存储库。这就是RMAN恢复目录。

在大多数操作中,RMAN都不要恢复目录,因此在许多情况下,恢复目录实际上是一个可选的组件。因为恢复目录在很大程度上可选,所以RMAN的默认配置中没有恢复目录。

4.1恢复目录的定义

恢复目录是RMAN的一个可选组件,它存储来自RMAN备份的历史备份信息。与数据库控制文件的RMAN信息不同,恢复目录数据不是定期的进行清楚,因此恢复目录会保存比控制文件更多的历史信息。使用恢复目录比只使用数据库控制文件有更多的优点,这些优点包括:

(1)如果要使用存储的RMAN脚本,就必须使用恢复目录

(2)恢复目录提供存储全企业RMAN信息的单一存储库,它可以更方便,灵活地集中存储企业的备份信息

(3)由于可以在当前时间之外的时间报告目标数据库的信息,所以恢复目录使得报告起来更有灵活性。

(4)使用恢复目录可以保留某些默认的数据库RMAN通道配置信息。

如果你是RMAN老手,就会注意到这里缺少一些优点:

(1)Oracle10g可以很容易的在没有恢复目录的情况下通过resetlogs支持恢复

(2)如果使用控制文件自动备份,则不在需要将恢复目录用于控制文件恢复。

注意:如果不会使用恢复目录,则保存对数据库DBID的记录。虽然这不是必须的内容,但是数据库的DBID很有用,而且使用DBID可以简化恢复操作。

C:/Users/Administrator.DavidDai>rmantarget/

恢复管理器:Release11.2.0.1.0-Productionon星期三61619:48:482010

Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.

连接到目标数据库:MYNEWCCS(DBID=1108507251)

SQL>selectdbidfromv$database;

DBID

----------

1108507251

是否应该使用恢复目录?

如果只有很少的一些数据库,则恢复目录就可能不值得话费额外的时间和精力在它上面。如果有许多数据库,则应该考虑使用恢复目录。一般来说,恢复目录带来的灵活性和集中的全企业报告优点在价值上超过了它所增加的维护和管理成本。然而,使用恢复目录的一个缺点在于,如果目录数据库关闭,则所有备份都会失败,除非已经编码的脚本,从而在使用恢复目录的第一个备份失败时,执行没有恢复目录的备份。

此外,恢复目录是数据保护备份环境和分割镜像(splitmirror)备份的基础部分。在这些配置中,当备份来自于备份主机的数据库时,可以认为恢复目录是最近的信息,因此它是该策略的核心内容,若维护不当则成为失败的导火索。记住,底线是看环境是否需要恢复目录。

连接RMAN时,必须使用catalog命令行参数来表明将要建立RMAN与恢复目录的连接。在默认情况下,RMAN使用nocatalog选项,该选项表明不使用恢复目录。使用catalog参数后,需要指明包含恢复目录对象的恢复目录模式的用户ID和口令。

如:rmantarget'sys/pwdassysdba@sid'catalog'user/pwd@SID2';

4.2创建恢复目录

4.2.1配置恢复目录数据库

恢复目录数据库应该尽可能存在于敦力的数据库上。然后,根据我们的经验,许多站点使用活动数据库作为恢复目录数据库,只要在备份数据库时采取预防措施,这也是可行的。每个注册的数据库可以分配20M左右的表空间。

SQL>createtablespacerman_tsdatafile'D:/APP/ADMINISTRATOR/ORADATA/MYNEWCCS/rmants.dbf'size20M;

表空间已创建。

4.2.2创建恢复目录用户

恢复目录用户需要connect,resource,recovery_catalog_owner权限。

SQL>Createuserrcat_daveidentifiedbyrcat_davedefaulttablespacerman_ts;

用户已创建。

SQL>Grantconnect,resource,recovery_catalog_ownertorcat_dave;

授权成功。

4.2.3创建恢复目录模式对象

创建恢复目录在Oracle10g中是一个简单的过程,该过程仅需要使用RMAN。启动RMAN时,使用target参数连接目标数据库,再使用catalog参数连接恢复目录数据库模式。最后在RMAN提示符下执行createcatalog命令即可。

C:/Users/Administrator.DavidDai>rmantarget'sys/adminassysdba@mynewccs'catalog'rcat_dave/rcat_dave@mynewccs';

恢复管理器:Release11.2.0.1.0-Productionon星期三61621:34:562010

Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.

连接到目标数据库:MYNEWCCS(DBID=1108507251)

连接到恢复目录数据库

RMAN>createcatalogtablespacerman_ts;--rman_ts是第一步创建的

恢复目录已创建

RMAN>

4.2.4在恢复目录中注册数据库

使用恢复目录执行数据库的RMAN备份操作前必须注册数据库。方法如下:

RMAN>registerdatabase;

注册在恢复目录中的数据库

正在启动全部恢复目录的resync

完成全部resync

reportschema命令验证是否注册成功:

RMAN>reportschema;

4.2.5删除恢复目录

使用drop_catalog命令可删除恢复目录模式,不过这样也会使包含在模式中的所有信息都会丢失。因此在删除之前要考虑做好备份。

RMAN>dropcatalog;

恢复目录所有者是RCAT_DAVE

再输入一次DROPCATALOG命令来确认目录删除

RMAN>dropcatalog;

恢复目录已删除

RMAN>

4.2.6在恢复目录中添加RMAN备份

如果已经在没有恢复目录的情况下执行了RMAN备份,并且希望在后面将这些备份添加到恢复目录,则可以使用catalog命令。可以将数据文件副本,备份集片,归档日志备份,甚至整个备份目录添加到目录中。示例如下:

RMAN>catalogdatafilecopy'D:/APP/ADMINISTRATOR/ORADATA/MYNEWCCS/system01.dbf';

RMAN>catalogarchivelog'D:/APP/ADMINISTRATOR/ORADATA/MYNEWCCS/arch_20.arc';

RMAN>catalogbackuppiece'D:/APP/ADMINISTRATOR/ORADATA/MYNEWCCS/backup_031.bkp';

RMAN>catalogstartwith'D:/APP/ADMINISTRATOR/ORADATA/MYNEWCCS/';

注意:要谨慎使用catalogstartwith命令,必须在目录路径结尾加上反斜杠后缀,如果不加将遍历目录下的所有组合.如:D:/APP/ADMINISTRATOR/ORADATA/MYNEWCCS-OLD.

4.2.7在恢复目录中取消数据库注册

可以在RMAN中使用unregisterdatabase命令来取消数据库注册。如果希望取消已经存在的数据库注册,只要连接到数据库和恢复目录,并执行unregisterdatabase命令即可。

RMAN>unregisterdatabase;

如果已经删除数据库,并且希望从恢复目录中删除该数据库,则在大多数情况下只需要知道希望取消注册数据库的名称。

RMAN>unregisterdatabasemynewccs;

当恢复目录中有多个相同名称注册的数据库时,就需要知道需要取消注册的数据库的DBID。然后在run代码块中运行unregisterdatabase,同时使用setdbid命令。

RMAN>run

{

setdbid1108507251;

unregisterdatabasemynewccsnoprompt;

}

注:整理自《Oracle10gRMAN备份与恢复》

------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值