ITPub博客

首页 > 数据库 > Oracle > DG Broker学习4(管理Redo Transport Services)

DG Broker学习4(管理Redo Transport Services)

原创 Oracle 作者:q499311546 时间:2021-03-05 17:27:39 0 删除 编辑
要管理重做传输服务,在每个配置成员上指定可配置的属性。
指定的属性如下:
  • DGConnectIdentifier
  • StandbyAlternateLocation
  • Binding
  • Encryption (This property can be set only on a Recovery Appliance)
  • LogShipping
  • LogXptMode
  • MaxFailure
  • NetTimeout
  • RedoCompression
  • RedoRoutes
  • ReopenSecs
  • StandbyArchiveLocation


1.设置Redo Transport
使用Oracle Net将重做数据传输到备库。
Oracle Net服务名称由LOG_ARCHIVE_DEST_n初始化参数的SERVICE属性指定,用于将重做数据传输到备库。 Oracle Net服务名称被转换为连接描述符,其中包含连接到备库所需的信息。 
可以使用DGConnectIdentifier数据库属性来设置或更改SERVICE属性。首次将数据库添加到配置时,将设置DGConnectIdentifier属性。它的初始值是在ADD DATABASE命令的可选CONNECT IDENTIFIER IS子句中指定的连接标识符。

DGConnectIdentifier属性值还用于设置FAL_SERVER初始化参数。如果更改了任何数据库的DGConnectIdentifier属性,则对应的LOG_ARCHIVE_DEST_n初始化参数的SERVICE属性也将更改。此外,还将在配置中的每个启用的备库上更新FAL_SERVER初始化参数。

DGMGRL> show database orcl 'DGConnectIdentifier';
  DGConnectIdentifier = 'orcl'


2.管理Data Protection Modes的Redo Transport Services

可以使用LogXptMode或RedoRoutes数据库属性为重做传输服务设置SYNC,ASYNC或FASTSYNC模式。
支持以下重做传输模式:
  • SYNC
使用LOG_ARCHIVE_DEST_n初始化参数的SYNC和AFFIRM属性为此备库配置重做传输服务。 对于以最大保护模式或最大可用性模式运行的配置,此模式以及备用重做日志文件是必需的。 此重做传输服务可为主数据库提供最高级别的数据保护,但也会带来更高的性能影响。
  • ASYNC
使用LOG_ARCHIVE_DEST_n初始化参数的ASYNC和NOAFFIRM属性为此备库配置重做传输服务。 此模式与备用重做日志文件一起为主数据库提供了中等级别的保护,并降低了性能影响。
  • FASTSYNC
使用LOG_ARCHIVE_DEST_n初始化参数的SYNC和NOAFFIRM属性为此备库配置重做传输服务。 此模式仅在最大可用性保护模式下可用。


3.高级Redo Transport配置

可以使用RedoRoutes属性来覆盖默认行为,在默认行为中,主库将其重做发送到配置中的每个可能的重做传输目标。

案例1:使用RedoRoutes属性进行实时级联
考虑具有一个主库(orcl)和两个物理备库(orcladg和orclfar)的配置。 为了实现高可用性,Local_DB备库与主库位于同一数据中心。orcl备库位于远程数据中心中,用于灾难恢复。
不必由主库将重做发送到两个数据库,而是可以使用RedoRoutes属性来配置实时级联,其中本地物理备库将重做从orcl转发到远程物理备库orclfar。 为此必须按如下所示设置RedoRoutes属性:
  • 在orcl数据库上,RedoRoutes属性必须指定如果orcl担任主要角色,则应使用SYNC传输模式将重做发送到orcladg数据库。 此规则可防止主库将重做数据直接传送到orclfar数据库。
  • 在orcladg数据库上,RedoRoutes属性必须指定如果orcl担任主要角色,则orcladg应该将从orcl收到的重做转发到orclfar。
DGMGRL> EDIT DATABASE 'orcl' SET PROPERTY 'RedoRoutes' = '(LOCAL:orcladg SYNC)';
DGMGRL> EDIT DATABASE 'orcladg' SET PROPERTY 'RedoRoutes' = '(orcl:orclfar ASYNC)';
DGMGRL>  show configuration;
Configuration - orclbroker
  Protection Mode: MaxPerformance
  Members:
  orcl    - Primary database
    orcladg - Physical standby database 
      orclfar - Physical standby database (receiving current redo)
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 8 seconds ago)

