Oracle单实例ASM搭建DG_BROKER(Linux7.4_19C)

1、检测准备库是否能正常切换

主库:
alter database commit to switchover to physical standby with session shutdown;

备库:
alter database commit to switchover to primary with session shutdown;
alter database open;

主库:
startup;

2、确保主备库都是spfile启动

主库:
SYS@dgpri>show parameter spfile;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile				     string	 +DATA/ZZZDGPRI/parameterfile/s
						 pfile.276.1025373149

**备库:**
SYS@dgphy>show parameter spfile;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile				     string	 +DATADG/ZZZDGPHY/parameterfile
						 /spfile.258.1025389845

3、修改dg_broker_start参数为TRUE

主库:
SYS@dgpri>show parameter dg_broker;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1		     string	 /u01/app/oracle/product/19.2.0
						 .0.0/dbhome_1/dbs/dr1ZZZDGPRI.
						 dat
dg_broker_config_file2		     string	 /u01/app/oracle/product/19.2.0
						 .0.0/dbhome_1/dbs/dr2ZZZDGPRI.
						 dat
dg_broker_start 		     boolean	 FALSE

SYS@dgpri>alter system set dg_broker_start = true;

System altered.

SYS@dgpri>host ps -ef | grep dmon
oracle   35590     1  0 18:39 ?        00:00:00 ora_dmon_dgpri
oracle   35639  9449  0 18:39 pts/2    00:00:00 /bin/bash -c ps -ef | grep dmon
oracle   35641 35639  0 18:39 pts/2    00:00:00 grep dmon

备库:
SYS@dgphy>show parameter dg_broker;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1		     string	 /u01/app/oracle/product/19.2.0
						 .0.0/dbhome_1/dbs/dr1ZZZDGPHY.
						 dat
dg_broker_config_file2		     string	 /u01/app/oracle/product/19.2.0
						 .0.0/dbhome_1/dbs/dr2ZZZDGPHY.
						 dat
dg_broker_start 		     boolean	 FALSE

SYS@dgphy>alter system set dg_broker_start = true;

System altered.

SYS@dgphy>host ps -ef | grep dmon
oracle   14377     1  0 18:39 ?        00:00:00 ora_dmon_dgphy
oracle   14410  8169  0 18:40 pts/2    00:00:00 /bin/bash -c ps -ef | grep dmon
oracle   14412 14410  0 18:40 pts/2    00:00:00 grep dmon

4、修改dg_broker参数文件位置

主库:
SYS@dgpri>alter system set dg_broker_config_file1 = '+DATA/dr1ZZZDGPRI.dat' scope = spfile;

System altered.

SYS@dgpri>alter system set dg_broker_config_file2 = '+DATA/dr2ZZZDGPRI.dat' scope = spfile;

System altered.

备库:
SYS@dgphy>alter system set dg_broker_config_file1 = '+DATADG/dr1ZZZDGPHY.dat' scope = spfile;

System altered.

SYS@dgphy>alter system set dg_broker_config_file2 = '+DATADG/dr2ZZZDGPHY.dat' scope = spfile;

System altered.

重启主备库

5、配置DG_BROKER监听和TNS

可以使用默认监听,也可以创建一个非默认监听,这里使用默认监听。

查看domain,如果存在则需要在服务后加上domain后缀
SYS@dgpri>show parameter domain

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_domain			     string

**配置LISTENER**

主库:
[grid@kkk admin]$ cat listener.ora
#Backup file is  /u01/app/grid/crsdata/kkk/output/listener.ora.bak.kkk.grid line added by Agent
# listener.ora Network Configuration File: /u01/app/19.2.0.0.0/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.16)(PORT = 1521))
    )
  )

