Standby Veritabanını READ-WRITE Modda Açma

Standby veritabanını bazı testleri yapmak için read-write modda açmak isteyebiliriz. Standby veritabanını tekrar eski haline alarak devam edebilmek için bazı işlemleri yapmalıyız. Stanby veritabanı üzerinde bazı işlemler yaptıktan sonra tekrar eski durumuna alabilmemiz için, Flasback database özelliğini açmalıyız, Flasback database özelliğini kullanabilmek için ise Fast Recovery Area (FRA) alanını kullanmamız gerekmektedir.

Bizim durumumuzda FRA zaten aktif çalışır durumda fakat aktif olmayanlar için aşağıdaki şekilde aktif hale getirebilirsiniz. FRA alanını set etmek için iki tane parametreyi set etmemiz gerekiyor.

Alter system set DB_RECOVERY_FILE_DEST_SIZE=<Size G veya M>
Alter system set DB_RECOVERY_FILE_DEST= <ilgili disk alanının yolu Ör +FRA>

Bu parametreleri set ettikten sonra Flashback database özelliğini aktif edebiliriz.

SQL> Alter Database Flashback on;
Alter Database Flashback on
*
ERROR at line 1:
ORA-01153: an incompatible media recovery is active

Hata verdi öncelikle media recovery processlerini (MRP) durdurmalıyız.

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database flashback on;


Database altered.

Geri dönebileceğimiz bir restore point noktasını garanti edelim.

SQL> create restore point back_to_stb guarantee flashback database;


Restore point created.

Yukarıda back_to_stb adında bir restore point noktasını garanti altına aldık, standby tarafındaki işlemlerimiz bittiğinde tekrar bu noktaya döneceğiz.

Standby veritabanını aktif ederek read-write modda açabiliriz.

SQL> alter database activate standby database;


Database altered.

SQL> startup mount force;

ORACLE instance started.

Total System Global Area  243268216 bytes
Fixed Size                  8895096 bytes
Variable Size             180355072 bytes
Database Buffers           50331648 bytes
Redo Buffers                3686400 bytes
Database mounted.
SQL> alter database set standby database to maximize performance;


Database altered.

SQL> alter database open;


Database altered.

Stanby veritabanımız read-write modunda açıldı artık istediğimiz işlemi yapabiliriz. Ancak primary database çalışıyor ve arada GAP oluşuyor o yüzden bir an önce ne yapacaksak yapıp tekrar eski haline getirmeliyiz. Eğer GAP çok büyürse fark backupı alıp bunu standby tarafında işletmek zorunda kalabiliriz.

Şimdi en son olarak primary tarafta FRKDBA adında bir kullanıc ve TEST adında b,ir tablo oluşturmuştum, bu tablo ve içindeki veriler standby tarafında var mı? bir kontrol edelim.


SQL> select * from FRKDBA.TEST;

        ID ADI    TELNO
        2  
Kamil    110

içindeki verilerle birlikte tablomuz burada gerekli sorguları ve işlemleri yaptık şimdi standby veritabanımız eski durumuna tekrar alalım.

İlk olarak veritabanını mount moda alalım

SQL> startup mount force;
ORACLE instance started.

Total System Global Area  243268216 bytes
Fixed Size                  8895096 bytes
Variable Size             180355072 bytes
Database Buffers           50331648 bytes
Redo Buffers                3686400 bytes
Database mounted.

Veritabanını restore point ettiğimiz noktaya tekrar alalım.

SQL> flashback database to restore point back_to_stb;


Flashback complete.

Veritabanını pyhsical stanby veritabanı olarak set edelim

SQL> alter database convert to physical standby;


Database altered.

veritabanını tekrar mount modda açalım.

SQL> startup mount force;

ORACLE instance started.

Total System Global Area  243268216 bytes
Fixed Size                  8895096 bytes
Variable Size             180355072 bytes
Database Buffers           50331648 bytes
Redo Buffers                3686400 bytes
Database mounted.

MRP procesesini başlatım ve redo apply işlemi gerçekleşsin.

SQL> alter database recover managed standby database using current logfile disconnect;


Database altered.

Kontrollerimizi yapalım.

SQL> select PROCESS,STATUS,THREAD#,SEQUENCE# from v$managed_standby;

PROCESS   STATUS          THREAD#  SEQUENCE#
--------- ------------ ---------- ----------
ARCH      CONNECTED             0          0
DGRD      ALLOCATED             0          0
DGRD      ALLOCATED             0          0
ARCH      CONNECTED             0          0
ARCH      CONNECTED             0          0
ARCH      CONNECTED             0          0
RFS       IDLE                  1          0
RFS       IDLE                  1         41
RFS       IDLE                  2         28
RFS       IDLE                  2          0
MRP0      APPLYING_LOG          1         41


11 rows selected.