12 Şubat 2008 Salı

SPFILE'da değişiklik yapabilmek.

SPFILE, oracle'ın başlangıç parametrelerinin bulunduğu binary bir dosyadır. Oracle bu teknolojiye 9i versiyonunda geçti. Geçmesinin en büyük sebebi ise INITora dosyasında yapılamayan dinamik parametre değişiklikleri oldu.
Artık "alter system" yazarak spfile ile açılmış veritabanında izin verilen değişiklikleri "scope=both" yazarak hem bulunduğumuz session için hemde sonra ki startuplarda geçerli olmak üzere kaydedebiliyoruz. Bu değişiklikleride istersek initora dosyasında elle yapıp, ardından "create spfile from pfile" diyerek ya da "alter system" komutu ile yapabiliriz.
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

1 yorum:

Unknown dedi ki...

Teşekkürler OganBey,
notlarınız cok faydalı devamını bekliyoruz....

Takip et: @oganozdogan