在Oracle9i中建立SPFILE檔案

tonywi888發表於2007-02-28

Oracle9i的一個令人激動的新特性是init.ora檔案的轉移。由於取代了原來的init.ora檔案,你現在可以使用ALTER SYSTEM命令動態地改變所有的引數。

使用Oracle9i,你可以使用一個二進位制伺服器引數檔案(SPFILE)來管理初始化引數。在預設的情況下,一個新的Oracle9i資料庫可以執行在一個SPFILE,所以你必須在SQL啟動時的PFILE中建立SPFILE。可以透過使用CREATE SPFILE語句來建立SPFILE:

Connect system/manager as sysdba;
CREATE SPFILE FROM PFILE;

這一命令在一個非預設路徑($ORACLE_HOME/database)下建立一個SPFILE。然而,你可以在CREATE SPFILE語句指定全部路徑。

CREATE SPFILE='/u01/admin/prod/pfile/file_mydb.ora'
FROM
PFILE=/u01/admin/prod/pfile/initprod.ora';

建立一個SPFILE之後,當與資料庫聯絡時,你可能會遇到一個錯誤。為了解決這一錯誤,可以以SYSDBA方式連線並使用STARTUP命令。

SPFILE可以改變Oracle9i啟動的搜尋路徑。在Oracle9i中,請遵循SPFILE搜尋的這些步驟:

1. 在預設的路徑下搜尋spfile$ORACLE_SID.ora檔案。

2. 查詢spfile.ora。

3. 以名為init$ORACLE_SID.ora搜尋PFILE。

一旦已經有了一個SPFILE,你就可以使用ALTER SYSTEM命令來改變任一初始化引數。然而,有一個相當重要的SCOPE引數你必須理解。

SCOPE引數具有三個值:SPFILE,MEMORY,以及BOTH。現在讓我們看一看每一個值的範例。

Alter system set db_2k_cache_size=100m SCOPE=SPFILE;

如果你想在SPFILE中改變一個引數而不希望影響當前的例子,可以使用ALTER SYSTEM語句中的SCOPE=SPFILE選擇。這對於從下一次啟動中改變啟動非常有好處。

Alter system set db_2k_cache_size=100m SCOPE=MEMORY;

在以上的範例中,SCOPE=MEMORY選擇告訴Oracle9i從例子中改變到下一次資料庫獲得的預設值。

Alter system set db_2k_cache_size=100m SCOPE=BOTH;

當你指定SCOPE=BOTH,Oralce9i立即執行改變,並永久地使用改變,即使在下一次被資料庫使用

[@more@]

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

相關文章