Oracle veritabanı spfile olmadan 9i'den sonrada açılabiliyor. pfile, yani initora ile veritabanını başlatmamız mümkün. Fakat spfile'ın getirdiği dinamik parametre değişikliğini yapamıyor olacağız.
Spfile'ın bir başka büyük avantajı ise, RMAN(Oracle'ın backup/restore/recover tool'u) ile birlikte yedeğinin alınabilmesi. RMAN, controlfile ve spfile dosyalarının yedeğini 9i versiyonundan bu yana alabiliyor.
Veritabanımızın spfile ile mi yoksa pfile ile mi çalıştığını ise şu şekilde anlayabiliriz:
select name, value from v$parameter where name like '%spfile%';
Eğer value kısmında spfile'ın yeri gösterilmişse veritabanımız spfile parametre dosyası ile başlatılmış demektir.
Veritabanı spfile ile başlatılmış ise, pfile(initora) text bazlı parametre dosyasından açık veritabanına yeni bir spfile yaratamayız. Öncelikle kapatmamız gerekir. Örnek olarak,
SQL> create spfile from pfile;create spfile from pfile
*ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance
Spfile dosyasının, RMAN ile yedek alınan her veritabanında mutlaka yedeğinin controlfile'lar ile birlikte alınması gerekir. spfile ve pfile'ın kaybolması durumunda oluşturulacak, yedeği alınmamış bir pfile'ın veritabanını ilk yüklenmiş haline döndüreceğini unutmayalım. Sonuç olarak kullanılan veritabanındaki bütün memory, ram ve diğer ayarlarını kaybetmiş olacağız.
Son olarak, RMAN'de spfile'ın yedeğini "backup spfile" yazarak alabiliriz.
İyi çalışmalar,
Ogan