Oracle’ın çalışabilmek için gerek duyduğu temel bazı öğeleri, parametre dosyalarında tutarız. Oracle
ilk başladığında parametre dosyalarını okur ve sisteme dair birçok ayara buradan ulaşır. Aynı anda
çalışabilecek işlem adedi (.processes); arşiv dosyalarının lokasyonunun neresi olacağı (.log_archive_dest); kaç dakikada bir arşive çıkılacağı (.archive_lag_target); control file’ların lokasyonları (.control_files); backgroud dump, user dump gibi klasörlerin nerelerde
konumlandırıldığı (*.background_dump_dest, *.user_dump_dest) vb. bilgiler parametre
dosyaları içinde saklanır. Bu değişkenlere parametre denmektedir ve hep birlikte parametre dosyasını oluştururlar.
Ancak parametre dosyası okunup gerekli bilgiler alındıktan sonra, control file’lara
erişilip, Oracle datafile’lar (veritabanı dosyaları) kullanılmaya başlanır.
Oracle’da iki çeşit parametre dosyası vardır; bunlardan birisi bizim üzerinde değişiklik yapabileceğimiz metin tabanlı olan PFILE ( Parameter File )’dir. Diğeri ise binary biçimde olduğu için üzerinde değişiklik yapamayacağımız SPFILE ( Server Parameter File )’dır.
SQL> show parameter control_files;
Control file nedir ?
- Control file database için olmaz ise olmaz binary formatlı fiziksel bir dosyadır.
- Fiziksel dosyaların pathi
- Database adı
- Database oluşturulma tarihi
- Datafile isim ve path bilgileri
- Redolog isim ve path bilgileri
- Sequence güncel numarası vb bilgileri barındırır.
Binary formatta olduğu için eğer içini okumak istersek control file’ın aşağıdaki gibi çevirebiliriz.
alter database backup controlfile to trace as '/u01/app/controlfile.trc';
alter database backup controlfile to trace as '/tmp/create_cfile.sql'
Aldığımız control file yedeğini aşağıdaki gibi görebiliriz.
RMAN> LIST BACKUP OF CONTROLFILE;
Not: control file kaybolursa database down olur.
Parametre file nedir ? (pfile ve spfile)
- Parametre dosyaları oracle instance yani oracle veritabanı açılırken ortaya çıkar.
- Bu dosyanın içini statik ve dinamik olarak sonradan değiştirebiliriz.
- PFILE ve SPFILE olmak üzere 2 adet parametre dosyası mevcuttur.
- Bulundugu dizin /orahome/app/oracle/product/12.1.0/dbs yani oracle home altında dbs altındadır.
SPFILE
- Parametrelerin saklandığı binary formatlı .ora uzantılı fiziksel bir dosyadır.
- SQL> show parameter spfile; bu komut ile bulundugu dizini bulabiliriz.
- Bu dosya veritabanı açılırken nomount adımında kullanılır.
- Spfile yada pfile olmadan instance başlatılamaz.Çünkü veritabanının beyni olan control file’ın adresi burada tanımlanır.
- Yukarıdaki resimde işaretli olan parametreler önemli parametrelerdir.Bu parametleri database okumadan ayağa kalkmaz.
SPFILE dosyası önemli bunu anladık alınan full yedekle birlikte sürekli olarak alınması için
AUTOBACKUP ON olmalıdır.
Ayrıca veritabanı başladığı zaman mutlaka okuması gereken parametreleri aşağıdaki gibi sorgulayabiliriz.
select name from v$parameter where isbasic='TRUE';
PFILE
- İçerik olarak spfile ile aynıdır.
- Normal karakter formatında bulunur.
- PFILE veritabanında olmak zorunda değildir.Sadece SPFILE ilede çalışabilir.
- İlk veritabanı kuruluduğunda PFILE oluşmaz sadece SPFILE dosyası oluşur
- PFILE ‘da parametre değişikliği daha rahat yapıldıgı için tercih sebebidir.Yani SPFILE’dan PFILE oluşturulur.Aşağıdaki gibi oluşturulabilir.
SQL> create pfile from spfile;
- Peki diyelimki 2 side var ozaman database açılırken spfile bakarak açılır.
- SPFLIE’da parametreyi SQL Plus ile değiştirebiliriz.
SQL> alter system set log_archive_max_processes=20 scope=BOTH;
- Scope parametresine both ekleyerek değişikliği hemen yaparız.Çünkü dinamik bir parametre
- Scope parametresine spfile ekleyerek değişikliği işlemesi için veritabanını restart etmek gerekli.Çünkü statik bir parametre.
SQL> alter system set processes=1000 scope=spfile;