SID_LIST_LISTENER=
	(SID_LIST=
		(SID_DESC=
			(ORACLE_HOME=/u01/app/oracle/product/19.2.0.0.0/dbhome_1)
			(GLOBAL_DBNAME=ZZZDGPRI)
			(SID_NAME=dgpri)
                )
                (SID_DESC=
                        (ORACLE_HOME=/u01/app/oracle/product/19.2.0.0.0/dbhome_1)
                        (GLOBAL_DBNAME=ZZZDGPRI_DGMGRL)		#DG_BROKER专用服务名
                        (SID_NAME=dgpri)
                )
        )



ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON		# line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON		# line added by Agent

备库:

[grid@hhh admin]$ cat listener.ora 
#Backup file is  /u01/app/grid/crsdata/hhh/output/listener.ora.bak.hhh.grid line added by Agent
# listener.ora Network Configuration File: /u01/app/19.2.0.0.0/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.17)(PORT = 1521))
    )
  )


SID_LIST_LISTENER=
	(SID_LIST=
		(SID_DESC=
			(ORACLE_HOME=/u01/app/oracle/product/19.2.0.0.0/dbhome_1)
			(GLOBAL_DBNAME=ZZZDGPHY)
			(SID_NAME=dgphy)
		)
                (SID_DESC=
                        (ORACLE_HOME=/u01/app/oracle/product/19.2.0.0.0/dbhome_1)
                        (GLOBAL_DBNAME=ZZZDGPHY_DGMGRL)
                        (SID_NAME=dgphy)
                )
	)

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON		# line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON		# line added by Agent


添加后lsnrctl reload

配置TNS

主备库tnsnames.ora文件添加如下

TNS_ZZZDGPRI_DGMGRL=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.16)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ZZZDGPRI_DGMGRL)
    )
  )


TNS_ZZZDGPHY_DGMGRL=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.17)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ZZZDGPHY_DGMGRL)
    )
  )

6、配置DG_BROKER参数文件

DGMGRL> create configuration c1 as primary database is ZZZDGPRI connect identifier is TNS_ZZZDGPRI_DGMGRL
> ;

**12c环境直接添加备库会报错,清空log_archive_dest_n**
DGMGRL> add database ZZZDGPHY as connect identifier is TNS_ZZZDGPHY_DGMGRL maintained as PHYSICAL;
Error: ORA-16698: member has a LOG_ARCHIVE_DEST_n parameter with SERVICE attribute set

#清空主备库log_archive_dest_n参数

DGMGRL> add database ZZZDGPHY as connect identifier is TNS_ZZZDGPHY_DGMGRL maintained as PHYSICAL;
Database "zzzdgphy" added


启用参数文件
DGMGRL> enable configuration;
Enabled.
DGMGRL> show configuration verbose;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgpri - Primary database
    zzzdgphy - 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'
    ConfigurationWideServiceName    = 'ZZZ_CFG'

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS

DGMGRL> show database zzzdgpri verbose;
Error: ORA-16606: unable to find property "verbose"

DGMGRL> show database verbose zzzdgpri

Database - zzzdgpri

  Role:               PRIMARY
  Intended State:     TRANSPORT-ON
  Instance(s):
    dgpri

  Properties:
    DGConnectIdentifier             = 'tns_zzzdgpri_dgmgrl'
    ObserverConnectIdentifier       = ''
    FastStartFailoverTarget         = ''
    PreferredObserverHosts          = ''
    LogShipping                     = 'ON'
    RedoRoutes                      = ''
    LogXptMode                      = 'ASYNC'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyLagThreshold               = '30'
    TransportLagThreshold           = '30'
    TransportDisconnectedThreshold  = '30'
    ApplyParallel                   = 'AUTO'
    ApplyInstances                  = '0'
    StandbyFileManagement           = ''
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '0'
    LogArchiveMinSucceedDest        = '0'
    DataGuardSyncLatency            = '0'
    LogArchiveTrace                 = '0'
    LogArchiveFormat                = ''
    DbFileNameConvert               = ''
    LogFileNameConvert              = ''
    ArchiveLocation                 = ''
    AlternateLocation               = ''
    StandbyArchiveLocation          = ''
    StandbyAlternateLocation        = ''
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    LogXptStatus                    = '(monitor)'
    SendQEntries                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    HostName                        = 'kkk'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.16)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ZZZDGPRI_DGMGRL)(INSTANCE_NAME=dgpri)(SERVER=DEDICATED)))'
    TopWaitEvents                   = '(monitor)'
    SidName                         = '(monitor)'

  Log file locations:
    Alert log               : /u01/app/oracle/diag/rdbms/zzzdgpri/dgpri/trace/alert_dgpri.log
    Data Guard Broker log   : /u01/app/oracle/diag/rdbms/zzzdgpri/dgpri/trace/drcdgpri.log

