Oracle灾备 - Data Guard

1. 什么是 DG 的 Primary Database 和 Standby Database?

Primary Database
    生产数据库,产生修改操作、负责将修改操作传输到其他服务器上数据库。
    相同DG环境中只能有一个,可以是单实例或者RAC结构。
    [DG broker 监视器进程DMON维护主库的二进制设置文件,并且确保每次发生设置更改时,在每个备库上都保存有设置文件的最新副本。]
Standby Database
    在高可用环境中,用于灾难保护的生产数据库的一个独立副本。
    相同DG配置中最多可以创建30个。[11g]
    通过应用Primary数据库生成的的重做记录,DG自动维护每一个Standby数据库在事务上与主库保持同步。
    <所有备库都是以重做数据与主库保持同步>
    <物理备库、逻辑备库、快照备库>

2. DG 的 Physical 和 Logical 备库模式下,主库与备库分别使用哪种方法进行同步的?

Physical [Redo Apply]
    备库<mount状态, 11R2允许以只读状态打开>接受主库生成的REDO后,以介质恢复的方式实现同步。
Logical [SQL Apply]
    备库<open 状态>接受主库生成的REDO后,先将其转换成SQL语句,再通过再备库上执行改SQL语句来实现同步。
<因此物理备库在物理和逻辑结构上都与主库保持一致,而逻辑备库只需要在逻辑结构上与主库保持一致>

3. 对于 DG 的 Maximum Performance, Maximum Protection, Maximum Availability 三种保护模式请给出详细的解释。

Maximum Protection
    确保数据绝无丢失。<但不能确保用户事务的不间断>
    事务在提交前,REDO不仅要被写入到本地的Online Redologs,还要同时写入到备库的Standby Redologs,并确保REOD数据至少在一个备库中可用。
    如果出现网络等故障导致的备库不可用时,主库会被关闭。
Maximum Performance [默认保护模式]
    在不影响主库性能的前提下,提供最高级别的数据保护策略。<但不能保证数据的绝对安全>
    事务可以随时提交,当前主库的REDO数据至少需要写入一个备库中,不过这种写入可以是不同步的。
    如果网络条件理想的话,这种模式能够提供类似最高可用性的数据保护,而仅对主库的性能有轻微影响。
Maximum Availability
    在不影响主库可用前提下,提供最高级别的数据保护策略。
    类似于最大保护模式,不同之处在于当出现故障导致备库数据库无法访问时,主库并不会被关闭,而是自动转换为最高性能模式,在等待备库恢复正常时,主库又会自动转换成最高可用性模式。
参数配置表
    Maximum Protection	Maximum Performance	Maximum Availability
    AFFIRM	NOAFFIRM	AFFIRM
    SYNC	ASYNC	SYNC
    DB_UNIQUE_NAME	DB_UNIQUE_NAME	DB_UNIQUE_NAME
参数说明
    AFFIRM/NOAFFIRM
        AFFIRM:保证重做日志被写进物理备用数据库,对数据库性能有影响。
        NOAFFIRM:LGWR的IO操作是异步的[DG默认值]。
    SYNC/ASYNC
        SYNC:使用LGWR进程从主库传输重做日志到备库节点,规定网络IO是同步。[默认,并且有并行属性]
        ASYNC:使用LGWR进程从主库传输重做日志到备库节点,规定网络IO是异步。

4. 请说明物理备库的的完整创建过程。

物理备库创建准备
    启用强制日志 <force_logging>
    配置备用重做日志组及归档位置 <数目=联机重做日志组+1>
    配置log_archive参数 <log_archive_dest_n 确定归档存放的目标位置>
    主库启动归档模式 <arvhivelog>
    设置快速恢复区的大小 <db_recovery_file_dest_size>
    备份主库 <RMAN - 包含归档日志的完全备份>
