Oradebug ControlFile

Control File, Oracle veritabanının fiziksel yapısını, veri dosyaları SCN bilgilerini, backup dosyalarının yerleri gibi birçok önemli bilgiyi barındıran binary bir dosyadır. Control file dosyasında ne tür kayıtların tutulduğuna dair bilgileri V$CONTROLFILE_RECORD_SECTION view’ını görüntüleyerek daha ayrıntılı olarak görebiliriz.
1.png
Yukarıda da açıkladığım gibi eğer data file SCN bilgilerini, log sequence numarasını , alınmış backuplar ile ilgili kayıtları görmek istersek bunu iki şekilde gerçekleştirebiliriz. İlk yöntem gizli yapılar olan x$ tablolarını görüntüleyerek veya control_file dosyasını “dump” işlemi ile trace file dosyasına dönüştürerek öğrenebiliriz. İkinci yöntemi uygulayacak olursak sırasıyla aşağıdaki komutları çalıştırmamız gerekiyor.;
2.png
3
4.png
Öncelikle bulunmuş olduğum session’da process id’yi set etmem gerekiyor. Daha sonra ise trace file dosyasının yerini öğreniyorum. Son olarak da binary control file’ımızı dump işlemi ile bir metin dosyasına aktarmış oluyoruz. 3 değeri ise dump işleminin neleri kapsayacağına dair verilen bir level değeri. Aşağıdaki tablo da levellerin açıklamasını görebiliriz.
5.png
Şimdi trace dosyamızı görüntüleyelim;
6.png
7.png
Görüldüğü üzere DATABASE ENTRY kısmında veritabanımızın adını, son alınan checkpoint zamanı, data file sayısı gibi bilgiler yer alıyor.
8.png
LOG FILE RECORDS bölümünde var olan redo log grupların lokasyon bilgileri, low scn numaraları ve log sequence bilgileri yer alıyor. Sequence numarasının doğruluğunu kontrol edelim.
9.png
İlk olarak V$LOG view’in dan log grubu 2’nin sequence numarasını görüntüledğimizde 9 olduğunu görüyoruz. Şimdi control_file metin dosyamıza baktığımızda da bu değerin hexadecimal karşılığı olan “0x00000008” yer alıyor.
10.png
Data File Records bölümünde ise veri dosyalarımız ile ilgili bilgiler bulunuyor. Burada checkpoint işleminden bahsetmekte yarar var. Checkpoint işlemini özetlemek gerekirse, instance’ın crash olması durumunda veritabanının hızlı bir şekilde recover edilmesi için belli aralıklarla checkpoint ataması yapılır. Bu atamadan sonra buffer cache’deki dirty blokların diske yazımı başlar, control file’ın DATA FILE RECORDS kısmında ve data file’ların başlığında veri dosyalarının SCN bilgileri güncellenir. Hexadecimal bir değer olan “0039d877” değerin ondalık karşılığı 3790967’dir. Şimdi control file dosyasını baz alan ve data file SCN bilgilerini barındıran v$DATAFILE view’ına bakacak olursak aynı SCN değerini görürüz.
11.png

Yorum bırakın