Home / MAKALELER / Veri Tabanı / Oracle Veritabanı Mimarisi -2

Oracle Veritabanı Mimarisi -2

Merhaba,

Bu yazımda Oracle veritabanı mimarisini anlatmaya devam edeceğim. Aşağıdaki şekli beyinde kalıcı olması bakımından tekrardan ekliyorum.

orari1

 

Database Buffer Cache: Veritabanında kullanıcı yada uygulama tarafından bir transaction başlatıldığı zaman o transaction a ait dataların tutulduğu alandır. Örneğin: Personel tablosuna bir kayıt insert, update yada delete yapıldığı zaman ilgili değişiklik direk olarak datafile lara yazılmaz bir süre buffer cache de kirli data adıyla tutulur. Veritabanında çok sık kullanılan ve en güncel olan datalar burada tutulur ve tüm kullanıcılar tarafından bu alan ortak olarak kullanılır. Buffer cache de tutulan veriler bir süre sonra data file lara yazılır yerine yeni transactionlara ait veriler gelir. Buffer cache manuel olarak aşağıdaki sorgu ile boşaltılır.

alter system flush buffer_cache;

Ancak yukardaki komutun canlı sistemlerde ihtiyaç duyulmadıkça yapılmaması gerekiyor çünkü buffer cache boşaltıldığı zaman çekilen tüm sorgular yada transactionlar fiziksel diskten I/O yapacaktır buda sorgularımızın yavaşlaması anlamına gelir.

Redo Log Buffer: Oracle veritabanı her transaction ın kaydını tutar. Kullanıcı yada uygulama bir transaction başlattığı zaman bu transaction ın kaydı ilk olarak Redo log buffer a yazılır. Belirli aralıklarla Redo log buffer alanındaki kayıtlar LGWR processi tarafından Online Redo log dosyalarına yazılır. Transactionların kayıtlarını tutmak, instance crash olduğu zaman recovery için gereklidir.

Online Redo log Files: Veritabanındaki tüm transactionların kaydedildiği işletim sistemi üzerindeki fiziksel dosyalardır. Bu dosyalar veritabanındaki tüm değişiklikleri tutar ve yukarda bahsettiğim gibi Redo log buffer alanında biriken kayıtlar belirli aralıklarla buraya kaydedilir. Eğer database Arşiv modundaysa buradaki dosyalarda belirli aralıklarla switch olarak Arşivlenir. Veritabanının online modda backup ının alınabilmesi için mutlaka arşiv modunda olması gerekmektedir. Veritabanına bir zarar geldiği takdirde backup dan dönülmek istendiğinde veritabanı o backup processi tamamlanana kadar olan arşiv dosyalarınıda isteyecektir bunları apply etmeden tutarlı bir şekilde veritabanını açamazsınız ilgili arşivler apply edildikten sonra ki kalan zaman aralığındaysa online redo log lar apply edilerek en son ana kadar ki veriler kurtarılabilir.

orari2

 

Veritabanı üzerinde Online Redo log dosyalarının tutulduğu mantıksal Redo log grupları vardır ve her group içerisinde genelde birbirinin aynısı 2 dosya bulunur bu yedeklilik ve tutarlılık için gereklidir bir dosya bozulduğu zaman diğerinden devam edilebilir. Siz bu member değerini 2 den fazla da yapabilirsiniz. Redo log buffer daki bilgiler Online Redo log dosyalarına yazılırken her iki member a da yada 2 den fazla ise tüm member lara aynı anda yazar. Online Redo log gruplarından herhangi birisi dolduğu takdirde yeni Redo log lar artık bir diğer gruba yazılmaya başlar bu işleme log switch denir.

Veritabanı üzerindeki online redo log ları aşağıdaki sorguyla görebilirsiniz.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 3 16:54:27 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> set lines 600

SQL> select * from v$log;

 

GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME

———- ———- ———- ———- ———- ———- — —————- ————- ——— ———— ———

1          1      18622   52428800        512          1 YES ACTIVE                12514027 03-JAN-13     12514404 03-OCT-13

2          1      18623   52428800        512          1 NO  CURRENT               12514404 03- JAN -13   2.8147E+14

3          1      18621   52428800        512          1 YES INACTIVE              12513648 03- JAN -13     12514027 03-OCT-13

Archive log: Arşiv log modunda olan oracle veritabanında yukarda da bahsettiğim gibi switch olan online redo log dosyaları arşivlenmek üzere Archive log dosyalarına kopyalanır. Bu dosyalar backup dan dönüldüğü zaman instance sın tutarlı bir şekilde recovery edilmesi için ve istenilen zamana dönülmesi için gerekli dosyalardır. Sistem üzerindeki Archive log dosyalarına aşağıdaki sorguyla bakılır.

bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 3 17:12:20 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> set lines 900

SQL> select NAME,DEST_ID,THREAD#,SEQUENCE#,CREATOR,APPLIED from v$archived_log where rownum<3;

 

NAME     DEST_ID    THREAD#  SEQUENCE# CREATOR APPLIED

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— ———- ———- ———- ——- ———

/oracle/ARCH/1_15266_821030721.arc   1          1      15266 ARCH    NO

/oracle/ARCH/1_15267_821030721.arc   1          1      15267 ARCH    NO

 

SQL>

Bir yazımın daha sonuna gelmiş bulunmaktayım bir sonraki yazımda Oracle Veritabanı mimarisini anlatmaya devam edeceğim şimdilik Esen Kalın.

Mehmet Salih Deveci

Oracle Veritabanı Yöneticisi

About Mehmet Salih Deveci

Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği bölümünden 2011 yılında mezun oldu. C#, ASP.NET ve Oracle, SQL Server Veritabanları Teknolojileri Alanlarında Çalışmalarını Sürdürmektedir. Şuan Türk Telekom A.Ş de Veritabanı Yöneticisi olarak Kariyerini Sürdürmektedir.

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın