11G R2 Data Guard Kurulumu ve Senaryoları

Tek instance çalışan veritabanının erişebilirliğini artırmak için DataGuard (primary - standby) yapısına geçmeye karar verdik.

Tek instance çalışan veritabanının erişebilirliğini artırmak için DataGuard (primary – standby) yapısına geçmeye karar verdik. Mevcutta
çalışan ve SID i erp olan veritabanına “erpsby” yi ekleyeceğiz.

ADIM_1
Primary DB ArchiveLog Moda alınır

ADIM_2
Stanby veritabanının klasik oracle yüklemesi gibi yapılır (primary veritabanı ile aynı klasör dizinleri kullanılmalı) Veritabanı
oluşturulmadan sadece yazılım kurulmalı (software only seçilerek kurulum yapılacak sonrasında netca ile listener oluşurulur.)

ADIM_3
/home/oracle/.bash_profile dosyalarını düzenliyoruz.
PRIMARY DB

STANDBY DB

ADIM_4
/etc/hosts dosyasını düzenliyoruz. Aşağıdaki iki satırı ekliyoruz. (her iki sunucuda da)

ADIM_5
PRIMARY DB
“Force logging” özelliğini etkinleştiriyoruz.

ADIM_6
PRIMARY DB

ADIM_7
PRIMARY DB de
/Oracle/11G/network/admin/tnsnames.ora

StandBY DB ye gönderiyoruz

ADIM_8
STANDBY DB de

ADIM_9
PRIMARY DB de

NAME TYPE VALUE

——————— ———– ———–

service_names string erpprm

ADIM_10
STANDBY DB de
vi /Oracle/11G/dbs/initerp.ora ile yeni dosya oluşturulup.
select name from v$controlfile –sorgusu ile lokasyonlar öğrenilir.

ADIM_11
STANDBY DB
Klasörler oluşturulur.

ADIM_12
PRIMARY DB de
vi /home/oracle/CreateStandbyDB.rcv –adında bir rman script oluşturulup aşağıdakiler eklenir.

ADIM_13
STANDBY DB de
nomount modda açılır.

ADIM_14
PRIMARY DB de
standby db yi rman dublicate ile oluşturuyoruz.
rman target / auxiliary sys/sys@erpsby cmdfile=/home/oracle/CreateStandbyDB.rcv log=/home/oracle/Log_CreateStandbyDB.log

 

To view the operations as they execute: tail -f /home/oracle/Log_CreateStandbyDB.log

 

bu işlem sırasında
tail -f /home/oracle/Log_CreateStandbyDB.log –ile olup biteni izleyebilirsiniz.
hata ile karşılanırsa.
tnsping erpsby ile test edebilirsiniz. Tekrar rman komutunu çalıştırmanız gerekirse standby db de /Oracle/11G/dbs/ dizinine oluşturulmuş
spfileerp.ora yı silmeniz gerekebilir.
ADIM_15
PRIMARY DB de

Primary db de yapılan değişikliklerin stanby db ye senkron olması için

Eğer db_recovery_file_dest kullanıldı ise

 

RedoLog ların taşınacağı stanby db nin belirtilmesi

 

ADIM_16
STANBBY DB De

 

 

Kontrol

 

ADIM_17
PRIMARY DB de

 

ADIM_18
STANBY DB de

 

alter database open ;

 

 

In the Standby DB

 

In the Primary DB

 

In the Standby DB

Stanby db açıldıktan sonra kullanılması gereken komut;

 

Example:

Örnek:

ADIM_1

 

ADIM_2

 

ADIM_3

Primary veritabanını, standby, stanby veritabanını primary yapacağız. (adb -> standby, sdb->primary olacak)

ADIM_1
primary database geçişi hazır olup olmadıgı kontrol edilir. “Session active” veya “to primary” olması gerekir.

 

ADIM_2
PRIMARY DB de

 

ADIM_3
PRIMARY DB de (standby moda alınacak primary), kapatılıp mount modda açılır.

 

ADIM_4
STANDBY DB de (Primari olacak standby db) statusu TO PRIMARY or SESSIONS ACTIVE olmalı

 

ADIM_5
standby db yi primary primari ye dönüştürmek için.
STANDBY DB de (Primari olacak standby db)

 

ADIM_6
PRIMARY DB (yeni) açılır.

 

ADIM_7
STANDBY DB de (yeni) redolog ları uygulaması için.

 

ADIM_8
STANDBY DB (yeni)

–eğer hata alınırsa
–ORA-10456: cannot open standby database; media recovery session may be in progress

 

–Tekrar- eski haline döndürülmek istenirse

Primary sunucu Erişilemez duruma geldi ise StandBy DB, Primary ye çevrilir. Arızalanan Primary DB yi tekrar standby ye çevirmek için en
baştan ayarların yapılması gerekir.

(target_db_name standbydb unique ismi)
ADIM_1
arızalanan PRIMARY sunucu mount modda açılabiliyorsa, standby a gönderilememiş archive ları göndermek için,
(target_db_name standbydb unique ismi)

 

güncel archived dosyaların oldugu kontrol edilir.

 

Eğer Primari sunucuya erişilebiliyorsa ve standby db (primary olacak stanby db) de olmayan archived loglar var ise bunlar standby db ye
kopyalanır ve

 

ile sisteme kayıt edilir

 

eğer

———- ————- ————–

1 90 92

 

 

örnekteki gibi eksik archived redo varsa primari olacak standby db ye kopyalanıp

ile kayıt edilir.

ADIM_2
PRIMARY DB de (pri db olacak sby da ) redo apply durdurulur.

 

Eğer bu hatası geçilirse ADIM_3 geçilir. Eğer hata verirse archivelogların kayıt işlemine devame edilir. Hata mesajı devam ediyorsa ve
giderilemiyorsa veri kaybı ile yola devam etmek için

 

ADIM_3
STANDBY DB de (primari olacak standby db), hazır olup olmadıgı kontrol edilir.
SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

—————–

TO PRIMARY

 

 

ADIM_4
STANDBY DB primary DB ye çevirilir.

alter database open

 

 

ADIM_5
Ortamdaki diğer STANDBY DB lerde

İlk Primary sunucunuzu (adb.sysdba.org) , tekrar primary yapmak için; önce kurulum adımları izlenerek stanby yapılır sonrasında switchover
ile primary olarak değiştirilir. ” LOG_ARCHIVE_DEST” güncellemek gerekebiliyor.
It may be necessary to update “LOG_ARCHIVE_DEST”.

 

 

Yararlanılan kaynaklar :
http://docs.oracle.com/cd/E11882_01/backup.112/e10642.pdf
http://www.troug.org/?page_id=42 (Uğur İnal)

Create Standby Database using 11g DUPLICATE FROM ACTIVE DATABASE

Not : Bu makale hazırlanırken sadece open source yazılımlar kullanılmıştır ( ücretsiz, açık kaynak kodlu yazılımlar) ;

Host makine işletim sistemi Ubuntu 11.10 X64
Sanal Makine yazılımı VirtualBox 4.1.2
Dizayn Dia
Text editör Gedit&Open ofis