Oracle 11g參數檔案之伺服器參數檔案(spfile)與執行個體啟動的關係

來源:互聯網
上載者:User

Oracle 11g參數檔案之伺服器參數檔案(spfile)與執行個體啟動的關係

在資料庫啟動時需要讀取參數檔案來分配記憶體地區並定位控制檔案的位置,Oracle資料庫中的初始化參數傳統上是儲存在一個文本初始化參數檔案中的.為了更好地管理,可以選擇使用一個二進位的伺服器參數檔案來管理初始化參數對它的修改在資料庫重啟後仍然生效.下面來介紹如何使用這種方法來管理初始化參數.
 
什麼是伺服器參數檔案
 伺服器參數檔案可以被認為是一個初始化參數檔案庫它被儲存在運行oracle資料庫伺服器的系統中.它被設計為服務端初始化參數檔案.儲存在伺服器參數檔案中的初始化參數是永久生效的.當執行個體運行時對參數的任何改變在資料庫重啟之後是仍然有效.這消除了為了使alter system語句的改變永久生效而要手工修改初始化參數的需要.它也提供了對資料庫伺服器自動調整的基礎.
 
一個伺服器參數檔案是通過使用create spfile語句從文本初始化參數檔案來初始化建立.(也可以通過DBCA來直接建立).伺服器參數檔案是一個二進位檔案不能使用文字編輯器來修改.oracle資料庫提供了其它的介面來查看和修改伺服器參數檔案中的參數.
 
注意:雖然你能使用一個文字編輯器來開啟一個二進位伺服器參數檔案但不能手工修改它.如果修改會損壞檔案.你將不能重啟執行個體,如果執行個體正在運行那麼它會終止運行.

當執行沒有pfile子句的startup命令,oracle執行個體會在作業系統特定的預設位置來搜尋一個伺服器參數檔案並從檔案中讀取初始化參數.如果沒有找到伺服器參數檔案,執行個體將搜尋一個文本初始化參數.如果伺服器參數檔案存在但你想使用一個文本初始化參數來覆蓋那麼在執行startup命令時指定pfile子句.

--------------------------------------分割線 --------------------------------------

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

--------------------------------------分割線 --------------------------------------

 下面來舉例說明:
 1.執行不帶pfile子句的startup命令,從下面的輸出可以看出啟動時自動搜尋了伺服器參數檔案spfilejycs.ora
SQL> startup
ORACLE instance started.

Total System Global Area  630501376 bytes
Fixed Size                  2215984 bytes
Variable Size            385880016 bytes
Database Buffers          234881024 bytes
Redo Buffers                7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                              string      /u01/app/oracle/11.2.0/db/dbs/
                                                spfilejycs.ora

 
2.刪除伺服器參數檔案spfilejycs.ora,再執行執行不帶pfile子句的startup命令,從下面的輸出可以看出在啟動時
 在搜尋不到伺服器參數檔案時就會搜尋文本初始化參數檔案initjycs.ora
[oracle@jyrac1 dbs]$ mv spfilejycs.ora spfilejycs.ora.bak

SQL> startup
ORACLE instance started.

Total System Global Area  630501376 bytes
Fixed Size                  2215984 bytes
Variable Size            385880016 bytes
Database Buffers          234881024 bytes
Redo Buffers                7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile 

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                              string
 
3.刪除文本初始化參數檔案initjycs.ora,再執行執行不帶pfile子句的startup命令,從下面的輸出可以看出在啟動時
 在搜尋不到伺服器參數檔案時就會搜尋文本初始化參數檔案initjycs.ora,但是因為我們刪除了文本初始化參數檔案
 initjycs.ora所以提示找不到這個檔案
[oracle@jyrac1 dbs]$ mv initjycs.ora initjycs.ora.bak

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/11.2.0/db/dbs/initjycs.ora'
 
4.執行帶pfile子句的startup命令,將使用文本初始化參數檔案來替代伺服器參數檔案,可以看到spfile參數值為空白說明是使用文本初始化參數來啟動的執行個體
SQL> startup pfile='/u01/app/oracle/11.2.0/db/dbs/initjycs.ora'
ORACLE instance started.

Total System Global Area  630501376 bytes
Fixed Size                  2215984 bytes
Variable Size            385880016 bytes
Database Buffers          234881024 bytes
Redo Buffers                7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                              string

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 3
  • 4
  • 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.