RAC to single instance Data Guard Physical Standby

Bu kurulum hem sun solaris 10 hem de OEL (Oracle Linux Server release 6.4) üzerine oracle 11.2.0.2 binary leriyle gerçekleştirildi.

Bu kurulum hem sun solaris 10 hem de OEL (Oracle Linux Server release 6.4) üzerine oracle 11.2.0.2 binary leriyle gerçekleştirildi. Makalede solarisi baz almaya çalıştım ama linux tarafından da eklemeler oldu. Kuruluma geçmeden önce tüm makaleyi okumanızı tavsiye ederim. Eğer single instance tan single instance a data guard ve RAC kurulumları yaptı iseniz adımlar daha kolay gelecektir. Eksik ya da yanlış olan yerleri bildirirseniz sevinirim.

RAC to single instance Data Guard Physical standby

 

PRIMARY

STANDBY

Hostname/s

dbk01, dbk02 stddbk

Database Name

mx

mx

Database Unique Name

mx

stdmx

Net Service Name

mx.sysdba.org

stdmx.sysdba.org

Clusterware

11g R2 Grid Infrastructure (11.2.0.2)

11g R2 Grid Infrastructure (11.2.0.2)

Cluster Nodes

node1, node2 (2-node RAC)

Single instance

SCAN

mx-scan

SCAN listener Host/port

SCAN VIPs (port 1521)

DB Instances

mx1, mx2 stdmx

DB STORAGE

ASM ASM

File Management

ASM diskgroup for DB files

DATA DATA

ASM diskgroup for recovery files

FRA FRA

GRID_HOME

/u01/11.2.0/grid /u01/11.2.0/grid

ORACLE_HOME

/u01/app/oracle/product/11.2.0/db_1 /u01/app/oracle/product/11.2.0/db_1

OS

SUN 10u10 SUN 10u10

RDBMS Version

11.2.0.2 11.2.0.2

Grid Version

11.2.0.2 11.2.0.2

– Standby Server (Grid Inf., stand alone server, kurulur. Asmca ile DATA ve FRA disk gruplari oluşturulur.)

– RDBMS software only olarak kurulur. (database oluşturulmaz)

– Primary de redologlarin DATA ve FRA’ da olmak üzere her grubun 2 üyesi oldugu kontol edilir yok ise eklenir.

Kurulumda kullanılan .bash_profile/.profile, listener.ora, tnsnames.ora ve başlangıç parametre (pfile) dosyalarını linkinden indirebilirsiniz.

oracle ve grid kullanıcılarının hangi gruplara dahil edildiği önemli maalesef guide larda yanlışlık ya da bug dan kaynaklı sorunlar olabiliyor. Bu kurulumda grup üyelikleri aşağıdaki gibiydi.

 

 

 

Yararlanilan kaynaklar :

http://tahiti.oracle.com
http://asanga-pradeep.blogspot.com/2010/11/rac-to-single-instance-physical-standby.html
http://easyoradba.com/2012/11/20/rac-to-single-instance-dataguard-oracle-11gr2-physical-standby/
http://www.cozumpark.com/blogs/oracle/archive/2011/02/26/oracle-11g-r2-11-2-0-2-rac-mimarisinde-data-guard-kurulumu-ve-y-netimi-d-nyada-lk-ve-tek.aspx
http://dpmappsdba.blogspot.com/p/rac-to-single-instance-physical-standby.html
http://unixoracledba.wordpress.com/2012/03/29/how-to-create-a-single-instance-physical-standby-dataguard-for-a-rac-database/

Primary Database’ deki Adımlar
1- Primary DB archivelog moda alınır.

 

 

Tüm instancelar srvctl ile kapatılır

 

 

 

DB’ leri açalım

 

Kontrol edelim

 

2. Enable Force Logging. (fast start fail over kullanılacaksa) ve servis tanimlanir.

 

 

3. Standby Redo log ları oluşturalım.

