ora9i的init.ora問題

paulyibinyi發表於2008-01-03
我剛剛安裝了Oracle9i。當我改變了init.ora的設定後,好像並沒有什麼效果,您可以告訴我發生了什麼事情嗎?
答案在於一個新的特性--Stored Parameter File(SPFILE,儲存引數檔案)。

在Oracle8i和以前的版本中,啟動資料庫後,該資料庫的init.ora檔案必須在客戶機上。如果希望遠端啟動一個資料庫例項,必須得有一個init.ora檔案的本地複製,這是因為執行在客戶機上的Oracle 資料庫後端程式會處理init.ora檔案的內容。這使得在網路中重新啟動一個資料庫多少有點困難。

在Oracle9i中,SPFILE檔案以二進位制格式儲存於伺服器自身。遠端啟動資料庫不再需要建立本地複製(儘管如果願意的話,你仍然可以那麼做)。這也意味著,使用ALTER SYSTEM命令做出的改變當伺服器重啟時可以仍然有效,所以不再對init.ora檔案進行更新。

SPFILE儲存於伺服器中由初始化引數spfile指定的位置上,如清單1所示。

SPFILE由新命令CREATE SPFILE建立,其語法是:
CREATE SPFILE = 'filename'
FROM PFILE ='pfilename';

可以使用CREATE PFILE命令來建立這個兩進位制格式引數檔案的文字版本:
CREATE PFILE = 'pfilename'
FROM SPFILE = 'filename';

這一命令總是在伺服器上(而不是在執行這一命令的客戶機上)建立文字格式的引數檔案。可以利用這一命令輸出所有的引數、修改它們,以及利用引數檔案(PFILE)建立新的SPFILE檔案。

如果希望使用一個特定的PFILE檔案,可以在starup命令中使用pfile=選項。

SQL> startup pfile=filename

如果想改變系統引數,可以使用ALTER SYSTEM命令的擴充套件語法格式來設定引數:
ALTER SYSTEM set parameter = value
SCOPE = MEMORY | SPFILE | BOTH;

SCOPE子句使你可以設定一個系統引數:

MEMORY:只對當前的資料庫產生影響,重新啟動後將不再有效。
SPFILE:這一選項不會改變當前的引數設定,但它會修改SPFILE檔案,所以重新啟動後,引數將會生效。
BOTH:它會改變當前設定並更新SPFILE。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-85540/,如需轉載,請註明出處,否則將追究法律責任。

相關文章