Database Status:
SUCCESS

DGMGRL> show database verbose zzzdgphy

Database - zzzdgphy

  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      0 seconds (computed 0 seconds ago)
  Apply Lag:          0 seconds (computed 0 seconds ago)
  Average Apply Rate: 30.00 KByte/s
  Active Apply Rate:  0 Byte/s
  Maximum Apply Rate: 0 Byte/s
  Real Time Query:    ON
  Instance(s):
    dgphy

  Properties:
    DGConnectIdentifier             = 'tns_zzzdgphy_dgmgrl'
    ObserverConnectIdentifier       = ''
    FastStartFailoverTarget         = ''
    PreferredObserverHosts          = ''
    LogShipping                     = 'ON'
    RedoRoutes                      = ''
    LogXptMode                      = 'ASYNC'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyLagThreshold               = '30'
    TransportLagThreshold           = '30'
    TransportDisconnectedThreshold  = '30'
    ApplyParallel                   = 'AUTO'
    ApplyInstances                  = '0'
    StandbyFileManagement           = ''
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '0'
    LogArchiveMinSucceedDest        = '0'
    DataGuardSyncLatency            = '0'
    LogArchiveTrace                 = '0'
    LogArchiveFormat                = ''
    DbFileNameConvert               = ''
    LogFileNameConvert              = ''
    ArchiveLocation                 = ''
    AlternateLocation               = ''
    StandbyArchiveLocation          = ''
    StandbyAlternateLocation        = ''
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    LogXptStatus                    = '(monitor)'
    SendQEntries                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    HostName                        = 'hhh'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.17)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ZZZDGPHY_DGMGRL)(INSTANCE_NAME=dgphy)(SERVER=DEDICATED)))'
    TopWaitEvents                   = '(monitor)'
    SidName                         = '(monitor)'

  Log file locations:
    Alert log               : /u01/app/oracle/diag/rdbms/zzzdgphy/dgphy/trace/alert_dgphy.log
    Data Guard Broker log   : /u01/app/oracle/diag/rdbms/zzzdgphy/dgphy/trace/drcdgphy.log

Database Status:
SUCCESS

7、switchover测试

DGMGRL> help switchover;

Switches roles between a primary and standby database

Syntax:

  SWITCHOVER TO <standby database name> [WAIT [<timeout in seconds>]];

DGMGRL> switchover to ZZZDGPHY;
Performing switchover NOW, please wait...
Operation requires a connection to database "zzzdgphy"
Connecting ...
Connected to "ZZZDGPHY"
Connected as SYSDBA.
New primary database "zzzdgphy" is opening...
Oracle Clusterware is restarting database "zzzdgpri" ...
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to "ZZZDGPRI"
Connected to "ZZZDGPRI"
Switchover succeeded, new primary is "zzzdgphy"

DGMGRL> show configuration;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgphy - Primary database
    zzzdgpri - Physical standby database 

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 88 seconds ago)


