Control File Yönetimi – 1

Selamlar,

bu makalede control file’ın yönetiminden bahsedicem.

Ne işe yarar ?

Control file Oracle database için olmazsa olmaz binary formatlı bir fiziksel dosyadır. İçerisinde database ile ilgili önemli bilgileri barındırır. Örneğin; bütün fiziksel dosyaların path’i, backup metadatası, database’in adı, checkpoint bilgisi, database’in oluşturulma tarihi vb. Default’ta database oluşturulduğunda 2 adet control file yaratılır ve bu control file’lar birbirinin kopyası şeklindedir.

Nerede ?

Database’deki control file’ların lokasyonunu öğrenmek için “control_files” parametresini

SQL> show parameter control_files
NAME                                    TYPE       VALUE
------------------------------------ ----------- ------------------------------
control_files                          string     +DATA/orcl/controlfile/current
                                                  .262.807119395, +FRA/orcl/cont
                                                  rolfile/current.256.807119395

ya da “v$controlfile” view’ini kullanabiliriz.

SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
+DATA/orcl/controlfile/current.262.807119395
+FRA/orcl/controlfile/current.256.807119395


Benim sistemimde +ASM kurulu olduğu için default’ta 2 adet control file var ve bunlardan biri +DATA diğeri +FRA alanında.

Ne zaman kullanılır ?

Control file database’de her an kullanılır. Temelde control file’ın görevi database’de tutarlılığı sağlamaktır diyebiliriz. Fiziksel tüm dosyaların yerlerini barındırmasının dışında, control file’ın header kısmında en güncel SCN (system change number) yer almaktadır. Database checkpoint attığı zaman datafile’lar ve control file’ların header kısmına en güncel SCN yazılır. Eğer bu header alanlarındaki SCN’ler birbiri ile uyuşmazsa database’de bir tutarsızlık vardır denebilir.

İçi nasıl okunur ?

Control file binary formatlı olduğu için anlamlı bir şekilde içindekileri görüntülemek istersek trace dosyasına çevirmemiz gerekmektedir. Aşağıdaki komut control file’ı içi okunabilir bir yapıya çevirir.

SQL> alter database backup controlfile to trace as '/u01/app/controlfile.trc';
     Database altered.

Trace dosyası başarılı bir şekilde belirttiğim dizine yaratıldı. Şimdi herhangi bir editör ile içini açıp okuyabilirim.

-bash-4.1$ gedit /u01/app/controlfile.trc

ctl01

Görüldüğü gibi datafile’ların lokasyonu, redo log’ların yerleri, size’ları gibi bilgiler var.

Kaybedilirse n’olur ?

Control file database için olmazsa olmaz bir dosya demiştik. Yani database’de herhangi bir control file bile kaybolsa database down olur!

Backup’ı nasıl alınır ?

1. sqlplus üzerinden backup almak
Yukarıda içini okumak için backup’ını almıştık aslında.

SQL> alter database backup controlfile to trace as '/u01/app/controlfile.trc';
     Database altered.

ya da

SQL> alter database backup controlfile to '/u01/control.bak';

2. rman üzerinden backup almak

RMAN> backup current controlfile format '/u01/controlfile.bak';

Kolay gelsin.

Control File Yönetimi – 1” üzerine bir düşünce

  1. Geri bildirim: Control File Yönetimi – 2 | ibrisim

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s