创建物理备库    
    创建备库的网络服务名 <tnsname>
    创建物理备库的静态监听 <重启监听程序>
    将主库的口令文件复制到备库并重新命名
    创建备库的初始化参数文件及目录  <pfile>
    创建u01sby1目录 <[adump、dpdump、pfile]>
    启动备库实例到nomount <pfile>
    创建物理备库
        使用RMAN连接到目标数据库(主库)、辅助数据库(备库)
        使用预先创建的脚本复制数据库
        退出RMAN,以sysdba权限连接到主库的SQL*Plus并执行日志切换
        在备库的/etc/oratab文件中添加备库的ORACLE_HOME路径
        在备库上以sysdba权限连接到SQL*Plus,启动重做应用
验证物理备库的正确性

5. 什么是 Data Guard Broker? 请对 Data Guard Broker 的配置过程加以详细说明。

DG Broker
    对于一个DG配置进行创建、控制和监控。
    <分布式管理框架,能够将主库和备库按照一定的逻辑组织起来并进行集中管理。
    包括创建、维护和监控DG等任务。
    管理Broker设置可使用EM企业管理器或者DGMGRL命令行。>
配置过程
    主库设置
        dg_broker_start & dg_broker_config
        静态监听 <重启监听程序>
    备库设置
        dg_broker_start  & dg_broker_config
        静态监听 <重启监听程序>
        网络服务名 <tnsname>
        local_listener <指定备库监听名>
    创建DG Broker配置
        dgmgrl
        创建配置 DGConfig <配置名称、主库名称和主库tnsname>
        show congiguration
    在配置中添加备库信息 <配库名称和备库的tnsname>
    启用配置
    验证配置和Switchover

6. 在进行最大性能模式与最大可用模式、最大保护模式的转换时,都分别需要配置哪些参数?

最大性能模式 -> 最大可用模式 <Protection Mode>
    LogxptMode='SYNC' <日志传输模式>
    log_archive_dest_1/2
最大性能模式 -> 最大保护模式
    LogxptMode='SYNC'

7. 什么是 Snapshot Standby? 请对 Snapshot Standby 的转换过程进行解释?

Snapshot Standby
    一种将备库置为“可读写状态”的备库类型,方便进行模拟上线测试等在生产库上不能实现的任务。
    <可更新的备库>
转换过程
    快照备库状态暂时断开与主库的数据同步,虽然接受主库传过来的日志,但不能将主库的变化及时地应用在备库中。
    <当快照备库重新转换回物理备库时,所有接受到的重做数据都会被应用,这时备库将与主库重新保持同步。>
<均可在DG Broker下完成>

8. 什么是 Data Guard 的实时查询?

可以在备库上实时查看到主库的修改状态。
<Oracle Active Data Guard选项被启用时,物理备库以只读权限打开,
也能接收主库传送的重做数据并应用重做,保持备库与主库的同步,
并且接收来自非管理员用户的一般查询事务>

9. 请对 Fast-Start Failover 的概念和用途给出解释,并说明它所适用的保护模式?

在主库出现故障时,能快速可靠地自动把其中之一的备库切换成主数据库,而不需要任何人工干预。
适用于:高可用性模式[数据0丢失]和高性能模式<切换有可能导致数据丢失>。
一旦启用该功能,不可以中途切换保护模式。

10. 请说明配置 Fast-Start Failover 的完整过程。

设置 Fast-Start Failover
    设置 FastStartFailoverTarget <发生故障时需要转移到的目标数据库>
    MaxPerformance <Protection Mode>
    ASYNC <网络传输模式参数 LogXptMode>
    FastStartFailoverThreshold=90<触发阈值> & FastStartFailoverLagLimit=60<延迟重做应用>
    启用 Fast-Start Failover
    show configuration verbose
启动 Oberserve

11. 请说明 Logical Sdandby 的完整创建过程。

物理备库停止应用重做日志
修改主库初始化参数 <log_archive_dest_n  DB_UNIQUE_NAME>
生成主库REDO数据字典 <dbms_logstdby.build>
物理备库转换为逻辑备库 
创建逻辑备库口令文件,并重新命名
调整逻辑备库的相关参数 <log_archive_dest_n  DB_UNIQUE_NAME> 
以Resetlogs方式打开备库
逻辑备库数据库应用REDO
在DGMGRL中进行验证
启用u01sby1逻辑备库
检查并验证主备库同步

猜你喜欢

转载自blog.csdn.net/hezuijiudexiaobai/article/details/110395482