1、pfile 純文字檔案, client端參數檔案;不能動態修改,可以用普通的編輯器修改,修改之後需要重啟。pfile可能會導致伺服器啟動不一致,因為可以在客戶端啟動。
2、spfile 二進制檔案,伺服器端參數檔案,有了spfile,oracle可以實現動態參數在線修改,部分參數修改之後無需重啟。但是,因為是二進制檔案,所以不能用普通的編輯器修改,要用alter命令從sql裡面來修改。spfile保證伺服器每次的啟動都是一致的。
只有spfile而沒有pfile文件時,可以通過:
create pfile='位置+名字' from spfile;
如:
create pfile='E:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\spfileorcl_bak.ora' from spfile;
進行建立 pfile 檔案。
同理,只有pfile而沒有spfile時,可以透過:
create spfile='位置+名字' from pfile;
進行建立 spfile 檔案。pfile和spfile二者可以互相備份。
select isspecified,count(*) from v$spparameter group by isspecified;
如果 isspecified 裡有 true,表明用 spfile 啟動,如果全為 false,則表明用pfile啟動
show parameters spfile
Create pfile='d:pfileSID.ora' from spfile='spfile_location';
Create spfile='spfile_location' from pfile='Your_pfile_location';
startup nomount startup pfile='my_pfile' startup spfile='my_spfile'