Control File, veritabanı için beyin görevi üstlenen olmazsa olmaz bir dosyadır. Eğer controlfile yoksa veya zarar görmüşse, veritabanı mount moda gelmeyecektir.
Control file’ın içerdiği bilgiler şu şekildedir ;
Veritabanının adı ve oluşturulma tarihi
Datafile , Online Redo Log ve Archivelog dosyalarının saklandığı yer.
Log dosyalarının sequence number bilgisi.
Ve en önemlisi güncel SCN(System Change Number) bu dosyada bulunur.
SCN : Veritabanına gelen transactionlar commit’lnediği zaman üretilen bir numaradır. Her bir transaction için unique bir değer üretilir ve bu değer sırayla birer birer artarak ilerler.
Control File’ın Lokasyonu Control File’ın yeri, görseldeki gibi ‘show parameter control_files’ satırı çalıştırılarak öğrenilebilir. Veya görseldeki gibi ‘$ORACLE_HOME/dbs’ klasörü altında bulunan pfile okunarak, Control File’ın yeri öğrenilebilir. Pfile’ın içeriğinde, aşağıdaki gibi birçok parametre bulunur. Control File’ın yerini gösteren parametre ise “ *.control_files “ parametresidir. Control File’ı okumakControl File, binary formatlı bir dosya olduğundan dolayı okunabilir değildir. Control File herhangi bir şekilde okunmaya çalışıldığında aşağıdaki gibi anlamsız karakterler ekrana yazılacaktır.
Control file’ın içeriğini düzgün bir şekilde görebilmek için aşağıdaki satır çalıştırılır. Bu komut; belirtilen dizine, Control File’ın yedeğini, içi okunabilir bir şekilde ‘trace’ dosyası olarak alır.
Switch olan redo loglar Archivelog’lara yazarak arşivlenir. Bu dosyalar recover işleminde son ana kadar dönebilmek için gerekli dosyalardır.
Archive Log
SMON (System Monitor)
Oracle veritabanı istenmedik bir şekilde kapandığında, bu process açılış sırasında online redo log dosyalarını kullanarak, veritabanının tutarlı bir şekilde açılmasını sağlar.
PMON (Process Monitor)Bu process başarısız olan ya da aniden sonlandırılan process’lerin kullandığı sistem kaynaklarını serbest bırakıp sunucuya teslim eder. Ayrıca Oracle instance’ın listener ile iletişim kurmasını sağlar.
RECO (Recoverer)Bu process veritabanında çeşitli sebeplerle yarım kalan işlemlerin tamamlanmasını sağlar.
DBWR (Database Writer)Bir transaction başladığı zaman, ilgili bloklar Database Buffer Cache’te bulunmuyorsa, bu blokları datafile’dan Database Buffer Cache’e taşır. Tam tersi şekilde Datafile’lara yazılması gereken commit’lenmiş dataları, Database Buffer Cache alıp Datafile’lara yazar.
o Database buffer cache de alan dolduğu zaman en eski bloklardan başlanarak datafile lara yazma işlemi başlar. o Checkpoint process i tetiklendiği takdirde. o Bir tablespace read-only moduna getirildiği zaman. o Bir tablespace offline duruma getirildiği zaman. o Herhangi bir tablo drop yada truncate edildiği zaman. LGWR (Log Writer)Bu process’in görevi Redo Log Buffer Cache’deki verileri Online Redo Log Files’lara yazmaktır.
Şu durumlarda çalışır ; o Kullanıcı bir transaction sonucunda Commit gerçekleştirdiğinde o Online Redo log grupları switch ettiği zaman (Log switch) o Her 3 saniyede 1 o Ortalama 1 mb lık Redo log oluştuğu zaman o Redo log buffer alanının 3’te 1’i dolduğu zaman CKPT (Checkpoint)Bu process tetiklendiği zaman Databasse Buffer Cache’de bulunan ‘dirty block’ları, Datafile’lara yazar. Bu process çok sık tetiklenirse sürekli diske yazma işlemi olacağından performans düşer. Çok nadir tetiklenirse , Database Buffer Cache’de çok fazla data birikecek ve herhangi bir crash anında instance’ı kurtarmak uzun zaman alacaktır. Bu yüzden tetikleme aralığı iyi belirlenmelidir.
ARCn (Archiver)Bu process, veritabanı arşiv mod’da olduğunda aktifleşen bir process’tir.Online Redo Log grupları dolduğu zaman, ‘log switch’ sırasında, bu log’ları arşiv olarak kopyalar. Bu process disaster recovery kurulumunda; Disaster ya da standby sunucusuna Redo log dosyalarının gönderilmesi işlemini de sağlar.