Oracle引數檔案基礎
在Oracle中,引數檔案是一類較為重要的檔案。在Oracle資料庫啟動時,是通過讀取引數檔案來構建例項的。引數檔案指定了資料庫和例項的名字,記憶體元件的大小和構成,控制檔案的位置,強制和非強制程式的相關設定等資訊。例項啟動後資料庫將處於nomount狀態。
一、引數檔案的型別
1、靜態引數檔案(pfile):靜態引數檔案也稱客戶端初始化檔案,它是文字檔案,通過客戶端工具sqlplus等來讀取並啟動例項。
2、連結引數檔案(ifile):連結引數檔案時在pfile中指定的引數檔案,這裡可以理解為一種引數檔案的通用模板。下面是一個在pfile中使用ifile的例子:
3、動態引數檔案(spfile):從9i開始,Oracle引入了一種新的引數檔案型別---動態引數檔案。動態引數檔案也稱伺服器端引數檔案,它是二進位制檔案,只能通過alter system命令來修改。修改spfile中的引數的語句如下所示:
alter system set 引數名 = 引數值 scope = memory | spfile | both
說明一下scope各取值的含義:
memory:修改記憶體中的引數值,並立即生效,資料庫重啟後修改失效。
spfile:修改引數檔案中的引數值,無法立即生效,資料庫重啟後方可生效。
both:在memory和spfile中都生效。
二、如何還原引數
還原引數時必須指定sid,根據scope的取值不同,sid應取不同的值。還原引數的語句為:alter system reset 引數名 scope = spfile | memory sid='sid' | '*'
1、當scope=spflie時,sid='*',否則將會報錯。
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/u02/arch_log
log_archive_dest_10 string
SQL> alter system reset log_archive_dest_1 scope=spfile sid='*';
System altered.
重啟後再次檢視該引數
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string
log_archive_dest_10 string
2、當scope=memory時,sid='sid',否則將會報錯,但此時reset並不成功。
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/u02/arch_log
log_archive_dest_10 string
SQL> alter system reset log_archive_dest_1 scope=spfile sid='testdb';
System altered.
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/u02/arch_log
log_archive_dest_10 string
3、reset時,由於不同的scope所使用的sid是不一樣的,所以scope不能設定both,否則將會報錯。
SQL> alter system reset log_archive_dest_1 scope=both sid='testdb';
alter system reset log_archive_dest_1 scope=both sid='testdb'
*
ERROR at line 1:
ORA-32010: cannot find entry to delete in SPFILE
SQL> alter system reset log_archive_dest_1 scope=both sid='*';
alter system reset log_archive_dest_1 scope=both sid='*'
*
ERROR at line 1:
ORA-32009: cannot reset the memory value for instance * from instance testdb
三、v$parameter檢視
SQL> select isdefault,ismodified,issys_modifiable,isses_modifiable from v$parameter where name='instance_name';
ISDEFAULT ISMODIFIED ISSYS_MOD ISSES
--------- ---------- --------- -----
TRUE FALSE FALSE FALSE
isdefault:該欄位說明引數是否為預設值。
ismodified:該欄位說明引數可在何種環境下修改:modified(會話級)、system_modified(系統級)、false(例項啟動後不能修改)。
issys_modifiable:該欄位說明將對引數做何種修改:immediate(修改立即生效)、deferred(延遲生效)、spfile(重啟後生效)。
isses_modifiable:該欄位說明引數是否可在session級修改。
四、其他和引數檔案相關知識
1、Oracle引數檔案預設儲存位置:在Linux(unix)中,其儲存在$ORACLE_HOME/dbs目錄下,在windows中,其儲存在$ORACLE_HOME\database目錄下。
2、根據spfile建立pfile:create pfile='/u02/backup' from spfile
3、根據pfile建立spfile:create spfile from pfile='u02/backup'
4、Oracle啟動時,讀取引數檔案的順序:spfile@.ora ---> spfile.ora ---> init@.ora(init.ora)
5、使用指定的引數檔案啟動資料庫:startup nomount pfile='引數檔名',如果引數檔案不再當前路徑,需新增路徑資訊。
6、如何確定例項使用何種引數檔案:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfiletestdb.ora
一、引數檔案的型別
1、靜態引數檔案(pfile):靜態引數檔案也稱客戶端初始化檔案,它是文字檔案,通過客戶端工具sqlplus等來讀取並啟動例項。
2、連結引數檔案(ifile):連結引數檔案時在pfile中指定的引數檔案,這裡可以理解為一種引數檔案的通用模板。下面是一個在pfile中使用ifile的例子:
點選(此處)摺疊或開啟
-
ifile='/u01/oracle/dbs/pfile'
-
thread=1
-
instance_name=node1
- instance_number=1
點選(此處)摺疊或開啟
-
ifile='/u01/oracle/dbs/pfile'
-
thread=2
-
instance_name=node2
- instance_number=2
alter system set 引數名 = 引數值 scope = memory | spfile | both
說明一下scope各取值的含義:
memory:修改記憶體中的引數值,並立即生效,資料庫重啟後修改失效。
spfile:修改引數檔案中的引數值,無法立即生效,資料庫重啟後方可生效。
both:在memory和spfile中都生效。
二、如何還原引數
還原引數時必須指定sid,根據scope的取值不同,sid應取不同的值。還原引數的語句為:alter system reset 引數名 scope = spfile | memory sid='sid' | '*'
1、當scope=spflie時,sid='*',否則將會報錯。
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/u02/arch_log
log_archive_dest_10 string
SQL> alter system reset log_archive_dest_1 scope=spfile sid='*';
System altered.
重啟後再次檢視該引數
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string
log_archive_dest_10 string
2、當scope=memory時,sid='sid',否則將會報錯,但此時reset並不成功。
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/u02/arch_log
log_archive_dest_10 string
SQL> alter system reset log_archive_dest_1 scope=spfile sid='testdb';
System altered.
SQL> show parameter log_archive_dest_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/u02/arch_log
log_archive_dest_10 string
3、reset時,由於不同的scope所使用的sid是不一樣的,所以scope不能設定both,否則將會報錯。
SQL> alter system reset log_archive_dest_1 scope=both sid='testdb';
alter system reset log_archive_dest_1 scope=both sid='testdb'
*
ERROR at line 1:
ORA-32010: cannot find entry to delete in SPFILE
SQL> alter system reset log_archive_dest_1 scope=both sid='*';
alter system reset log_archive_dest_1 scope=both sid='*'
*
ERROR at line 1:
ORA-32009: cannot reset the memory value for instance * from instance testdb
三、v$parameter檢視
SQL> select isdefault,ismodified,issys_modifiable,isses_modifiable from v$parameter where name='instance_name';
ISDEFAULT ISMODIFIED ISSYS_MOD ISSES
--------- ---------- --------- -----
TRUE FALSE FALSE FALSE
isdefault:該欄位說明引數是否為預設值。
ismodified:該欄位說明引數可在何種環境下修改:modified(會話級)、system_modified(系統級)、false(例項啟動後不能修改)。
issys_modifiable:該欄位說明將對引數做何種修改:immediate(修改立即生效)、deferred(延遲生效)、spfile(重啟後生效)。
isses_modifiable:該欄位說明引數是否可在session級修改。
四、其他和引數檔案相關知識
1、Oracle引數檔案預設儲存位置:在Linux(unix)中,其儲存在$ORACLE_HOME/dbs目錄下,在windows中,其儲存在$ORACLE_HOME\database目錄下。
2、根據spfile建立pfile:create pfile='/u02/backup' from spfile
3、根據pfile建立spfile:create spfile from pfile='u02/backup'
4、Oracle啟動時,讀取引數檔案的順序:spfile@.ora ---> spfile.ora ---> init@.ora(init.ora)
5、使用指定的引數檔案啟動資料庫:startup nomount pfile='引數檔名',如果引數檔案不再當前路徑,需新增路徑資訊。
6、如何確定例項使用何種引數檔案:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfiletestdb.ora
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29515435/viewspace-1103845/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle基礎 07 引數檔案 pfile/spfileOracle
- Oracle 引數檔案Oracle
- Oracle引數檔案解析——引數檔案分析獲取Oracle
- Oracle引數檔案解析——引數解析Oracle
- oracle的引數檔案Oracle
- Oracle 引數檔案(轉)Oracle
- Oracle引數檔案 各引數解釋Oracle
- Oracle控制檔案基礎Oracle
- Oracle RAC引數檔案管理Oracle
- oracle 關於--引數檔案Oracle
- oracle引數檔案pfile,spfileOracle
- oracle控制檔案及引數檔案問題Oracle
- Oracle RAC修改引數檔案位置Oracle
- Oracle 引數檔案(spfile和pfile)Oracle
- oracle11g引數檔案配置Oracle
- 部分Oracle 配置檔案引數含義Oracle
- Oracle體系結構-引數檔案Oracle
- Oracle重做日誌檔案基礎Oracle
- Oracle基礎 09 概要檔案 profileOracle
- 水煮Oracle——《Oracle pfile/spfile引數檔案詳解Oracle
- 引數檔案
- 引數檔案/口令檔案
- 《深入解析Oracle》第三章,引數及引數檔案Oracle
- oracle 資料庫兩種引數檔案Oracle資料庫
- ORACLE初始化引數檔案介紹Oracle
- 『動善時』JMeter基礎 — 26、使用txt檔案實現JMeter引數化JMeter
- SAP引數檔案
- oracle 控制檔案及引數檔案何時自動備份Oracle
- Oracle 9i初始化引數檔案Oracle
- Oracle基礎 06 控制檔案 controlfileOracle
- Python基礎(11):引數Python
- fixtrue基礎之scope引數
- fixtrue基礎之name引數
- fixtrue基礎之autouse引數
- 引數檔案恢復
- 讀書筆記:深入解析oracle-第3章 引數及引數檔案筆記Oracle
- Oracle 9i初始化引數檔案(轉)Oracle
- oracle 11G引數檔案之伺服器引數檔案(spfile)與例項啟動的關係Oracle伺服器