spfile vs pfile

    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二者可以互相備份。

    檢查系統是以pfile還是spfile啟動

    select isspecified,count(*) from v$spparameter group by isspecified;
    

    如果 isspecified 裡有 true,表明用 spfile 啟動,如果全為 false,則表明用pfile啟動

    檢查 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' 
    

     

    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core