案例2:将RedoRoutes属性用于远程备用目标
RedoRoutes属性还可以用于设置远程备用目标,这样即使终端成员从中接收重做数据的成员发生故障,终端成员仍然可以接收重做数据。 使用前面的示例,如果orcladg备库故障,则可以使主库orcl直接将重做数据发送到orclfar。 也可以使用PRIORITY属性进行设置,以便在解决orcladg故障后,它可以恢复将重做发送到orclfar。
DGMGRL> EDIT DATABASE 'orcl' SET PROPERTY 'RedoRoutes' = '(LOCAL:(orcladg ASYNC PRIORITY=1, orclfar ASYNC PRIORITY=2 ))';
Property "RedoRoutes" updated
DGMGRL> EDIT DATABASE 'orcladg' SET PROPERTY 'RedoRoutes' = '(orcl : orclfar ASYNC)';
Property "RedoRoutes" updated
DGMGRL> show configuration verbose;
Configuration - orclbroker
  Protection Mode: MaxPerformance
  Members:
  orcl    - Primary database
    orcladg - Physical standby database 
      orclfar - Physical standby database (receiving current redo)
    orclfar - Physical standby database (alternate of orcladg)
  Properties:
    FastStartFailoverThreshold      = '30'
    OperationTimeout                = '30'
    TraceLevel                      = 'USER'
    FastStartFailoverLagLimit       = '30'
    CommunicationTimeout            = '180'
    ObserverReconnect               = '0'
    FastStartFailoverAutoReinstate  = 'TRUE'
    FastStartFailoverPmyShutdown    = 'TRUE'
    BystandersFollowRoleChange      = 'ALL'
    ObserverOverride                = 'FALSE'
    ExternalDestination1            = ''
    ExternalDestination2            = ''
    PrimaryLostWriteAction          = 'CONTINUE'
    ConfigurationWideServiceName    = 'orcl_CFG'
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS


4.打开和关闭Redo Transport Services

可以通过设置主库的状态来打开和关闭Redo Transport Services。
将主库状态设置为TRANSPORT-ON将在主库上启动Redo Transport Services,而将主库状态设置为TRANSPORT-OFF将停止在主库上的Redo Transport Services。
使用备库上的LogShipping数据库属性打开和关闭对单个备库的Redo Transport Services。 LogShipping属性接受值ON和OFF。 如果将备库的LogShipping属性设置为OFF,则将关闭到该备库的Redo Transport Services,而不会影响到其他数据库的Redo Transport Services。 可以将LogShipping设置为ON,以重新打开对备库的Redo Transport Services。
设置主库状态和设置LogShipping属性之间的关系如下:
  • 如果主库状态设置为TRANSPORT-OFF,则将停止到所有备库的Redo Transport Services,而不管各个备库的LogShipping属性值如何。
  • 如果主库状态设置为TRANSPORT-ON,则到每个备库的Redo Transport Services由该数据库的LogShipping属性确定。
--1.停止所有的重做传输服务
DGMGRL> EDIT DATABASE 'orcl' SET STATE='TRANSPORT-OFF';
Succeeded.
DGMGRL> show configuration;
Configuration - orclbroker
  Protection Mode: MaxPerformance
  Members:
  orcl    - Primary database
  Members Not Receiving Redo:
  orcladg - Physical standby database 
  orclfar - Physical standby database (alternate of orcladg)
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 57 seconds ago)
EDIT DATABASE 'orcl' SET STATE='TRANSPORT-ON';
--2.停止特定备库的传输服务
DGMGRL> EDIT DATABASE 'orcladg' SET PROPERTY 'LogShipping'='OFF';
Property "LogShipping" updated
DGMGRL> show configuration;
Configuration - orclbroker
  Protection Mode: MaxPerformance
  Members:
  orcl    - Primary database
    orclfar - Physical standby database (alternate of orcladg)
  Members Not Receiving Redo:
  orcladg - Physical standby database 
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 56 seconds ago)
DGMGRL> EDIT DATABASE 'orcladg' SET PROPERTY 'LogShipping'='ON';
Property "LogShipping" updated


5.指定归档重做日志的路径

