Guenadi N Jilevski's Oracle BLOG

Oracle RAC, DG, EBS, DR and HA DBA BLOG

Configuring Fast Start Failover

Configuring Fast Start Failover

In the article you will have a look at an example of configuring Fast Start Failover (FSFO). Oracle 11gR2 has been used. The configuration is based on server zeus running the PRA database and server Apollo running the STBY2 database. The STBY2 is the standby database.

  1. Initial data guard configuration.

    DGMGRL> show database verbose stby2

    Database – stby2

    Role: PHYSICAL STANDBY

    Intended State: APPLY-ON

    Transport Lag: 0 seconds

    Apply Lag: 0 seconds

    Real Time Query: ON

    Instance(s):

    STBY2

    Properties:

    DGConnectIdentifier = ‘stby2’

    ObserverConnectIdentifier = ”

    LogXptMode = ‘SYNC’

    DelayMins = ‘0’

    Binding = ‘OPTIONAL’

    MaxFailure = ‘0’

    MaxConnections = ‘1’

    ReopenSecs = ‘300’

    NetTimeout = ’30’

    RedoCompression = ‘DISABLE’

    LogShipping = ‘ON’

    PreferredApplyInstance = ”

    ApplyInstanceTimeout = ‘0’

    ApplyParallel = ‘AUTO’

    StandbyFileManagement = ‘AUTO’

    ArchiveLagTarget = ‘0’

    LogArchiveMaxProcesses = ‘5’

    LogArchiveMinSucceedDest = ‘1’

    DbFileNameConvert = ”

    LogFileNameConvert = ”

    FastStartFailoverTarget = ”

    InconsistentProperties = ‘(monitor)’

    InconsistentLogXptProps = ‘(monitor)’

    SendQEntries = ‘(monitor)’

    LogXptStatus = ‘(monitor)’

    RecvQEntries = ‘(monitor)’

    SidName = ‘STBY2’

    StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.22)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=STBY2_DGMGRL)(INSTANCE_NAME=STBY2)(SERVER=DEDICATED)))’

    StandbyArchiveLocation = ‘USE_DB_RECOVERY_FILE_DEST’

    AlternateLocation = ”

    LogArchiveTrace = ‘0’

    LogArchiveFormat = ‘%t_%s_%r.dbf’

    TopWaitEvents = ‘(monitor)’

    Database Status:

    SUCCESS

    DGMGRL>

    DGMGRL> show database verbose pra

    Database – pra

    Role: PRIMARY

    Intended State: TRANSPORT-ON

    Instance(s):

    PRA

    Properties:

    DGConnectIdentifier = ‘pra’

    ObserverConnectIdentifier = ”

    LogXptMode = ‘ASYNC’

    DelayMins = ‘0’

    Binding = ‘optional’

    MaxFailure = ‘0’

    MaxConnections = ‘1’

    ReopenSecs = ‘300’

    NetTimeout = ’30’

    RedoCompression = ‘DISABLE’

    LogShipping = ‘ON’

    PreferredApplyInstance = ”

    ApplyInstanceTimeout = ‘0’

    ApplyParallel = ‘AUTO’

    StandbyFileManagement = ‘AUTO’

    ArchiveLagTarget = ‘0’

    LogArchiveMaxProcesses = ‘4’

    LogArchiveMinSucceedDest = ‘1’

    DbFileNameConvert = ”

    LogFileNameConvert = ”

    FastStartFailoverTarget = ”

    InconsistentProperties = ‘(monitor)’

    InconsistentLogXptProps = ‘(monitor)’

    SendQEntries = ‘(monitor)’

    LogXptStatus = ‘(monitor)’

    RecvQEntries = ‘(monitor)’

    SidName = ‘PRA’

    StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.21)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PRA_DGMGRL)(INSTANCE_NAME=PRA)(SERVER=DEDICATED)))’

    StandbyArchiveLocation = ‘USE_DB_RECOVERY_FILE_DEST’

    AlternateLocation = ”

    LogArchiveTrace = ‘0’

    LogArchiveFormat = ‘%t_%s_%r.dbf’

    TopWaitEvents = ‘(monitor)’

    Database Status:

    SUCCESS

    DGMGRL>

    DGMGRL> show configuration

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    stby1 – Physical standby database

    stby2 – Physical standby database

    Fast-Start Failover: DISABLED

    Configuration Status:

    SUCCESS

    DGMGRL>

  2. Configure FastStartFailoverTarget

    DGMGRL> edit database pra set property faststartfailovertarget=stby2;

    Property “faststartfailovertarget” updated

    DGMGRL> edit database stby2 set property faststartfailovertarget=pra;

    Property “faststartfailovertarget” updated

    DGMGRL>

  3. Set configuration properties.

    DGMGRL> edit configuration set property faststartfailoverthreshold=90;

    Property “faststartfailoverthreshold” updated

    DGMGRL>

    DGMGRL> edit configuration set property faststartfailoverlaglimit=80;

    Property “faststartfailoverlaglimit” updated

    DGMGRL>

    DGMGRL> show configuration verbose

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    stby1 – Physical standby database

    stby2 – Physical standby database

    Properties:

    FastStartFailoverThreshold = ’90’

    OperationTimeout = ’30’

    FastStartFailoverLagLimit = ’80’

    CommunicationTimeout = ‘180’

    FastStartFailoverAutoReinstate = ‘TRUE’

    FastStartFailoverPmyShutdown = ‘TRUE’

    BystandersFollowRoleChange = ‘ALL’

    Fast-Start Failover: DISABLED

    Configuration Status:

    SUCCESS

    DGMGRL>

  4. Enable FSFO

    enable fast_start failover;

    DGMGRL> enable fast_start failover

    Error: ORA-16651: requirements not met for enabling fast-start failover

    Failed.

    DGMGRL> edit database pra set property LogXptMode=SYNC;

    Property “logxptmode” updated

    DGMGRL>

    DGMGRL>

    DGMGRL> edit database stby2 set property LogXptMode=sync;

    Property “logxptmode” updated

    DGMGRL> edit database stby1 set property LogXptMode=sync;

    Property “logxptmode” updated

    DGMGRL>

    DGMGRL> enable fast_start failover

    Enabled.

    DGMGRL>

    DGMGRL> show configuration verbose

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    Warning: ORA-16819: fast-start failover observer not started

    stby2 – (*) Physical standby database

    Warning: ORA-16819: fast-start failover observer not started

    stby1 – Physical standby database

    (*) Fast-Start Failover target

    Properties:

    FastStartFailoverThreshold = ’90’

    OperationTimeout = ’30’

    FastStartFailoverLagLimit = ’80’

    CommunicationTimeout = ‘180’

    FastStartFailoverAutoReinstate = ‘TRUE’

    FastStartFailoverPmyShutdown = ‘TRUE’

    BystandersFollowRoleChange = ‘ALL’

    Fast-Start Failover: ENABLED

    Threshold: 90 seconds

    Target: stby2

    Observer: (none)

    Lag Limit: 80 seconds (not in use)

    Shutdown Primary: TRUE

    Auto-reinstate: TRUE

    Configuration Status:

    WARNING

    DGMGRL>

    DGMGRL> show fast_start failover

    Fast-Start Failover: ENABLED

    Threshold: 90 seconds

    Target: stby2

    Observer: (none)

    Lag Limit: 80 seconds (not in use)

    Shutdown Primary: TRUE

    Auto-reinstate: TRUE

    Configurable Failover Conditions

    Health Conditions:

    Corrupted Controlfile YES

    Corrupted Dictionary YES

    Inaccessible Logfile NO

    Stuck Archiver NO

    Datafile Offline YES

    Oracle Error Conditions:

    (none)

    DGMGRL>

  5. Start the observer

    DGMGRL> connect sys/sys1

    Connected.

    DGMGRL> start observer

    Observer started

  6. Check the configuration

    DGMGRL> show configuration verbose

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    stby2 – (*) Physical standby database

    stby1 – Physical standby database

    (*) Fast-Start Failover target

    Properties:

    FastStartFailoverThreshold = ’90’

    OperationTimeout = ’30’

    FastStartFailoverLagLimit = ’80’

    CommunicationTimeout = ‘180’

    FastStartFailoverAutoReinstate = ‘TRUE’

    FastStartFailoverPmyShutdown = ‘TRUE’

    BystandersFollowRoleChange = ‘ALL’

    Fast-Start Failover: ENABLED

    Threshold: 90 seconds

    Target: stby2

    Observer: apollo.gj.com

    Lag Limit: 80 seconds (not in use)

    Shutdown Primary: TRUE

    Auto-reinstate: TRUE

    Configuration Status:

    SUCCESS

    DGMGRL>

    DGMGRL> show fast_start failover

    Fast-Start Failover: ENABLED

    Threshold: 90 seconds

    Target: stby2

    Observer: apollo.gj.com

    Lag Limit: 80 seconds (not in use)

    Shutdown Primary: TRUE

    Auto-reinstate: TRUE

    Configurable Failover Conditions

    Health Conditions:

    Corrupted Controlfile YES

    Corrupted Dictionary YES

    Inaccessible Logfile NO

    Stuck Archiver NO

    Datafile Offline YES

    Oracle Error Conditions:

    (none)

    DGMGRL>

  7. Test FSFO. Issue shutdown abort on the primary

    From the standby

    DGMGRL> show configuration

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    stby2 – Primary database

    pra – (*) Physical standby database (disabled)

    stby1 – Physical standby database

    Fast-Start Failover: ENABLED

    Configuration Status:

    ORA-16610: command “FAILOVER TO stby2” in progress

    DGM-17017: unable to determine configuration status

    DGMGRL>

    DGMGRL> start observer

    not logged on

    Failed.

    DGMGRL> connect sys/sys1

    Connected.

    DGMGRL> start observer

    Observer started

    21:19:09.83 Friday, July 26, 2013

    Initiating Fast-Start Failover to database “stby2″…

    Performing failover NOW, please wait…

    Failover succeeded, new primary is “stby2”

    21:21:10.91 Friday, July 26, 2013

    DGMGRL> show configuration

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    stby2 – Primary database

    Warning: ORA-16817: unsynchronized fast-start failover configuration

    pra – (*) Physical standby database (disabled)

    ORA-16661: the standby database needs to be reinstated

    stby1 – Physical standby database

    Fast-Start Failover: ENABLED

    Configuration Status:

    WARNING

    DGMGRL>

    DGMGRL> show database stby2

    Database – stby2

    Role: PRIMARY

    Intended State: TRANSPORT-ON

    Instance(s):

    STBY2

    Database Warning(s):

    ORA-16817: unsynchronized fast-start failover configuration

    Database Status:

    WARNING

    DGMGRL>

    DGMGRL> show database pra

    Database – pra

    Role: PHYSICAL STANDBY

    Intended State: APPLY-ON

    Transport Lag: (unknown)

    Apply Lag: (unknown)

    Real Time Query: OFF

    Instance(s):

    PRA

    Database Status:

    ORA-16661: the standby database needs to be reinstated

    DGMGRL>

  8. Reinstatement

    [oracle@zeus ~]$ env | grep ORA

    ORACLE_UNQNAME=PRA

    ORACLE_SID=PRA

    ORACLE_HOSTNAME=zeus

    ORACLE_BASE=/u01/app/oracle

    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

    [oracle@zeus ~]$ sqlplus / as sysdba

    SQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 26 21:26:56 2013

    Copyright (c) 1982, 2011, Oracle. All rights reserved.

    Connected to an idle instance.

    SQL> startup mount;

    ORACLE instance started.

    Total System Global Area 555339776 bytes

    Fixed Size         2230272 bytes

    Variable Size         473958400 bytes

    Database Buffers     75497472 bytes

    Redo Buffers         3653632 bytes

    Database mounted.

    SQL>

    DGMGRL> reinstate database pra

    Reinstating database “pra”, please wait…

    Error: ORA-16657: reinstatement of database in progress

    Failed.

    Database reinstatement for “pra” in progress.

    DGMGRL>

    DGMGRL> start observer

    Observer started

    21:19:09.83 Friday, July 26, 2013

    Initiating Fast-Start Failover to database “stby2″…

    Performing failover NOW, please wait…

    Failover succeeded, new primary is “stby2”

    21:21:10.91 Friday, July 26, 2013

    21:27:38.60 Friday, July 26, 2013

    Initiating reinstatement for database “pra”…

    Reinstating database “pra”, please wait…

    Operation requires shutdown of instance “PRA” on database “pra”

    Shutting down instance “PRA”…

    ORA-01109: database not open

    Database dismounted.

    ORACLE instance shut down.

    Operation requires startup of instance “PRA” on database “pra”

    Starting instance “PRA”…

    ORACLE instance started.

    Database mounted.

    Continuing to reinstate database “pra” …

    Reinstatement of database “pra” succeeded

    21:31:06.83 Friday, July 26, 2013

    After all withoot intervention

    DGMGRL> show configuration

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    stby2 – Primary database

    pra – (*) Physical standby database

    stby1 – Physical standby database

    Fast-Start Failover: ENABLED

    Configuration Status:

    SUCCESS

    DGMGRL>

    Switchover to pra

    DGMGRL> switchover to pra

    Performing switchover NOW, please wait…

    New primary database “pra” is opening…

    Operation requires shutdown of instance “STBY2” on database “stby2”

    Shutting down instance “STBY2″…

    ORACLE instance shut down.

    Operation requires startup of instance “STBY2” on database “stby2”

    Starting instance “STBY2″…

    ORACLE instance started.

    Database mounted.

    Database opened.

    Switchover succeeded, new primary is “pra”

    DGMGRL>

    DGMGRL> show configuration verbose

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    stby2 – (*) Physical standby database

    stby1 – Physical standby database

    (*) Fast-Start Failover target

    Properties:

    FastStartFailoverThreshold = ’90’

    OperationTimeout = ’30’

    FastStartFailoverLagLimit = ’80’

    CommunicationTimeout = ‘180’

    FastStartFailoverAutoReinstate = ‘TRUE’

    FastStartFailoverPmyShutdown = ‘TRUE’

    BystandersFollowRoleChange = ‘ALL’

    Fast-Start Failover: ENABLED

    Threshold: 90 seconds

    Target: stby2

    Observer: apollo.gj.com

    Lag Limit: 80 seconds (not in use)

    Shutdown Primary: TRUE

    Auto-reinstate: TRUE

    Configuration Status:

    SUCCESS

    DGMGRL>

    Stoping observer.

    DGMGRL> connect sys/sys1

    Connected.

    DGMGRL> stop observer

    Done.

    [oracle@apollo ~]$

    DGMGRL> start observer

    Observer started

    21:19:09.83 Friday, July 26, 2013

    Initiating Fast-Start Failover to database “stby2″…

    Performing failover NOW, please wait…

    Failover succeeded, new primary is “stby2”

    21:21:10.91 Friday, July 26, 2013

    21:27:38.60 Friday, July 26, 2013

    Initiating reinstatement for database “pra”…

    Reinstating database “pra”, please wait…

    Operation requires shutdown of instance “PRA” on database “pra”

    Shutting down instance “PRA”…

    ORA-01109: database not open

    Database dismounted.

    ORACLE instance shut down.

    Operation requires startup of instance “PRA” on database “pra”

    Starting instance “PRA”…

    ORACLE instance started.

    Database mounted.

    Continuing to reinstate database “pra” …

    Reinstatement of database “pra” succeeded

    21:31:06.83 Friday, July 26, 2013

    Observer stopped

    [oracle@apollo ~]$

    DGMGRL> show configuration verbose

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    Warning: ORA-16819: fast-start failover observer not started

    stby2 – (*) Physical standby database

    Warning: ORA-16819: fast-start failover observer not started

    stby1 – Physical standby database

    (*) Fast-Start Failover target

    Properties:

    FastStartFailoverThreshold = ’90’

    OperationTimeout = ’30’

    FastStartFailoverLagLimit = ’80’

    CommunicationTimeout = ‘180’

    FastStartFailoverAutoReinstate = ‘TRUE’

    FastStartFailoverPmyShutdown = ‘TRUE’

    BystandersFollowRoleChange = ‘ALL’

    Fast-Start Failover: ENABLED

    Threshold: 90 seconds

    Target: stby2

    Observer: (none)

    Lag Limit: 80 seconds (not in use)

    Shutdown Primary: TRUE

    Auto-reinstate: TRUE

    Configuration Status:

    WARNING

    DGMGRL>

  9. Disable the configuration

    DGMGRL> disable fast_start failover

    Disabled.

    DGMGRL> show configuration verbose

    Configuration – DGConfiguration

    Protection Mode: MaxAvailability

    Databases:

    pra – Primary database

    stby1 – Physical standby database

    stby2 – Physical standby database

    Properties:

    FastStartFailoverThreshold = ’90’

    OperationTimeout = ’30’

    FastStartFailoverLagLimit = ’80’

    CommunicationTimeout = ‘180’

    FastStartFailoverAutoReinstate = ‘TRUE’

    FastStartFailoverPmyShutdown = ‘TRUE’

    BystandersFollowRoleChange = ‘ALL’

    Fast-Start Failover: DISABLED

    Configuration Status:

    SUCCESS

    DGMGRL>

    DGMGRL> show database pra LogXptMode

    LogXptMode = ‘sync’

    DGMGRL> show database stby1 LogXptMode

    LogXptMode = ‘sync’

    DGMGRL> show database stby2 LogXptMode

    LogXptMode = ‘sync’

    DGMGRL>

Summary:

The article had a glimpse of configuring a Fast Start Failover and a test of a failover as a result of shutdown abort on the primary database.

March 2, 2016 - Posted by | oracle

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: