RMAN in DG

1.Using RMAN to Back Up and Restore Files
  RMAN是有很多好处的,它能够在执行备份操作时对主库产生最小的影响,并且能够快速恢复,还可以简化DG的管理。
1.1 About RMAN File Management in a Data Guard Configuration
  RMAN用恢复目录recovery catalog记录数据库文件的所有文件名。Recovery catalog是数据库的schema,存储一个或多个数据库的元数据metadata,同时它也记录一些位置,online redo logs, standby redo logs, tempfiles, archived redo logs, backup sets, and image copies的创建位置。
  1.1.1 Interchangeability
  备份的可交换性interchangeability of backups.使用RMAN能够在physical db上备份一个表空间然后到primary上进行restore and recover。当然也可以反过来由primary到physical。
  还有个interchangeability,是standby的控制文件和primary的控制文件之间的。可以在primary上restore一个standby的控制文件,亦可以反过来。RMAN能够在restore和recover过程中自动更新数据库文件的文件名。
  1.1.2 Association
  通过DB_UNIQUE_NAME,恢复目录将备份的文件与相应的数据库关联起来。比方说unique name是standby1,那么备份就与standby1相关联。我们可以使用CHANGE...RESET DB_UNIQUE_NAME将备份与另一个数据库相关联。
  1.1.3 Accessibility
  可访问性不同于关联性,在DG环境下,恢复目录只允许数据库访问与其相关联的磁盘备份,但是对于磁带备份,却是所有的数据库都可以访问。如果备份文件没有与任何一个数据库相关联, 那么在恢复目录视图中行所描述的SITE_KEY列值就为NULL。默认情况下,RMAN是把SITE_KEY为NULL的文件与target db相关联的。
  简单描述一下不同类型备份的访问区别。比方有一主一备,分别部署在不同的主机上,同时在主备两库上进行备份操作,都进行两份备份,磁盘和磁带。当使用RMAN连接主库后,就不能使用RMAN的命令操作备库上的磁盘备份文件,但是,RMAN会认为备库上的磁带备份文件是可以合法访问并操作的,这就是区别。
1.2 About RMAN Configuration in a Data Guard Environment
  RMAN是通过DB_UNIQUE_NAME初始化参数来区分同一个DG中的不同数据库的。所以维护DB_UNIQUE_NAME是很重要的一个工作。只有primary才能够在RMAN中明确地使用REGISTER DATABASE命令注册,这一动作可以在用RMAN连接到恢复目录和作为target的primary db后进行。
  使用CONFIGURE命令可以设置RMAN的配置,当这个命令连同FOR DB_UNIQUE_NAME一起使用时,就会设置你所指定的数据库。比方在连接到catalog recovery后,要把BOSTON这个数据库的默认设备类型改成SBT,它的DBID是1625818258。SET DBID命令只在你没有连接到一个数据库作为target时使用。
  RMAN> SET DBID 1625818258;
  RMAN> CONFIGURE DEFAULT DEVICE TAPE TO SBT SET FOR DB_UNIQUE_NAME BOSTON;
1.3 Recommended RMAN and Oracle Database Configurations
  在进行下面的内容之前,先做一些假定。
  A.备库是physical而非logical,并且备份只在physical上面进行;
  B.使用recovery catalog作为RMAN repository,而非只是使用控制文件,这样主库就不会因为备份是在备库上执行的而导致自己没有任何关于备份的信息了;
  C.所有的数据库都是用11g R1;
  D.配置了Oracle Secure Backup或者其他第三方介质管理软件,以使RMAN能够备份至磁带;
  1.3.1 Oracle Configurations on Primary and Standby Databases
  开启闪回恢复区,设置DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE;
  使用spfile参数文件;
  开启闪库;
  1.3.2 RMAN configurations on primary database
