ODApost-07ebc366

Switchover to Production ODA Environment

Switchover to Production ODA Environment

 

Standby
———-

SQL> SELECT PROCESS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE ‘MRP%’;

PROCESS
———
MRP0

SQL> set lines 133 pages 133
select database_role,db_unique_name,open_mode,protection_mode from gv$database;

DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE PROTECTION_MODE
—————- —————————— ——————– ——————–
PHYSICAL STANDBY testdb READ ONLY WITH APPLY MAXIMUM PERFORMANCE

 

SQL> SELECT ARCH.THREAD# “Thread”, ARCH.SEQUENCE# “Last Sequence Received”, APPL.SEQUENCE# “Last Sequence Applied”, (ARCH.SEQUENCE# – APPL.SEQUENCE#) “Difference”
FROM (SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM
V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE ARCH.THREAD# = APPL.THREAD# ORDER BY 1;
2 3

Thread Last Sequence Received Last Sequence Applied Difference
———- ———————- ——————— ———-
1 1770 1770 0
2 1564 1564 0
2 1564 1564 0

 

 

 SQL> alter database recover managed standby database cancel;

Database altered.

SQL> exit

Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.10.0.0.0

[oracle@test ~]$ srvctl status database -d testdb
Instance testdb1 is running on node test
Instance testdb2 is not running on node test2

[oracle@test ~]$ srvctl stop database -d testdb

[oracle@test ~]$ srvctl status database -d testdb

Instance testdb1 is not running on node test
Instance testdb2 is not running on node test2

[oracle@test ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 – Production on Thu Feb 22 10:47:22 2024
Version 19.10.0.0.0

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

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 4294963264 bytes
Fixed Size 8904768 bytes
Variable Size 2583691264 bytes
Database Buffers 1660944384 bytes
Redo Buffers 41422848 bytes
Database mounted.

SQL> alter database recover managed standby database disconnect from session;

Database altered.

 

Primary
———-

SQL> set lines 133 pages 133
select database_role,db_unique_name,open_mode,protection_mode from gv$database;SQL>

DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE PROTECTION_MODE
—————- —————————— ——————– ——————–
PRIMARY testdbdr READ WRITE MAXIMUM PERFORMANCE

 

SQL> alter system archive log current;

System altered.

 

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
——————–
RESOLVABLE GAP

SQL> select
dest_name,
status,
error
from
v$archive_dest
where
status=’ERROR’; 2 3 4 5 6 7 8

no rows selected

 

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
——————–
TO STANDBY

 

Standby
———-

[oracle@test 2024_02_22]$ srvctl stop instance -i testdb2 -d testdb

[oracle@test 2024_02_22]$ srvctl status database -db testdb
Instance testdb1 is running on node test
Instance testdb2 is not running on node test2

Primary
——–

SQL> alter database switchover to testdb verify;
alter database switchover to testdb verify
*
ERROR at line 1:
ORA-16475: succeeded with warnings, check alert log for more details

SQL> alter database switchover to testdb;

Database altered.

 

New Secondary
===============

startup mount;

alter system set log_archive_dest_state_2=’DEFER’ scope=both sid=’*’;

System altered.

SQL> alter database recover managed standby database disconnect from session;

Database altered.

SQL> SELECT PROCESS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE ‘MRP%’;

PROCESS
———
MRP0

SQL> set lines 133 pages 133
select database_role,db_unique_name,open_mode,protection_mode from gv$database;SQL>

DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE PROTECTION_MODE
—————- —————————— ——————– ——————–
PHYSICAL STANDBY testdbdr MOUNTED MAXIMUM PERFORMANCE

SQL> select message from v$dataguard_status;

 

New Primary
=============

SQL> select open_mode,name from v$database;

OPEN_MODE NAME
——————– ———
MOUNTED testdb

 

SQL> SELECT PROCESS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE ‘MRP%’;

no rows selected

 

SQL> alter system set log_archive_dest_state_2=’ENABLE’ scope=both sid=’*’;

System altered.

 

SQL> alter database open;

Database altered.

 

SQL> set lines 133 pages 133
select database_role,db_unique_name,open_mode,protection_mode from gv$database;SQL>

DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE PROTECTION_MODE
—————- —————————— ——————– ——————–
PRIMARY testdb READ WRITE MAXIMUM PERFORMANCE

 

SQL> SELECT ARCH.THREAD# “Thread”, ARCH.SEQUENCE# “Last Sequence Received”, APPL.SEQUENCE# “Last Sequence Applied”, (ARCH.SEQUENCE# – APPL.SEQUENCE#) “Difference”
FROM (SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM
V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,(SELECT THREAD# ,SEQUENCE# FROM 2 V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE ARCH.THREAD# = APPL.THREAD# ORDER BY 1; 3

Thread Last Sequence Received Last Sequence Applied Difference
———- ———————- ——————— ———-
1 1778 1778 0
1 1778 1778 0
2 1564 1564 0
2 1564 1564 0

SQL> select
dest_name,
status,
error
from
v$archive_dest
where
status=’ERROR’; 2 3 4 5 6 7 8

no rows selected

 

SQL> select sequence#,applied from (select sequence#,applied from gv$archived_log order by sequence# desc) where rownum<=15;

 

 

 

 

 

    About Abdul Khalique Siddique

    In addition to my proficiency in Oracle Database, I have also specialized in Oracle E-Business Suite. I have hands-on experience in implementing, configuring, and maintaining EBS applications, enabling organizations to streamline their business processes and achieve operational efficiency. Also I have hands-on experience in Oracle Cloud Infrastructure (OCI). I have worked with OCI services such as compute, storage, networking, and database offerings, leveraging the power of the cloud to deliver scalable and cost-effective solutions. My knowledge of OCI architecture and deployment models allows me to design and implement robust and secure cloud environments for various business requirements. Furthermore, I have specialized in disaster recovery solutions for Oracle technologies. I have designed and implemented comprehensive disaster recovery strategies, including backup and recovery procedures, standby databases, and high availability configurations. My expertise in data replication, failover mechanisms, and business continuity planning ensures that organizations can quickly recover from disruptions and maintain uninterrupted operations.

    Leave a Reply