StandBY redolog ları aşağıdaki gibi alies ile yapmayın. ASM kullanılan yerlerde bu şekilde (+FRA/mx/onlinelog/STDredo030b.log) ne online redo log ne de standby redo logları alias ile oluşturmayın. Aslında izin de vermemesi lazım madem tavsiye etmiyor.
Ek olarak üye de oluşturmamakta fayda var performans için.

Her nodda 2 adet redo log var, her nod icin, nod sayisinin bir fazlasi ini olusturuyoruz (yedekli olarak).

 

 

Bu şekilde oluşturulması gerekir.

 

 

Not: DG kurulduktan sonra olusturulsa daha iyi olacak sanirim ikinci kurulumda denenecek,. (hem Primary da hem de standby da olusturulacak)

 

 

 

4. Password (orapw$instance_ismi) dosyalarını oluşturalım.(Password bütün makinelerde aynı olmalı).
Bütün nodlarda

 

–ignore case is important parameter here since from 11gR2 onwards passwords are case-sensitive
PING[ARC2]: Heartbeat failed to connect to standby ‘mx’. Error is 16191.
Error 1017 received logging on to the standby
These are common errors associated with password files. If you encounter the above errors, recreate the password files.

5. listener.ora dosyasına SID bilgileri girilir.(Bütün makinelerde standby lar dahil)

Primary (RAC-GRID HOME 2 node da da ayni)

 

StandBY ve Primary de “lsnrctl status” de instance ların kayıtlı olduğu görülmeli. Gerekirse local_listener parametresi set edilip (alter local_listener ” / register)
(listener.ora ile oynamadan da çalışmıştı ?)

6. tnsnames.ora

Butun nodlarda ve stanby da

 

 

7. init.ora Parametrelerini DataGuard için ayarlıyoruz (primary için)
Öncesinde yedek pfile oluşturulur. (bir kopyasi da standby a gonderilecek)

 

 

Kapatıp açıp, güncel değerler kontrol edilir.
Full halini aynı dizinde primaryinit.ora_for_std.ora adinda

 

Bu pfile standby a gönderilip , düzenlemeler yapılacak

 
spfile’ ın nerede olduğunu adresliyor. Aksi halde spfile ı bulamadığı için DB’yi açamaz

8. RMAN backup için geçici “stage” dizini oluşturulur. Primary/standby (oracle kullanicisi ile)

 

9. Primary Database de Standby için rman yedek alıyoruz.

 

 

Not : lokasyonlar arası erişim hızı düşük ise ve DB boyutu büyük ise rman backup ın alınıp karşı tarafa başka bir şekilde göndermek gerekebilir.

*****************************************************************************************************

10. Klasörler oluşturulur.

 

11. init.ora Parametrelerini DataGuard için ayarlıyoruz
(standby için primaryinit.ora_for_std.ora dosyasında gerekli değişiklikler yapılır)

 

12. Password (orapw$instance_ismi) dosyalarını oluşturuyoruz. (4. adımda standby için de oluşturdu iseniz gerek yok)

 

 

13. listener.ora ya SID bilgileri girilir
not _1 : herhangi bir değisiklik yapmadan testlerde sorunsuz calıştı lakin makalelerde asagidaki listener girişleri yapılmış.

 
Not_2 : satir baslarini solda bosluk birakmadan listener.ora ya yazilirsa sytax hatalari veriyor

14. tnsnamas.ora ya primary rac ın bilgileri girilir.(Primary ile aynı yapılır)
Hepsi ayni olacak.
$tnsping ile kontrol edilecek.

15. StandBY database i oluşturalım.

 

StandBY da

 

 

mount modda açıldığında standby redolog lar oluşturulur.

 

 

 
*****************************************************************************************************

Primary

 

Standby

 

 

 

 

 

 

 

 

 

 

Arşivlenmiş (archived) son redologları görmek için

 

 

 

 

Primary

 

Primary

 

 

 

 

*****************************************************************************************************

Primary veritabanı için – her nodda;

node 1’de

 

Standby veritabanı için ise her nodda;

 

 
11.2.0.2.0 sürümündeki bug dan dolayi NetTimeout=180 yapildi

Bu ikisi dikkatli kullanilmali protection modelarin durumuna gore db yi kapatabiliyor..

 

 

