RAC to single instance Data Guard Physical Standby
|
1 2 3 |
col DATABASE_ROLE for a20 col SWITCHOVER_STATUS for a20 select DATABASE_ROLE,switchover_status from v$database; |
|
1 |
alter system set dg_broker_start=true scope=both sid='*'; (yapmakta fayda var butun node larda) |
SWITCHOVER yapmak için
Primary
|
1 2 |
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; SHUTDOWN IMMEDIATE; |
Standby;
MRP durduğunda
|
1 2 |
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; ALTER DATABASE OPEN; |
Orjinal Primary (Şu an standby)
|
1 2 |
STARTUP MOUNT; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; |
Error
|
1 |
ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY; |
ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY *
ORA-01105: mount is incompatible with mounts by other instances
Action: Query the GV$INSTANCE view as follows to determine which instances are
causing the problem:
|
1 2 |
SELECT INSTANCE_NAME, HOST_NAME FROM GV$INSTANCE WHERE INST_ID <> (SELECT INSTANCE_NUMBER FROM V$INSTANCE); |
INSTANCE_NAME---INST2
HOST_NAME----standby2
In the previous example, the identified instance must be manually shut down before
the switchover can proceed. You can connect to the identified instance from your
instance and issue the SHUTDOWN statement remotely, for example:
|
1 2 3 4 |
CONNECT SYS@standby2 AS SYSDBA Enter Password: SQL> SHUTDOWN; SQL> EXIT |
*****************************************************************************************
Protection modes
|
1 |
SELECT protection_mode FROM v$database; |
|
1 |
select database_role, open_mode, name, db_unique_name from v$database; |
Primary
|
1 |
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=stdmx AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stdmx' scope=both sid='*'; |
Standby
|
1 |
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=mx AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=mx' scope=both sid='*'; |
Maximum Availability
|
1 2 |
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY'; ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY; |
Maximum Performance
|
1 2 |
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY'; ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE; |
Maximum Protection
|
1 2 3 4 5 |
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY'; SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION; ALTER DATABASE OPEN; |
*****************************************************************************************************
Primary de log_archive_dest_state “defer” moda alınır.
|
1 |
alter system set log_archive_dest_state_2=defer sid = '*'; |
|
1 |
alter system switch logfile ; |
|
1 |
shutdown immediate |
MRP process standby da kapatılır.
|
1 2 |
alter database recover managed standby database cancel; shutdown immediate; |
|
1 |
startup nomount; |
|
1 2 |
alter database mount standby database; alter database recover managed standby database using current logfile disconnect; |
veya
|
1 |
alter database recover managed standby database disconnect from session; |
primary database açılır log_archive_dest_state aktif (enable) edilir ve
|
1 2 |
alter system switch logfile ; alter system set log_archive_dest_state_2=enable scope = both sid = '*'; |
