Oracle Database 19c Switchover Steps
Database Switchover Steps
1. Pre-operation Steps
- Check archive logs on both the primary and standby servers:
- Primary:
SELECT thread#, MAX(sequence#) "Last Primary Seq Generated"
FROM gv$archived_log val, gv$database vdb
WHERE val.resetlogs_change# = vdb.resetlogs_change#
GROUP BY thread# ORDER BY 1;
SELECT thread#, MAX(sequence#) "Last Standby Seq Received"
FROM gv$archived_log val, gv$database vdb
WHERE val.resetlogs_change# = vdb.resetlogs_change#
GROUP BY thread# ORDER BY 1;
SELECT thread#, MAX(sequence#) "Last Standby Seq Applied"
FROM gv$archived_log val, gv$database vdb
WHERE val.resetlogs_change# = vdb.resetlogs_change#
AND val.applied IN ('YES', 'IN-MEMORY')
GROUP BY thread# ORDER BY 1;
Ensure the following parameters are correctly configured:
SELECT name, value
FROM v$parameter
WHERE UPPER(name) IN ('DB_NAME', 'DB_UNIQUE_NAME', 'FAL_CLIENT',
'FAL_SERVER', 'LOG_ARCHIVE_CONFIG',
'LOG_ARCHIVE_DEST_2', 'LOG_ARCHIVE_DEST_STATE_2',
'LOG_ARCHIVE_DEST_3', 'LOG_ARCHIVE_DEST_STATE_3',
'REMOTE_LOGIN_PASSWORDFILE')
ORDER BY name;
DB_NAME
: The name of the database instance.DB_UNIQUE_NAME
: A unique identifier for the database, ensuring differentiation between primary and standby databases.FAL_CLIENT
: Specifies the database requesting archive log gaps to be resolved.FAL_SERVER
: Identifies the server providing missing archive logs.LOG_ARCHIVE_CONFIG
: Defines the Data Guard configuration, including primary and standby roles.LOG_ARCHIVE_DEST_2
: Specifies the archive destination for the standby database.LOG_ARCHIVE_DEST_STATE_2
: Controls the state (enabled/disabled) of the second archive destination.LOG_ARCHIVE_DEST_3
: Additional archive destination for multi-standby setups.LOG_ARCHIVE_DEST_STATE_3
: Controls the state of the third archive destination.REMOTE_LOGIN_PASSWORDFILE
: Ensures password file authentication is used for remote connections.
Note: Ensure Data Guard is functioning. If logs are not being written, restart standby:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
2. Switchover Steps
- Verify switchover readiness on the primary database:
ALTER DATABASE SWITCHOVER TO <standby db_name> VERIFY;
ALTER DATABASE SWITCHOVER TO <standby db_name>;
ALTER DATABASE OPEN;
3. Post-switchover Steps
- On the primary, verify logs and create an archive log:
ALTER SYSTEM ARCHIVE LOG CURRENT;
SELECT dest_id, error, status FROM v$archive_dest WHERE dest_id=2;
SELECT MAX(sequence#), thread# FROM v$archived_log GROUP BY thread#;
Tip: Test data flow by inserting data into a test table to confirm proper replication.
Comments
Post a Comment