Bilgi

 

 

Log

 

 

Not ; switCHOVER dan sonra dgmgrl show configuration da bazi hatalar gorunebiliyor ama bir sure sonra kendini topluyor ve hatalar gidiyor. Iki tarafa da basarili bir sekilde switchoVER gerceklesti.

*****************************************************************************************************

GAP resulation

 

 

 

 

 

ArchiveLOG ların ASM’ye alınıp kayıt edilmesi

 
***************************************************************************************************

 

 

SWITCHOVER yapmak için
Primary

 

Standby;
MRP durduğunda

 

Orjinal Primary (Şu an standby)

 

Error

 

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:

 

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:

 

*****************************************************************************************

Protection modes

 

 

Primary

 

Standby

 

Maximum Availability

 

Maximum Performance

 

Maximum Protection

 

*****************************************************************************************************

Primary de log_archive_dest_state “defer” moda alınır.

 

 

 

MRP process standby da kapatılır.

 

 

 

veya

 

primary database açılır log_archive_dest_state aktif (enable) edilir ve

 

SHUTDOWN STANDBY DATABASE
step 1: Disable standby archive writing:

Primary/production database

 

step 2: auto recovery standby de deaktif edilir.

 

PS: In case of RAC: above command should run on just ONE of the standby RAC node.

 

RAC ortamında tüm stanby node larda uygulanmalı

STARTUP STANDBY DATABASE
Gerek olursa archivelog lar standby a taşınır.

 

Step 2: standby database açılır ve automatic recovery başlatılır.

 

PS: RAC ortamında bütün standby node larda uygulanır.

 

step 3: standby archive writing aktif edilir (enable)
primary/production database

 

RAC ortamında sadece bir node da çalıştırılması yeterli (sid=’*’).

*****************************************************************************************************

Bozulmadan önleyelim. Ayrıntılı bilgi için Doc ID 1302539.1
primary

 

standby

 

1

 
Hatasi alinirsa
root ile
 

 

2
Deletion of Applied Archivelogs
If the archivelog files are being managed in the Fast Recovery Area then automatic deletion of backed up and applied archivelog files can be setup by issuing the following RMAN configure command on the primary database:

 

Creating a physical standby from ASM primary [ID 787793.1]
http://www.datadisk.co.uk/html_docs/oracle_dg/troubleshooting.htm
http://www.datadisk.co.uk/html_docs/oracle_dg/troubleshooting.htm
http://www.oracledba.org/”>http://www.oracledba.org

3
Data Guard Broker Status Summary:
Type Name Severity Status

 

hata varsa
show database ‘stdhira’ ‘InconsistentProperties’;
ile farkli degerler bulunup (bazan degerler ayni olsa da ) scope=spfile/both ile degistirince düzeliyor.

4

 

Solution
Ozet
o anki primary de

 

RAC

 

single instance

 

metalink te ise asagidaki adimlar anlatilmis.
a. Use DGMGRL to gather information about the Broker configuration.
— From current Primary

 

# This should be done for the primary and each standby.

b. Remove the Broker configuration.

— From current Primary:

 

# This will ensure standby operations continue while the Broker
# configuration is being re-created.

c. Change the LOG_ARCHIVE_DEST_n destinations defined with LOCATION to remove DB_UNIQUE_NAME.

 

# This must be done on all databases in the Data Guard environment
# that Broker will manage.

d. Re-create the Broker configuration.

— From current Primary:

 

# Use the info from Step #1 to re-create the Broker configuration
# and modify the properties on each database before enabling.
e.
ORA-16826: apply service state is inconsistent with the DelayMins property
dgmgrl configurasyonunu disable/enable edince düzeliyor.

 

5 . Bağlantı sorunları yaşandığında bakılacak yerler

 

6.Exception in thread “main” java.lang.UnsatisfiedLinkError: /tmp/OraInstall2013-12-30_01-26-43PM/jdk/jre/lib/sparcv9/motif21/libmawt.so: ld.so.1: java: fatal: libXm.so.4: open failed: No such file or directory….

Çözüm

 

*****************************************************************************************************