I'm looking for some help and guidance for a problem with Oracle dataguard. I have two physical servers (primary and standby) and a third client machine (broker). I have successfully installed Oracle 18c on primary, configured it for service as a master and used rman to copy over to standby and configured standby as the physical standby server.

I have then configured the dataguard broker on the client machine, created and applied a configuration and everything is reported as fine.

DGMGRL> show configuration

Configuration - DMS_ORCL

Protection Mode: MaxAvailability

Members:

orclprmy - Primary database

orclstby - (*) Physical standby database

Fast-Start Failover: ENABLED

Configuration Status:

SUCCESS (status updated 56 seconds ago)

DGMGRL> show database orclprmy

Database - orclprmy

Role: PRIMARY

Intended State: TRANSPORT-ON

Instance(s):

orclprmy

Database Status:

SUCCESS

DGMGRL> show database orclstby

Database - orclstby

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: 0 Byte/s

Real Time Query: OFF

Instance(s):

orclstby

Database Status:

SUCCESS

To test that it's working I have run the switch-over command

switchover to orclstby

and that's when my problems start.

The process starts to run and then fails

Performing switchover NOW, please wait...

Operation requires a connection to database "orclstby"

Connecting ...

Connected to "orclstby"

Connected as SYSDBA.

Error: ORA-1034: ORACLE not available

Error: ORA-16625: cannot reach member "orclprmy"

Failed.

Unable to switchover, primary database is still "orclprmy"

This leaves me with a failed failover, but the database are also reporting inconsistencies. If I look at primary it is reporting itself as standby (after mounting, it starts as dismounted)

The really annoying thing is that this is a copy of what I tried in a lab and it worked as expected.

Any pointers on where to look as to why it is reporting that it can't connect during the failover, or why dataguard is reporting something different to the databases? I've been looking around and can't find an answer.