可以使用broker configurable的属性来设置位置,以存储归档的备用重做日志文件和归档的联机重做日志文件。
对于联机重做日志文件,在主库,逻辑备库库或快照备库上使用ArchiveLocation和AlternateLocation属性。
对于备用重做日志文件,请在备库上使用StandbyArchiveLocation和StandbyAlternateLocation属性。 如果未设置StandbyArchiveLocation,则ArchiveLocation或AlternateLocation指定联机和备用重做日志文件的归档位置。 如果设置了StandbyArchiveLocation,则ArchiveLocation和AlternateLocation指定联机重做日志文件的归档位置。
StandbyArchiveLocation属性指定用于存储归档的重做日志文件的位置。 代理使用该位置仅存储从主库接收到的归档重做日志文件。 对于当数据库是主库,逻辑备库或快照备库时在本地生成的归档重做日志文件,需要指定ArchiveLocation属性。 代理允许StandbyArchiveLocation和ArchiveLocation属性的值与为本地生成的日志设置的位置相同,在这种情况下,代理适当地设置目标的VALID_FOR属性,以便可以将其用于存档的从主库收到的重做日志文件和本地生成的归档重做日志文件。 将位置用于联机和备用重做日志文件时,必须将ArchiveLocation属性配置为共享位置,并将StandbyArchiveLocation属性保留为空。
还可以使用StandbyAlternateLocation和AlternateLocation属性设置备用位置来存储归档的重做日志文件。 如果原始存档位置(由StandbyArchiveLocation或Archivelocation指定)失败,则由这些属性指定的备用位置是已存档的重做日志文件的存储位置。 代理使用LOG_ARCHIVE_DEST_n初始化参数的ALTERNATE属性正确设置了备用位置。
--1.对备用重做日志文件和联机重做日志文件使用相同的归档位置
ArchiveLocation='/archfs/arch'
--2.为已归档的备用和联机重做日志文件指定备用位置
ArchiveLocation='/archfs/arch'
AlternateLocation='/archfs/alt'
--3.为联机和备用重做日志文件指定单独的归档位置
ArchiveLocation='/archfs/arch/online'
AlternateLocation='/archfs/alt/online'
StandbyArchiveLocation='/archfs/arch/standby'
StandbyAlternateLocation='/archfs/alt/standby'


6.在RAC环境中的Redo Transport Services

如果主数据库是Oracle RAC数据库,则代理可确保在每个主数据库实例上完全相同地设置 Redo Transport Services。
每个实例具有相同的远程目标,并且对于每个远程目标,所有实例在重做传输服务,与性能相关的设置,联机重做日志的本地归档等方面均设置为相同。如果实例具有不同的设置,则代理将对该特定实例发出运行状况检查警告。

与重做传输服务相关的设置作为属性保存在代理配置文件中。当更新备库上与重做传输相关的属性时,代理还会自动对所有主库实例上的LOG_ARCHIVE_DEST_n初始化参数进行相应的更改。如果新实例出现在主数据库上,则代理将使用代理当前正在管理的所有配置成员的与重做传输相关的属性来为新实例设置重做传输服务。打开新实例进行活动后,在该实例上生成的所有已归档重做日志文件将开始传输到配置成员。


7.Transport Lag
传输延迟是对重做到备用数据库或远程同步实例的传输落后于主数据库上的重做生成程度的度量。
如果备库或远程同步实例上存在一个或多个重做间隙,则计算传输延迟,就好像在最早的重做间隙开始之后没有收到重做一样。
Cloud Control和DGMGRL客户端均显示每个受管备用或远程同步实例的重做transport lag。 Cloud Control在Oracle Data Guard主页上显示transport lag。 DGMGRL客户端在SHOW DATABASE输出中显示transport lag。 没有显示主数据库的传输延迟。 例如:
DGMGRL> show database 'orcladg';
Database - orcladg
  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      0 seconds (computed 1 second ago)
  Apply Lag:          0 seconds (computed 1 second ago)
  Average Apply Rate: 1.00 KByte/s
  Real Time Query:    ON
  Instance(s):
    orcladg
Database Status:
SUCCESS
从Oracle Database 19c版开始,SHOW CONFIGURATION LAG命令显示代理配置的摘要以及所有备用数据库的传输延迟。
Transport Lag可以帮助您确定重做传输服务可能存在的任何问题。
可以设置"TransportLagThreshold"数据库的可配置属性,以在将重做数据传输到备库或远程同步实例的时间落后于在主数据库上生成重做数据时,生成运行状况检查警告。
以下命令将TransportLagThreshold属性设置为15秒:
DGMGRL> EDIT DATABASE 'orcladg' SET PROPERTY 'TransportLagThreshold'=15;
Property TransportLagThreshold updated

此外,如果备用实例或远程同步实例发现它与主库没有任何与重做传输相关的通信,则可以设置TransportDisconnectedThreshold数据库的可配置属性以生成运行状况检查警告。 该属性的默认值为30秒。

DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'TransportDisconnectedThreshold'=15;
Property TransportDisconnectedThreshold updated


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31355629/viewspace-2761454/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-06-03

  • 博文量
    36
  • 访问量
    27529