Oracle Active Data Guard

Merhaba Arkadaşlar,

Bu yazımda sizlere Oracle Data Guard teknolojisine 11g versiyonu ile yeni katılan Active Data Guard özelliğini anlatacağım. Bu yazımı okumadan önce Data Guard konfigurasyonu ve mimarisiyle ilgili yazımı okumanızı tavsiye ederim.

Dataguard2

 

Data Guard ilk yazımda da bahsettiğim gibi Oracle 7 de Manuel Standby oluşturmaya imkan tanıyarak ilgili teknoloji hayatımıza girdi. Daha sonraki sürümlerde bir sürü özellikler eklenerek günümüze kadar geldi. Oracle 11g sürümünde ise bu özelliklerin dışında çok ilgi çeken bir özellik daha geldi bu özellik işte yazıma konu olan Active Standby yada Active Data Guard özelliğidir.

Peki nedir bu Active Dataguard özelliği bize neler sunmaktadır ? Active Data Guard, Standby veritabanında Primary veritabanından gelen Redo verileri gerçek zamanlı apply edilirken Standby veritabanının Read Only (Salt okunur) modda kullanıcılara erişim imkanı sağlamasıdır. Buda standby database ini Read Only modda kullanabileceğimiz anlamına gelir.

Bu özelliği kullanarak çok yoğun kullanılan Production sistemlerde Rapor gibi sisteme çoğu zaman büyük yükler getiren işleri Standby database ine yönlendirebilir böylece Production sistemin yükünü azaltabiliriz. Ayrıca yine Production veritabanını rahatlatmak amacıyla gerekli backup larıda burdan alarak Production (Canlı Veritabanımız) ortamını rahatlatabilir daha performanslı çalışmasını sağlayabiliriz.

Peki bu güzel özellik ücretsiz mi ? Tabiki hayır 🙂 Oracle ın her güzel özelliği ayrıca lisanslandığı gibi Active Data Guard özelliği de Oracle Enterprise Edition ile ayrıca lisanslanıyor. Her ne kadar Cepleri yaksada çok yoğun kullanılan sistemlerde bu özellik performans açısından mutlaka kullanılmalıdır.

Şimdi bu özelliğin nasıl kullanıldığını önceki yazımda kurduğum Standby veritabanım üzerinde bir örnekle göstereceğim. Active Data Guard özelliğini aşağıdaki gibi maddeler halinde anlattığım gibi aktifleştirebiliriz.

1. Standby veritabanın daki Redo apply işlemi durdurulur. Redo Apply işlemini MRP process i yapıyordu kısaca bu process i durduruyoruz. Durdurmadan önce bu process aşağıdaki gibi çalışıyordu.

SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
TESTDBFKM
SQL> select process, client_process,thread#,sequence#,status from v$managed_standby;
PROCESS CLIENT_P THREAD# SEQUENCE# STATUS
--------- -------- ---------- ---------- ------------
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
MRP0 N/A 1 8 WAIT_FOR_LOG
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS ARCH 0 0 IDLE
RFS LGWR 1 9 IDLE
10 rows selected.
SQL>

Bu process i aşağıdaki kod ile durduruyoruz. Böylece Redo Apply işlemi durdurulmuş oluyor.

SQL> alter database recover managed standby database cancel;
Database altered.
SQL>

Tekrar yukardaki sorguyu çalıştırdığımda aşağıda göründüğü gibi MRP (Managed Recovery Process) process i artık çalışmıyor.

SQL> select process, client_process,thread#,sequence#,status from v$managed_standby;
PROCESS CLIENT_P THREAD# SEQUENCE# STATUS
--------- -------- ---------- ---------- ------------
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
ARCH ARCH 0 0 CONNECTED
RFS UNKNOWN 0 0 IDLE
RFS UNKNOWN 0 0 IDLE
RFS ARCH 0 0 IDLE
RFS LGWR 1 9 IDLE
9 rows selected.
SQL>

2. Aşağıdaki gibi Mount modda olan Standby database ini Read Only modda açıyoruz.

SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
TESTDBFKM
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
SQL> alter database open read only;
Database altered.
SQL>

3. Read Only modda başlatılan Standby database inde Redo Apply işlemi aşağıdaki gibi tekrar başlatılır.

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

Redo apply işlemi başlatıldığı zaman veritabanımızın açılma modunu sorguluyoruz. Başta sorguladığımızda 2.adımda ki gibi mount moddaydı database imiz. Şimdi sorguladığımızda READ ONLY WITH APPLY çıkması gerekmektedir.

SQL> select open_mode from v$database;
OPEN_MODE
 --------------------
 READ ONLY WITH APPLY
SQL>

Artık Standby veritabanımızda Productiondaki herhangi bir tabloyu kısa bir süre sonra okuyabiliriz. Aşağıda bunun için küçük bir örnek yaptım. Production Veritabanımda Deneme adında bir tablo oluşturup buraya kayıt ekleyip veriyi commitledikten sonra Standby veritabanımda ilgili tabloyu okuyorum.

Primary Veritabanı

SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
TESTDB
SQL> create table deneme(name varchar2(30));
Table created.
SQL> insert into deneme values('Mehmet Salih Deveci');
1 row created.
SQL> r
 1* insert into deneme values('Mehmet Salih Deveci')
1 row created.
SQL> r
 1* insert into deneme values('Mehmet Salih Deveci')
1 row created.
SQL> r
 1* insert into deneme values('Mehmet Salih Deveci')
1 row created.
SQL> commit;
Commit complete.
SQL>

Şimdi Standby tarafına gidip ordan ilgili tabloyu sorguluyorum ve aşağıdaki gibi Production da oluşturulup kayıt eklenen tablo Standby a geliyor ve ben o tabloyu sorgulayabiliyorum.

Standby Veritabanı

SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
TESTDBFKM
SQL> select * from deneme;
NAME
------------------------------
Mehmet Salih Deveci
Mehmet Salih Deveci
Mehmet Salih Deveci
Mehmet Salih Deveci
SQL>

Active Data guard özelliğini örnek ile gösterdikten sonra bu yazımın sonuna gelmiş bulunmaktayım. Bir sonraki yazıda görüşmek dileğiyle Esen kalın…

 

Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.

– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com.-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *