spfile v.s. pfile pfile 純文字檔案, client端參數檔案;不能動態修改,可以用普通的編輯器修改,修改之後需要重啟。pfile可能會導致伺服器啟動不一致,因為可以在客戶端啟動。 spfile 二進制檔案,伺服器端參數檔案,有了spfile,oracle可以實現動態參數在線修改,部分參數修改之後無需重啟。但是,因為是二進制檔案,所以不能用普通的編輯器修改,要用alter命令從sql裡面來修改。spfile保證伺服器每次的啟動都是一致的。 spfile 與 pfile 設定檔可以互相轉換,只有 spfile 而沒有 pfile 文件時 create pfile='位置+名字' from spfile; 例如: create pfile='E:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\spfileorcl_bak.ora' from spfile; 同理,只有pfile而沒有spfile時,可以透過: create spfile='位置+名字' from pfile; 檢查系統是以pfile還是spfile啟動 如果 isspecified 裡有 true,表明用 spfile 啟動,如果全為 false,則表明用pfile啟動 select isspecified,count(*) from v$spparameter group by isspecified; 檢查 spfile 的檔案路徑 show parameters spfile 從 spfile 取得 pfile Create pfile='d:pfileSID.ora' from spfile='spfile_location'; 從 pfile 取得 spfile Create spfile='spfile_location' from pfile='Your_pfile_location'; Backup current spfile exp: spfile = spfilewin.ora CREATE pfile='/opt/oracle/product/10.2.0/db_1/dbs/pfile.tmp' FROM spfile='/opt/oracle/product/10.2.0/db_1/dbs/spfilewin.ora' CREATE spfile='/opt/oracle/product/10.2.0/db_1/dbs/spfilewin.ora.20140313' FROM pfile='/opt/oracle/product/10.2.0/db_1/dbs/pfile.tmp' 使用其他 spfile/pfile 啟動資料庫 startup nomount startup pfile='my_pfile' startup spfile='my_spfile'