1. 程式人生 > >[Oracle維護工程師手記系列]Data Guard Broker中改屬性是否需要兩側分別執行?

[Oracle維護工程師手記系列]Data Guard Broker中改屬性是否需要兩側分別執行?

HA out 需要 nal res 登陸 tor status external

Data Guard Broker中改屬性是否需要兩側分別執行?

Data Guard Broker有一些屬性,可以通過 show configuration 看到。
我有時會想,這些個屬性,是否是分別屬於primary 和 standby,如果
想要修改,是否需要分別登陸到primary 和 standby ,來分別修改呢?

這也是很多客戶經常有的疑問。故此我進行了如下的實驗。

先看看primary 端的 屬性值:

-bash-4.1$ dgmgrl /
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production

Copyright (c) 2000, 2013, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected as SYSDG.

DGMGRL> show configuration verbose;

Configuration - DRSolution

Protection Mode: MaxPerformance
Members:
orcl12102 - Primary database
orcl12102_stby - Physical standby database

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‘

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL>

再看Standby 端的屬性:

-bash-4.1$ dgmgrl /
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production

Copyright (c) 2000, 2013, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected as SYSDG.

DGMGRL> show configuration verbose;

Configuration - DRSolution

Protection Mode: MaxPerformance
Members:
orcl12102 - Primary database
orcl12102_stby - Physical standby database

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‘

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL>


從 primary 和 standby 兩邊看到的屬性值都是一樣的。所以我有一個猜測,這些屬性值是共通的。
下面通過修改 CommunicationTimeout 的值來進行驗證:

在primary 端修改:

DGMGRL> EDIT CONFIGURATION SET PROPERTY CommunicationTimeout=120;
Property "communicationtimeout" updated


改完後驗證一下:

DGMGRL> show configuration verbose;

Configuration - DRSolution

Protection Mode: MaxPerformance
Members:
orcl12102 - Primary database
orcl12102_stby - Physical standby database

Properties:
FastStartFailoverThreshold = ‘30‘
OperationTimeout = ‘30‘
TraceLevel = ‘USER‘
FastStartFailoverLagLimit = ‘30‘
CommunicationTimeout = ‘120‘ ******
ObserverReconnect = ‘0‘
FastStartFailoverAutoReinstate = ‘TRUE‘
FastStartFailoverPmyShutdown = ‘TRUE‘
BystandersFollowRoleChange = ‘ALL‘
ObserverOverride = ‘FALSE‘
ExternalDestination1 = ‘‘
ExternalDestination2 = ‘‘
PrimaryLostWriteAction = ‘CONTINUE‘

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL>


那麽,在 standby 端,會看到怎樣的結果呢?

DGMGRL> show configuration verbose;

Configuration - DRSolution

Protection Mode: MaxPerformance
Members:
orcl12102 - Primary database
orcl12102_stby - Physical standby database

Properties:
FastStartFailoverThreshold = ‘30‘
OperationTimeout = ‘30‘
TraceLevel = ‘USER‘
FastStartFailoverLagLimit = ‘30‘
CommunicationTimeout = ‘120‘ <<<<<<<<<<<<< 從 standby 端,也可以看到這個值,確實被改變了。
ObserverReconnect = ‘0‘
FastStartFailoverAutoReinstate = ‘TRUE‘
FastStartFailoverPmyShutdown = ‘TRUE‘
BystandersFollowRoleChange = ‘ALL‘
ObserverOverride = ‘FALSE‘
ExternalDestination1 = ‘‘
ExternalDestination2 = ‘‘
PrimaryLostWriteAction = ‘CONTINUE‘

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL>


事實上,從 standby 端來更改其他的屬性值,也是可以的,我們也可以從primary 端,連接到 data guard broker,看到同樣的改變。

所以說,Data Guard Broker 搭建完畢後,如果想更改其屬性值,無論是從primary 端,還是從standby 端,登陸連接到broker 後,
在哪一端修改都是可以的。

[Oracle維護工程師手記系列]Data Guard Broker中改屬性是否需要兩側分別執行?