Data Guard Broker中改屬性是否須要兩側分別執行?
Data Guard Broker有一些屬性,能夠經過 show configuration 看到。
我有時會想,這些個屬性,是不是分別屬於primary 和 standby,若是
想要修改,是否須要分別登錄到primary 和 standby ,來分別修改呢?
這也是不少客戶常常有的疑問。故此我進行了以下的實驗。
先看看primary 端的 屬性值:bash
-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 端的屬性:ide
-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 端修改:code
DGMGRL> EDIT CONFIGURATION SET PROPERTY CommunicationTimeout=120;
Property "communicationtimeout" updated
改完後驗證一下:orm
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 端,會看到怎樣的結果呢?server
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 後,
在哪一端修改都是能夠的。blog