12 Kasım 2012 Pazartesi

                                                     Spfile.ora File


Database başladığı zaman gerekli olan başlangıç paramatreleri iki farklı dosyada tutulabilinir.Bunlar spfile.ora ve init.ora dosyalarıdır. Bu iki dosyanın arasındaki temel fark spfile.ora dosyası binary bir dosyadır.İnit.ora dosyası clear text bir dosyadır.              
Spfile(Server parameter file):Bu dosya instace startup edildiği zaman okunur. (8i den sonra database için gerekli olan initialization parameters init.ora dosyasında saklanmaya başlandı).Ve içeriği binary düzende saklanır.Spfile içerisinde değişiklik şu şekilde yapılabilinir.

 SQL>alter system set control_files='/u01/app/oracle/oradata/control01.ctl' scope=spfile;-->bu komutla kontrol file parametresini değiştirdik.Yapılan değişiklik database restart edildikten sonra etkili olacaktır. Database otomatik olarak spfile dosyasını okur.Fakat istenildiği  database init.ora dosyasını kullanarakta açılabilinir.
SQL>show parameter spfile;--> bu komut spfile kullanılıyorsa path i yoksa null değerini döndürür.

1)Creating Spfile from Pfile:     
   SQL> create spfile from pfile;
   SQL> create spfile='spfilepath'  from pfile='pfilepath';--> spfile ve pfile için path belirtilebilir.

2)Creating Pfile from Spfile :
   SQL> create pfile from spfile;
   SQL> create pfile='spfilepath'  from spfile='pfilepath'


3)Setting Unsetting spfile parameter: 
   alter system set control_files='parameter value'  scope=memory | spfile | both;
   alter system reset control_files='parameter value'  scope=memory | spfile | both;

scope=spfile
    1)bu değişiklikler database restart işleminden sonra aktif olacaktır.
    2)dinamik parametreler için değerler bir sonraki startup uygulanır.
    3)statik parametrelerde aynı dinamik parametreler gibi bir sonraki startup da uygulanır.

scope=memory
    1)bu değişiklikler memory uygulanır ve database restart edildikten sonra bu değişiklikler kaybolur.
    2)dinamik parametreler için anında uygulanır.Kalıcı değildir çünkü spfile update edilmez.
    3)statik parametreler için uygulanmaz.

scope=both
     1)değişiklikler hem memory hemde spfile uygulanır.
     2)dinamik parametreler için hemen uygulanır ve kalıcı olur.
     3)statik parametreler için uygulanmaz.


NOT:Parametrelerin static(değişiklik database kapalı iken yapılan parametreler ) mi dinamik(değişiklik database açık iken yapılan parametreler) olduğunu şu şekilde anlayabiliriz.

   v$parameter view inde bulunan ISSYS_MODIFIABLE kolonuna bakarak parametrenin statik veya dinamik olduğuna karar verebiliriz.

SQL>select name, ISSYS_MODIFIABLE from v$parameter;
ISSYS_MODIFIABLE 3 farklı değerde olabililir.Bu değere bakarak dinamik veya statik parametre olduğuna karar veririz.

immediate:Database açıkken parametre değeri değiştirilebilinir.(dinamik parameter)
deferred: Database açıkken  parametre değeri değiştirilebilinir.Fakat değişiklikler database  restart dan sonra uygulanır.(dinamik parametre)
false:Database kapalı iken pparametre değeri değiştirilebilinir.(statik parametre)
  


         

Hiç yorum yok: