Press ESC to close

Multiple Standby

 

Hali hazırda var olan bir satndby database yanına ikinci bir standby eklemek istersek yapmamız gereken adımlar aşağıdaki gibi olmalıdır;

1) Primary Veritabanımızdan Standby için database ve Controlfile RMAN backuplarını alırız (Duplicate yapmayacaksak)
2) Primary veritabanından bir pfile oluşturarak gerekli düzenlemeleri yapılır
3) Backuplar ve pfile Standby tarafa kopyalanır.
4) Duplicate yapacaksak sadece pfile Standby tarafına kopyalanır.
5) Primary ve standby için log_archive_config parametreleri düzenlenir.
6) Eğer ihtiyaç varsa Standby Redo Logs oluşturulur
7) log_archive_Dest_n parameresi PRIMARY taraf için düzenlenir (log_archive_dest_state_3)
8) Oluşturulan Standby devreye alınır.

Öncelikle ortamlarımızı bir tanıyalım;

DB DB_UNİQUE_NAME DB_NAME
Primary FRKDB ABYSDB
1. Standby FRKDBSTB ABYSDB
2. Standby FRKSTG ABYSDB

Pfile da değişmesi gereken Parametreler (Memory vs hariç)

db_unique_name = 'FRKSTG'
db_name='ABYSDB'
fal_server=FRKDB,FRKDBSTB
fal_client=FRKSTG
db_file_name_convert = 'FRKDB','FRKSTG'
log_file_name_convert = 'FRKDB','FRKSTG'
log_archive_dest_1 =LOCATION=USE_DB_RECOVERY_FILE_DEST 

Tns Bilgilerinin Kontrol edilmesi gerekmektedir; Her üç veritabanınında tnsnames.ora dosyasına aşağıdaki gibi kayıtlar girilmelidir. Tnsping testleri ve tns üzerinden Sys login testleri yapılması gerekmektedir.

FRKSTG=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.25)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = FRKSTG)
    )
  )
FRKDB=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = frkdboda-scan)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = FRKDB.WORLD)

    )
  )
TNS_FRKDBSTB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = frkfkmvm1.ahs.local)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = FRKDBSTB)
    )
  )

 

DG Kurulumu ve Duplicate işlemleri ayrıca Parameterelerin açıklamaları için aşağıdaki yazılara göz atabilirsiniz.

https://www.farukcevik.com.tr/data-guard-mimarisi/

https://www.farukcevik.com.tr/data-guard-2-installation-19c/

Tnsping ve tns ile sys login testleri başarılı ise duplicate aşamasına geçilebilir.


rman target sys/password123@FRKDB auxiliary sys/password123@FRKSTG;
configure device type disk parallelism 8 backup type to backupset;
duplicate target database for standby from active database nofilenamecheck;

Primary Veritabanında yapılması gereken konfigürasyon ayarlamaları;

alter system set log_archive_config='DG_CONFIG=(FRKDB,FRKDBSTB,FRKSTG)';

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=FRKDB' scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=TNS_FRKDBSTB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=FRKDBSTB' scope=both

ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 ='SERVICE=FRKSTG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=FRKSTG' SCOPE=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=ENABLE;

alter system set fal_client='FRKDB' scope=both;
alter system set fal_server='FRKDBSTB','FRKSTG' scope=both;
  1. Sttanby olan *** db de ki Konfigürasyon ayarlamaları
alter system set log_archive_config='DG_CONFIG=(FRKDBSTB,FRKDB,FRKSTG)' scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=FRKDBSTB' scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=FRKDB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=FRKDB' scope=both

ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='SERVICE=FRKSTG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=FRKSTG' scope=both

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=DEFER;

alter system set fal_client='FRKDBSTB' scope=both;
alter system set fal_server='FRKDB','FRKSTG' scope=both;

2. Stanby **** DB için gerekli konfigürasyon ayarlamaları;

alter system set log_archive_config='DG_CONFIG=(FRKSTG,FRKDB,FRKDBSTB)' scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=FRKSTG' scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=FRKDB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=FRKDB' scope=both

ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='SERVICE=TNS_FRKDBSTB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=FRKDBSTB' scope=both

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=DEFER;

alter system set fal_client='FRKSTG' scope=both;
alter system set fal_server='FRKDB','FRKSTG' scope=both;

Tüm konfigürasyonları yaptıktan sonra MRP çalıştırılır ve DG durumu kontrol edilir;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

DG Kontrolü için aşağıdaki yazıyı takip edebilirsiniz;

https://www.farukcevik.com.tr/standby-database-durumunu-izleme/

 

Comments (1)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir