oracle spfile和pfile檔案

來源:互聯網
上載者:User

標籤:style   color   使用   strong   io   檔案   資料   art   

pfile(Parameter File)從oracle8i開始使用,在oracle9i中也可以用。它以文字檔的形式存在,可以用vi等編輯器對 其中資料庫參數進行修改。檔案格式為initSID.ora。Oracle 9i在安裝時為每個資料庫建立了一個Pfile,預設的名稱為“init+例 程名.ora”。

   Oracle8i使用pfile儲存初始化參數配置,這些參數在執行個體啟動時被讀取,任何修改需要重起執行個體才會生效。

   spfile專用於oracle9i及以後版本,以二進位檔案形式存在,含有資料庫及常式的參數和數值,能夠使用RMAN進行備份,但不能用文本編輯工具開啟,不能用vi編輯器對其中資料庫參數進行修改。檔案格式為spfileSID.ora。

        Oracle9i及以後版本,使用spfile儲存初始化參數配置,支援使用ALTER SYSTEM或ALTER SESSION來動態修改那些可動態修改的參數,任何更改能夠立即生效,您能夠選擇使更改只應用於當前執行個體還是同時應用到spfile。這就使得任何對spfile的修改都能夠在命令列完成,我們能夠完全告別手工修改初始化參數文檔,這就大大減少了人為錯誤的發生。

   除了第一次啟動資料庫需要pfile(然後根據pfile建立spfile),我們能夠不再需要pfile,ORACLE強烈推薦使用spfile,應用其新特性來儲存和維護初始化參數配置。

   spfile改正了pfile管理混亂的問題,在多結點的環境裡,pfile會有多個image,啟動時候需要跟蹤最新的image。這是個煩瑣的過程。 用spfile以後,所有參數改變都寫到spfile裡面(只要定義scope=spfile或both),參數配置有個權威的來源。

pfile和pfile的區別
   
    就Oracle的spfile和pfile的區別主要是spfile的修改是可以線上的,而pfile的修改必須關閉資料庫,到參數檔案所在路徑下通過vi或記事本等文本編輯工具修改。(因為參數檔案裡面的內容太多,編輯起來容易導致錯誤的編輯到其它的參數,從而導致資料庫無法起來,所以在9i以前一般都是要備份pfile後再來做參數的修改,而且修改任何參數都需要停庫,非常的不方便;在9i以後的spfile就可以同通過命令修改指定的參數了,而且有很多參數都不用重啟資料庫,能夠線上生效,這個線上生效的參數會隨著資料庫的版本增高而增加。如果參數修改有問題資料庫起不來了可以在nomount狀態下建立成pfile再修改回來即可。)
修改spfile參數的三種模式:
scope=both       立即並永久改變,(預設模式)
scope=spfile     下次啟動執行新的改變。
scope=memory     立即臨時改變下次啟動新參數失效

spfile 修改的方法:
SQL> alter system set processes = 100 scope=both;                  ----該參數不支援動態修改,必須修改完後重啟資料庫
alter system set processes = 100 scope=both
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
-------------------------------------------------------------------------------------------------------------------------------
SQL> show parameter pga;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------
pga_aggregate_target                 big inte 798M
                                     ger
SQL> alter system set pga_aggregate_target = 500m scope=both;      -----該參數支援動態修改,所以就立即生效了
System altered.
SQL> show parameter pga;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------
pga_aggregate_target                 big inte 500M
                                     ger
SQL>

SQL> alter system set processes = 100 scope=spfile;                ----修改完後重啟資料庫能生效,不信你試試。
System altered.
SQL> alter system set pga_aggregate_target = 700m scope=spfile;    ----當然也可以選擇資料庫下次啟動的時候生效。
System altered.

SQL> alter system set processes = 100 scope=memory;                ----因為該參數不支援動態修改,同樣也就無法實現立即生效,下次啟動失效。
alter system set processes = 100 scope=memory
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

SQL>
SQL> alter system set pga_aggregate_target = 600m scope=memory;    ---因為該參數支援動態修改,當然也就可以實現立即生效,下次啟動失效咯。
System altered.
SQL>

如果使用的是pfile則無法通過命令進行修改,會報ORA-02095或32001錯誤。
SQL> alter system set processes = 100;
alter system set processes = 100
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set processes = 100 scope=spfile;
alter system set processes = 100 scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE specified at startup

SQL> alter system set processes = 100 scope=both;
alter system set processes = 100 scope=both
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set processes = 100 scope=memory;
alter system set processes = 100 scope=memory
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

pfile檔案路徑/admin/pfile下面

通過create pfile=‘e:\initeyglen.ora‘ from spfile;儲存

startup pfile=‘e:\initeyglen.ora‘

create spfile from pfile=‘e:\initeyglen.ora‘;   //新的spfile生效,spfile是二進位檔案,看不到,在系統運行時有

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.