21c, VALIDATE FAST_START FAILOVER

The new Oracle 21c delivered a new feature for Data Guard Broker called VALIDATE FAST_START FAILOVER. As you can imagine, helps you do validate your configuration and you can check some information at the official doc.

Syntax

The syntax is simple and has no parameters. Just VALIDATE FAST_START FAILOVER:

DGMGRL> help validate

Performs an exhaustive set of validations for a member

Syntax:

  VALIDATE DATABASE [VERBOSE] <database name>;

  VALIDATE DATABASE [VERBOSE] <database name> DATAFILE <datafile number>
    OUTPUT=<file name>;

  VALIDATE DATABASE [VERBOSE] <database name> SPFILE;

  VALIDATE DATABASE [VERBOSE] <database name> STRICT
    { TEMP_FILES | FLASHBACK | LOG_FILES_CLEARED | LOG_FILE_CONFIGURATION |
      APPLY_PROPERTY | TRANSPORT_PROPERTY | ALL }
    [ <strict option> ... <strict option> ];

  VALIDATE FAR_SYNC [VERBOSE] <far_sync name>
    [WHEN PRIMARY IS <database name>];

  VALIDATE NETWORK CONFIGURATION FOR { ALL | <member name> };

  VALIDATE STATIC CONNECT IDENTIFIER FOR { ALL | <database name> };

  VALIDATE FAST_START FAILOVER;

DGMGRL>

And can be used even with FAST_TART failover disabled:

DGMGRL> VALIDATE FAST_START FAILOVER;
  Fast-Start Failover:   Disabled
  Protection Mode:      MaxAvailability
  Primary:              ora21dg

Fast-start failover not possible:
  Fast-start failover is disabled.

Other issues:
  Fast-start failover threshold may be too low for RAC databases.
DGMGRL>

Reports

The report is clear and can bring several details. From the failover mode, until the syntax is wrong since some callout script. Some examples are below:

MaxAvaliability

DGMGRL> VALIDATE FAST_START FAILOVER;
  Fast-Start Failover:  Enabled in Zero Data Loss Mode
  Protection Mode:      MaxAvailability
  Primary:              ora21dg
  Active Target:        ora21dgs

Fast-start failover not possible:
  Fast-start failover observer is no longer observing target database.

Other issues:
  Fast-start failover threshold may be too low for RAC databases.
DGMGRL>

As you can see above, it reports that the observer of my configuration is down and my FastStartFailoverThreshold is too small for RAC (my test environment). Other information is that since I am running at MaxAvaliability and in SYNC mode, I am running at Zero Data Loss mode.

MaxPerformance

DGMGRL> VALIDATE FAST_START FAILOVER;
  Fast-Start Failover:  Enabled in Potential Data Loss Mode
  Protection Mode:      MaxPerformance
  Primary:              ora21dg
  Active Target:        ora21dgs

Other issues:
  Fast-start failover threshold may be too low for RAC databases.
DGMGRL>

Since is running now in MaxPerformance report that you can have data loss in case of failover.

Failover in Observer Only mode

DGMGRL> VALIDATE FAST_START FAILOVER;
  Fast-Start Failover:  Enabled in Observe-Only Mode
  Protection Mode:      MaxAvailability
  Primary:              ora21dg
  Active Target:        ora21dgs

Fast-start failover not possible:
  Fast-start failover is enabled in observe-only mode.

Other issues:
  Fast-start failover threshold may be too low for RAC databases.
DGMGRL>

No validation issues

DGMGRL> VALIDATE FAST_START FAILOVER
  Fast-Start Failover:  Enabled in Zero Data Loss Mode
  Protection Mode:      MaxAvailability
  Primary:              ora21dg
  Active Target:        ora21dgs

DGMGRL>

Show command

The validation, until now, has no much information yet (probably more will be added in the future). From now, the more comprehensive report is the show fast_start failover:

DGMGRL> show fast_start failover;

Fast-Start Failover: Enabled in Zero Data Loss Mode

  Protection Mode:    MaxAvailability
  Lag Limit:          0 seconds

  Threshold:          30 seconds
  Ping Interval:      3000 milliseconds
  Ping Retry:         0
  Active Target:      ora21dgs
  Potential Targets:  "ora21dgs"
    ora21dgs   valid
  Observer:           oel8n1.oralocal
  Shutdown Primary:   TRUE
  Auto-reinstate:     TRUE
  Observer Reconnect: (none)
  Observer Override:  FALSE

Configurable Failover Conditions
  Health Conditions:
    Corrupted Controlfile          YES
    Corrupted Dictionary           YES
    Inaccessible Logfile            NO
    Stuck Archiver                  NO
    Datafile Write Errors          YES

  Oracle Error Conditions:
    (none)

DGMGRL>

For fast_start failover options and parameters, I wrote in another blog post.

 

Disclaimer“The postings on this site are my own and don’t necessarily represent my actual employer positions, strategies or opinions. The information here was edited to be useful for general purpose, specific data and identifications were removed to allow reach the generic audience and to be useful for the community. Post protected by copyright.”

Leave a Reply

Your email address will not be published. Required fields are marked *