DGMGRL> switchover to zzzdgpri;
Performing switchover NOW, please wait...
Operation requires a connection to database "zzzdgpri"
Connecting ...
Connected to "ZZZDGPRI"
Connected as SYSDBA.
New primary database "zzzdgpri" is opening...
Oracle Clusterware is restarting database "zzzdgphy" ...
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to an idle instance.
Connected to "ZZZDGPHY"
Connected to "ZZZDGPHY"
Switchover succeeded, new primary is "zzzdgpri"
DGMGRL> show configuration;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgpri - Primary database
    zzzdgphy - Physical standby database 
      Warning: ORA-16854: apply lag could not be determined

Fast-Start Failover:  Disabled

Configuration Status:
WARNING   (status updated 8 seconds ago)

DGMGRL> show configuration;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgpri - Primary database
    zzzdgphy - Physical standby database 
      Warning: ORA-16854: apply lag could not be determined

Fast-Start Failover:  Disabled

Configuration Status:
WARNING   (status updated 36 seconds ago)

DGMGRL> show configuration;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgpri - Primary database
    zzzdgphy - Physical standby database 
      Warning: ORA-16854: apply lag could not be determined

Fast-Start Failover:  Disabled

Configuration Status:
WARNING   (status updated 44 seconds ago)

DGMGRL> show configuration;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgpri - Primary database
    zzzdgphy - Physical standby database 

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 39 seconds ago)


修改属性

  EDIT { RECOVERY_APPLIANCE | DATABASE | FAR_SYNC }
    <object name> SET PROPERTY <property name> = <value>;

DGMGRL> edit database zzzdgpri set property StandbyFileManagement = 'AUTO';
Property "standbyfilemanagement" updated
DGMGRL> edit database zzzdgphy set property StandbyFileManagement = 'AUTO';
Connected to "ZZZDGPHY"
Property "standbyfilemanagement" updated



主库:
SYS@dgpri>select name,db_unique_name,database_role,open_mode,switchover_status from v$database;

NAME		DB_UNIQU DATABASE_ROLE	  OPEN_MODE	       SWITCHOVER_STATUS
--------------- -------- ---------------- -------------------- ------------------
ZZZ		ZZZDGPRI PRIMARY	  READ WRITE	       TO STANDBY

SYS@dgpri>archive log list;
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     57
Next log sequence to archive   59
Current log sequence	       59


备库:
SYS@dgphy>select name,db_unique_name,database_role,open_mode,switchover_status from v$database;

NAME		DB_UNIQU DATABASE_ROLE	  OPEN_MODE	       SWITCHOVER_STATUS
--------------- -------- ---------------- -------------------- ------------------
ZZZ		ZZZDGPHY PHYSICAL STANDBY READ ONLY WITH APPLY NOT ALLOWED