大致有以下几步:
1.连接到primary db and recovery catalog
2.配置保留策略RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n days;
3.指定归档删除时间RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO ALL STANDBY;或者RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
4.暂时了解就行Configure the connect string for the primary database and all standby databases, so that RMAN can connect remotely and perform resynchronization when the RESYNC CATALOG FROM DB_UNIQUE_NAME command is used. When you connect to the target instance, you must provide a net service name. This requirement applies even if the other database instance from where the resynchronization is done is on the local host. The target and remote instances must use the same SYSDBA password, which means that both instances must already have password files. You can create the password file with a single password so you can start all the database instances with that password file. For example, if the TNS alias to connect to a standby in Boston is boston_conn_str, you can use the following command to configure the connect identifier for the BOSTON database site:
  RMAN> CONFIGURE DB_UNIQUE_NAME BOSTON CONNECT IDENTIFIER 'boston_conn_str';
Note that the 'boston_conn_str' does not include a username and password. It contains only the Oracle Net service name that can be used from any database site to connect to the BOSTON database site.
After connect identifiers are configured for all standby databases, you can verify the list of standbys by using the LIST DB_UNIQUE_NAME OF DATABASE command.
1.3.3 RMAN Configurations at a Standby Database Where Backups are Performed
连接到备库,把备库作为target,并且连接catalog
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;(这条策略会在备份时,掠过备份那些已经被备份,具有相同SCN并且有效的文件)
RMAN> CONFIGURE CHANNEL DEVICE TYPE SBT PARMS ‘<channel parameters>’;
指定归档日志的删除策略。
1.3.4 RMAN Configurations at a Standby Where Backups Are Not Performed
  The following RMAN configurations are recommended at a standby database where backups are not done:
  Connect RMAN to the standby database as target, and to the recovery catalog.
  Enable automatic deletion of archived logs once they are applied at the standby database:
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
 
1.4 Registering and Unregistering Databases in a Data Guard Environment
只有主库才能使用REGISTER DATABASE命令,而备库是自动注册到recovery catalog中的,或者使用CONFIGURE DB_UNIQUE_NAME命令去配置连接标识符(connect identifier)也可以。
要是想注销备库信息的话,使用UNREGISTER DB_UNIQUE_NAME命令。当standby从DG中完全移除时,在你连接到同一DG环境中的别的数据库后,此被移除的standby的信息也将从recovery catalog中移除。但是它的备份还是可以被其他数据库所用的。这些备份可以重新关联到别的库上,只需要使用CHANGE BACKUP RESET DB_UNIQUE_NAME。如果在注销数据库UNREGISTER DB_UNIQUE_NAME命令后还加了INCLUDING BACKUPS选项的话,那么数据库和其备份都会被干掉。
1.5 Performing Backup Maintenance in a Data Guard Environment
在整个DG维护过程中,DB_UNIQUE_NAME都是非常重要的。
1.5.1 changing metadata in the recovery catalog
使用CHANGE...RESET DB_UNIQUE_NAME改变备份文件的关联。当磁盘备份或者归档日志从一个数据库传输到另一个数据库后,在被传输的库上使用CHANGE命令会很有用,因为它能够改变备份文件所关联的DB_UNIQUE_NAME。这样就不需要直接连到传输库上再使用FOR DB_UNIQUE_NAME和RESET DB_UNIQUE_NAME TO选项了。
如果一个数据库的DB_UNIQUE_NAME改变了,那么DG中也需要改变。RMAN的恢复目录在连接到那个库的时候会了解到DB_UNIQUE_NAME的旧值和新值。要在恢复目录中将旧值和新值的信息进行整合,就需要用到RMAN的CHANGE DB_UNIQUE_NAME。如果RMAN没有连接到改变了DB_UNIQUE_NAME值的实例,CHANGE DB_UNIQUE_NAME也能够改变恢复目录中记录的DB_UNIQUE_NAME。比方说,一个数据库的实例参数值从BOSTON_A变成了BOSTON_B,那么就需要在RMAN连接到target和recovery catalog后使用命令再次进行修改:
RMAN> CHANGE DB_UNIQUE_NAME FROM BOSTON_A TO BOSTON_B;
CHANGE命令有很多选项,比方说AVAILABLE, UNAVAILABLE, KEEP, UNCATALOG,比如可以让备份不可用或者移除他们的元数据。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值