Oracle

Oracle 11G R2 Database Dataguard Kurulumu

Bu makalemde Oracle database 11g r2  versiyonu ile dataguard kurulumunu anlatacağım.

oeldb1.localdomain ve oeldb2.localdomian isimli iki server’ım var. İşletim sistemi olarak Redhat 6.7 versiyonu kurulu.

Oeldb1 server üzerinde Primary olarak Oracle Database 11gr2 versiyonu kurulu. Amaç oeldb2 server üzerine Oracle dataguard yapısını kurup datalarımızı olası bir felaket durumuna karşı korumak. Dataguard’ın özelliklerinden biri dilediğimiz anda standby veri tabanını read only modda açıp rapor çekebilir, Ya da yedek alabiliriz

Primary serverda oracle kullanıcısıyla database kurulumunu yaptım. Bu user oinstall grubuna üye. Standby olan serverda aynı kullanıcı id ve group olarak tanımlı. Oracle db’nin kurulum pathleri birebir aynı

clip_image002

Serverların Donanım, Ip, hostname ve Database Bilgileri

Oeldb1 Primary:

İşlemci: 1×4 core

Ram: 4gb

Ip: 192.168.200.20

Hostname: oeldb1

Oracle Sid: orcl

Kurulum Dizini: /u01/app/oracle/product/11.2.0/db_1/

Oeldb2 Standby

İşlemci: 1×4 core

Ram: 4gb

Ip: 192.168.200.30

Hostname: oeldb2

Oracle Sid: orcldg

Kurulum Dizini: /u01/app/oracle/product/11.2.0/db_1

İki server üzerinde host dosyalarına ip ve hostname olarak birbirlerini ekliyorum. İki sevrerın firewalları disabled durumda ve selinux permissive modda.

clip_image003

 

Standby server’a bağlanıp oracle kurulumunu yapıcam. İlk ekranda Sadece database software kurulumunu seçiyorum.

clip_image005

clip_image007

Enterprise Edition versiyonunu seçiyorum. Dataguard bu sürümün özelliği

clip_image009

 

Oracle Db’nin kurulucağı dizin

clip_image011

 

clip_image013

Install seçtikten sonra kurulum başlamış oluyor.

Primary Veri tabanında Oracle Database üzerinde yapılacak işlemler

Öncelikle Veri tabanı archive mod da olmalı. Bunun için yapılması gerekenler

Veri tabanı açıksa shutdown immediate; ile kapatılır

Startup mount; mound modda açılır

alter database archivelog; komutuyla database archlog’a alınır

alter database open; komutuyla database açılır

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG=’DG_CONFIG=(orcl,orcldg)’ scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=’SERVICE=orcldg NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg’ scope=both;

alter system set log_archive_dest_1=’LOCATION=/u01/app/oracle/fast_recovery_area VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl’;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

ALTER SYSTEM SET LOG_ARCHIVE_FORMAT=’%t_%s_%r.arc’ SCOPE=SPFILE;

ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=10;

ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;

ALTER SYSTEM SET FAL_SERVER=orcldg;

ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

ALTER SYSTEM SET FAL_CLIENT=orcl;

create pfile=’/u01/orcldginit.ora’ from spfile;

alter database create standby controlfile as ‘/u01/control01.ctl’;

 

İşletim Sistemi Bazında  Secondary  Veri tabanında Yapılacak İşlemler

mkdir –p /u01/app/oracle/admin/orcldg/adump

mkdir –p /u01/app/oracle/fast_recovery_area/orcldg

mkdir –p /u01/app/oracle/oradata/orcldg

İşletim sistemi üzerinde netca komutuyla standby db için listener servisini create ediyorum

clip_image015

 

clip_image017

 

clip_image019

clip_image021

clip_image023

clip_image025

clip_image027

 

clip_image028

Primary server üzerinde /u01/app/oracle/product/11.2.0/db_1/network/admin dizini altında tnsnames.ora dosyasını editleyip secondary olan db’nin listener bilgilerini giriyorum

clip_image029