SYS@dgphy>select max(sequence#) from v$archived_log where name like '+FRA%' and applied in ('YES','IN-MEMORY');

MAX(SEQUENCE#)
--------------
	    58

8、开启FAILOVER


开启主备库闪回
主库:
YS@dgpri>select flashback_on from v$database;

FLA
---
NO

SYS@dgpri>alter database flashback on;

Database altered.

SYS@dgpri>select flashback_on from v$database;

FLA
---
YES

备库:

SYS@dgphy>select flashback_on from v$database;

FLA
---
NO

SYS@dgphy>alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-01153: an incompatible media recovery is active

SYS@dgphy>alter database recover managed standby database cancel;

Database altered.

SYS@dgphy>alter database flashback on;

Database altered.

SYS@dgphy>select flashback_on from v$database;

FLA
---
YES

SYS@dgphy>alter database recover managed standby database using current logfile disconnect;

Database altered.


DGMGRL> enable fast_start failover;
Enabled in Potential Data Loss Mode.

DGMGRL> show configuration verbose;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgpri - Primary database
    zzzdgphy - (*) Physical standby database 

  (*) Fast-Start Failover target

  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    = 'ZZZ_CFG'

Fast-Start Failover: Enabled in Potential Data Loss Mode
  Lag Limit:          30 seconds
  Threshold:          30 seconds
  Active Target:      zzzdgphy
  Potential Targets:  "zzzdgphy"
    zzzdgphy   valid
  Observer:           kkk
  Shutdown Primary:   TRUE
  Auto-reinstate:     TRUE
  Observer Reconnect: (none)
  Observer Override:  FALSE

Configuration Status:
SUCCESS

开启observer

[oracle@kkk ~]$ dgmgrl
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Mon Jan 13 20:09:11 2020
Version 19.2.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> help start;

Starts the fast-start failover observer

Syntax:

  START OBSERVER [FILE=<observer file>]; 

  START OBSERVER [<observer name>] 
  [FILE IS <observer file>] 
  [LOGFILE IS <observer log file>] 
  [TRACE_LEVEL IS { USER | SUPPORT }]; 

  START OBSERVER [<observer name>] 
  IN BACKGROUND 
  [FILE IS <observer file>] 
  [LOGFILE IS <observer log file>] 
  CONNECT IDENTIFIER IS <connect identifier> 
  [TRACE_LEVEL IS { USER | SUPPORT }]; 

  START OBSERVING [<configuration group name>] 
  [TRACE_LEVEL IS { USER | SUPPORT }];

DGMGRL> start observer;
not logged on
Failed to start the observer.

DGMGRL> conn sys/oracle@TNS_ZZZDGPRI_DGMGRL as sysdba;
Unrecognized command "conn", try "help"

DGMGRL> connect sys/oracle@TNS_ZZZDGPRI_DGMGRL as sysdba;
Connected to "ZZZDGPRI"
Connected as SYSDBA.
DGMGRL> start observer;
[W000 2020-01-13T20:09:58.949+08:00] FSFO target standby is zzzdgphy
Observer 'kkk' started
[W000 2020-01-13T20:09:59.321+08:00] Observer trace level is set to USER
[W000 2020-01-13T20:09:59.321+08:00] Try to connect to the primary.
[W000 2020-01-13T20:09:59.321+08:00] Try to connect to the primary tns_zzzdgpri_dgmgrl.
[W000 2020-01-13T20:09:59.451+08:00] The standby zzzdgphy is ready to be a FSFO target
[W000 2020-01-13T20:10:00.451+08:00] Connection to the primary restored!

[W000 2020-01-13T20:10:02.451+08:00] Disconnecting from database tns_zzzdgpri_dgmgrl.

9、测试FAILOVER

主库:

#主库关闭进行FAILOVER测试

SYS@dgpri>shutdown abort;
ORACLE instance shut down.


[W000 2020-01-13T20:13:17.939+08:00] Primary database cannot be reached.
[W000 2020-01-13T20:13:17.939+08:00] Fast-Start Failover threshold has not exceeded. Retry for the next 30 seconds
[W000 2020-01-13T20:13:18.940+08:00] Try to connect to the primary.
[W000 2020-01-13T20:13:20.116+08:00] Primary database cannot be reached.
[W000 2020-01-13T20:13:21.116+08:00] Try to connect to the primary.
[W000 2020-01-13T20:13:44.030+08:00] Primary database cannot be reached.
[W000 2020-01-13T20:13:44.030+08:00] Fast-Start Failover threshold has not exceeded. Retry for the next 3 seconds
[W000 2020-01-13T20:13:45.030+08:00] Try to connect to the primary.
[W000 2020-01-13T20:13:46.207+08:00] Primary database cannot be reached.
[W000 2020-01-13T20:13:46.207+08:00] Fast-Start Failover threshold has not exceeded. Retry for the next 1 second
[W000 2020-01-13T20:13:47.207+08:00] Try to connect to the primary.
[W000 2020-01-13T20:13:48.385+08:00] Primary database cannot be reached.
[W000 2020-01-13T20:13:48.385+08:00] Fast-Start Failover threshold has expired.
[W000 2020-01-13T20:13:48.385+08:00] Try to connect to the standby.
[W000 2020-01-13T20:13:48.385+08:00] Making a last connection attempt to primary database before proceeding with Fast-Start Failover.
[W000 2020-01-13T20:13:48.385+08:00] Check if the standby is ready for failover.
[S002 2020-01-13T20:13:48.402+08:00] Fast-Start Failover started...

2020-01-13T20:13:48.402+08:00
Initiating Fast-Start Failover to database "zzzdgphy"...
[S002 2020-01-13T20:13:48.402+08:00] Initiating Fast-start Failover.
Performing failover NOW, please wait...
Failover succeeded, new primary is "zzzdgphy"
2020-01-13T20:14:36.545+08:00
[S002 2020-01-13T20:14:36.545+08:00] Fast-Start Failover finished...
[W000 2020-01-13T20:14:36.545+08:00] Failover succeeded. Restart pinging.
[W000 2020-01-13T20:14:36.565+08:00] Primary database has changed to zzzdgphy.
[W000 2020-01-13T20:14:36.573+08:00] Try to connect to the primary.
[W000 2020-01-13T20:14:36.573+08:00] Try to connect to the primary tns_zzzdgphy_dgmgrl.
[W000 2020-01-13T20:14:36.747+08:00] The standby zzzdgpri needs to be reinstated
[W000 2020-01-13T20:14:36.747+08:00] Try to connect to the new standby zzzdgpri.
[W000 2020-01-13T20:14:36.747+08:00] Connection to the primary restored!
ri.
[W000 2020-01-13T20:14:48.772+08:00] Connection to the new standby restored!

#当主库修复好后,failover会自动就行修复

[W000 2020-01-13T20:15:23.855+08:00] Connection to the new standby restored!
[W000 2020-01-13T20:15:56.921+08:00] Try to connect to the primary tns_zzzdgphy_dgmgrl.
[W000 2020-01-13T20:15:57.921+08:00] Connection to the primary restored!
[W000 2020-01-13T20:15:57.921+08:00] Wait for new primary to be ready to reinstate.
[W000 2020-01-13T20:15:58.927+08:00] New primary is now ready to reinstate.
[W000 2020-01-13T20:15:59.927+08:00] Issuing REINSTATE command.

2020-01-13T20:15:59.927+08:00
Initiating reinstatement for database "zzzdgpri"...
Reinstating database "zzzdgpri", please wait...
[W000 2020-01-13T20:16:21.983+08:00] The standby zzzdgpri is ready to be a FSFO target
Reinstatement of database "zzzdgpri" succeeded
2020-01-13T20:17:09.802+08:00
[W000 2020-01-13T20:17:10.085+08:00] Successfully reinstated database zzzdgpri.




DGMGRL> connect sys/oracle@TNS_ZZZDGPRI_DGMGRL as sysdba;
Connected to "ZZZDGPRI"
Connected as SYSDBA.
DGMGRL> disable fast_start failover;
Disabled.

DGMGRL> show configuration verbose;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgphy - Primary database
    zzzdgpri - 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'
    ConfigurationWideServiceName    = 'ZZZ_CFG'

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS

10、关闭FAILOVER

DGMGRL> connect sys/oracle@TNS_ZZZDGPRI_DGMGRL as sysdba;
Connected to "ZZZDGPRI"
Connected as SYSDBA.
DGMGRL> disable fast_start failover;
Disabled.

DGMGRL> show configuration verbose;

Configuration - c1

  Protection Mode: MaxPerformance
  Members:
  zzzdgphy - Primary database
    zzzdgpri - 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'
    ConfigurationWideServiceName    = 'ZZZ_CFG'

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS
发布了6 篇原创文章 · 获赞 6 · 访问量 243

猜你喜欢

转载自blog.csdn.net/u011285708/article/details/103962200