[oracle]初始化參數文件spfile、pfile及修改參數的兩種方式

oracle數據庫在啓動過程中要讀取初始化參數文件以確定一系列參數,例如數據庫名pfile稱、SGA大小、最大連接數等等,pfile就是這樣的一個初始化參數文件,文本文件,可以直接打開編輯,數據庫啓動時到默認目錄下查找此文件,或者在命令行指定pfile文件:

SQL>startup  pfile='H:\oracle\product\10.2.0\db_1\database\INITorcl.ORA

pflie文件默認命名方式就是init<sid>.ora

但是從Oracle9i開始,spfile被引入,s代表server,是服務器端的二進制文件,無法直接打開修改。Oracle首選spfile<sid>.ora文件作爲啓動參數文件;如果該文件不存在,選擇spfile.ora;如果前兩者都不存在,才選擇init<sid>.ora文件;如果以上三個文件都不存在,則無法啓動實例。當然直接指定pfile的啓動方式對新版本仍然有效。

spflie是不能直接打開修改,那麼如何修改?有兩種方式:

1. SQL> alter  system set xx=×× scope=spfile/both --意思是修改參數並把修改寫入spfile中,如果scope的值是both則表示同時修改當前實例的參數並把修改寫入spflie重啓實例後修改生效,注意如果是靜態參數,只能使用spfile選項,所謂靜態參數是指無法在當前實例中改變的參數,這種參數只能通過將修改寫入spfile,重啓實例後才能生效。需要注意的一個問題是,省去scope選項時,默認是both,在使用spfile啓動實例時;如果使用pfile啓動實例,那麼默認是memory,也就是說修改不會保存到參數文件中,僅對當前實例有效,參考自http://www.itpub.net/thread-1099216-1-1.html 7th-floor。

2. 通過pfile和spflie的互生成修改spfile。

    ①先將spfile生成pfile:SQL>create pfile from spfile; --只要spfile存在於默認目錄下,在數據庫的任何階段都可以執行(包括關閉、nomount、mount和open)。執行後在默認目錄下生成init<sid>.ora文件,即所說的pfile,windows下oracle10g默認目錄是ORACLE_HOME\database。

   ②修改pfile文件中的參數。若出現在無法打開的情況,可以複製到桌面修改之後替換回去即可。

   ③用修改後的pfile文件生成spfile文件:SQL>create spfile from pfile;  -- 注意這一步只能在實例關閉階段執行。

補充一句,在pfile和spfile互生成中,可以不使用默認文件而指定文件,如:

SQL>create spfile from pfile='H:\oracle\product\10.2.0\your_pfile';

 

--EOF--

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章