Bu işlemi standby db üzerinde de yapıyorum. Fakat burada /u01/app/oracle/product/11.2.0/db_1/network/admin dizini altında tnsnames.ora dosyası olmadığından bu dosyayı create ettikten sonra yukarıdaki listener bilgilerini giriyorum

Her iki serverda listener bağlantılarını tnsping ile kontrol ediyorum

clip_image031

clip_image033

 

Primary serverda Oracle tarafında /u01 dizini altında orcldginit.ora isimli bir dosya yaratmıştım. Bu dosyayı standby makinasına /u01/app/oracle/product/11.2.0/db_1/dbs altında kopyalıyorum ve ismini initorcldg.ora olarak değiştiriyorum

clip_image035

Bu dosyayı editleyip orcl olan yerleri orcldg olarak değiştiriyoum ve aşağıdaki parametreleri ekliyorum

*.standby_file_management=’AUTO’

*.db_recovery_file_dest_size=4385144832

*.db_file_name_convert=’/orcl/’,’/orcldg/’

*.log_file_name_convert=’/orcl/’,’/orcldg/’

Son durum aşağıdaki gibi olmalıdır

clip_image037

 

 

Standby veri tabanını nomount olarak açıyorum. Spfile bilgilerimi okuyarak nomount modda db açıldı

clip_image039

 

Şimdi  sıra primary db de ki control file dosyalarını ve password file dosyasını standby db ye kopyalamaya geldi

Öncelikle primary db üzerinde alter database create standby controlfile as ‘/u01/control01.ctl’; komutuyla standby db için controlfile yaratıyorum

clip_image040

 

Create ettiğim controlfile01.ctl dosyasını secondary db ye kopyalıyorum

scp -r /u01/control01.ctl [email protected]:/u01/app/oracle/oradata/orcldg/control01.ctl

scp -r /u01/control01.ctl [email protected]:/u01/app/oracle/fast_recovery_area/orcldg/control02.ctl olarak kopyalıyorum

Password File dosyamızıda kopyalıyalım

scp –r /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl  [email protected]:/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcldg ismiyle kopyalıyorum

Standby server üzerinde aşağıdaki komutu çalıştırıyorum

orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcldg password=sys entries=10 force=y ignorecase=Y

 

Bu işlemleri tamamladıktan sonra nomount olan veri tabanımızı mount modda açıyorum

clip_image042

Standby db üzerinde üç adet 50mb’lık redo log dosyası oluşturcağım

alter database add standby logfile (‘/u01/app/oracle/oradata/orcldg/standby_redo01.log’) SIZE 50M;

alter database add standby logfile (‘/u01/app/oracle/oradata/orcldg/standby_redo02.log’) SIZE 50M;

alter database add standby logfile (‘/u01/app/oracle/oradata/orcldg/standby_redo03.log’) SIZE 50M;

clip_image044

 

Tekrar primary server üzerine bağlanıp rman yedeği alıcağım. Bu yedeği altıktan sonra standby makinasına kopyalayıp restore edicem. Şimdi bu işlemleri sırayla yapıyorum

Primary db

clip_image046

clip_image047

 

Yedek alma işmemim bitti. /u01/backup dizini altındaki Rman yedeğimi standby db ye kopyalıyorum

scp -r /u01/backup/* [email protected]:/u01/backup/

Standby Db Tarafına Geçiyorum

Hatırlarsanız Veri tabanımız mount moddaydı.

Rman target / ile bağlanıp yedeğimizin bulunduğu dizini gösteriyorum

catalog start with ‘/u01/backup/’;

clip_image049

 

Restore database; komutuyla standby veri tabanımızı yedekten geri dönüyorum

clip_image051

 

 

Restore ettikten sonra standby oracle veri tabanına bağlanıp

alter database recover managed standby database disconnect from session; komutuyla arch logların işlenmesini sağlıyorum

Kontrollerimizi yapalım

Dataguard Durumu Status Valid

clip_image053

Archlogların işlendiğini görmek için

clip_image055

Umarım faydalı bir makale olmuştur. Bu makalemizin de sonuna geldik, bir sonraki makalemizde görüşmek üzere.

 

 

İlgili Makaleler

Bir yanıt yazın

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

Başa dön tuşu