primary
SQL> select open_mode, database_role from v$database;
Check achivelog sq between pri=dg
select THREAD#, SEQUENCE#,RESETLOGS_TIME,RESETLOGS_ID,APPLIED,COMPLETION_TIME from v$archived_log order by COMPLETION_TIME asc;
Check Jobs
SQL> select * from dba_jobs_running; --> stop job or set alter system set job_queue_processes=0;
Check Session
SQL> select username,sid,serial# from v$session where type='USER';
- kill user session; SQL>alter system kill session 'sid,serial';
- Stop App
- Restart Primary DB to clear session is best choice.
Check switchover status
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE (Or To Standby)
Switchover to Physical Standby
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; -> Instance will be shutdown
physical
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE (Or To Primary)
SQL> alter database commit to switchover to primary with session shutdown;
SQL> alter database open;
former primary: Start Mount, applying Log
sqlplus / as sysdba
sql>startup mount;
sql>alter database recover managed standby database using current logfile disconnect from session;
New Primary: Check Switch logfile between New Primary and New Standby
SQL> alter system switch logfile;