ORACLE初始化參數文件詳細文檔 ORACLE初始化參數文件詳細文檔(2) ORACLE初始化參數文件詳細文檔(3) ORACLE初始化參數文件詳細文檔(5)
文章摘要:ORACLE初始化參數文件詳細文檔 1.簡(jiǎn)介 在9i之前,參數文件只有一種,它是文本格式的,稱(chēng)為pfile,在9i及以后的版本中,新增了服務(wù)器參數文件,稱(chēng)為spfile,它是二進(jìn)制格式的。這兩種參數文件都是用來(lái)存儲參 數配置以供oracle讀取的,但也有不同點(diǎn),注意以下幾點(diǎn): 1)pfile是文本文件,spfile是二進(jìn)制文件; 2)對于參數的配置
ORACLE初始化參數文件詳細文檔 1.簡(jiǎn)介
在9i之前,參數文件只有一種,它是文本格式的,稱(chēng)為pfile,在9i及以后的版本中,新增了服務(wù)器參數文件,稱(chēng)為spfile,它是二進(jìn)制格式的。這兩種參數文件都是用來(lái)存儲參 數配置以供oracle讀取的,但也有不同點(diǎn),注意以下幾點(diǎn):
1)pfile是文本文件,spfile是二進(jìn)制文件;
2)對于參數的配置,pfile可以直接以文本編輯器打開(kāi)手工配置,而spfile不行,必須在數據庫啟動(dòng)后,通過(guò)sql命令進(jìn)行在線(xiàn)修改,當然spfile也可用文本編輯器打開(kāi),把里面文本的內容復制出來(lái)放在pfile中,但決對不可以直接修改,直接修改后會(huì )使文件無(wú)法讀取。
3)pfile配置改變后,要使用其生效,必須重新啟動(dòng)數據庫,spfile的配置生效時(shí)限和作用域可以由修改參數的sql命令指定,可以立即生效,也可以不立即生效。當然有些參數的修改必須重啟數據庫才能生效;
4)可以用sql命令由pfile創(chuàng )建spfile,也可以由spfile創(chuàng )建pfile;
5)如果是手動(dòng)創(chuàng )建數據庫而不是通過(guò)DBCA,則開(kāi)始創(chuàng )建數據庫時(shí),你只能定義pfile 。因為它是文本格式的;
現在一般普通生產(chǎn)庫都采用spfile啟動(dòng)數據庫,pfile確實(shí)沒(méi)有用的理由了,感覺(jué)只有以下情況才會(huì )使用pfile:
1)入門(mén)學(xué)習時(shí),為了理解初始化參數
2)創(chuàng )建數據庫時(shí),因為這時(shí)還沒(méi)spfile
3)恢復數據庫時(shí)
4)采用RAC的生產(chǎn)庫中如果要共用spfile,可以建一個(gè)初始的pfile,然后在pfile指定spfile為共享設備文件
2.創(chuàng )建spfile和pfile語(yǔ)法
創(chuàng )建SPFILE(只能建在數據庫所在的機器上)
CREATE SPFILE [= 'spfile_name'] FROM PFILE [= 'pfile_name'];
如果命令中未指定spfile的路徑則會(huì )在缺省路徑創(chuàng )建spfile文件(%ORACLE_HOME%\database\spfile.ora)
這個(gè)與spfile參數無(wú)關(guān)(rac**享spfile時(shí)要注意)
創(chuàng )建PFILE
CREATE PFILE [= 'pfile_name'] FROM SPFILE [= 'spfile_name'];
如果命令中未指定spfile的路徑則會(huì )從缺省路徑(%ORACLE_HOME%\database\spfile.ora)創(chuàng )建pfile文件
注:語(yǔ)法中創(chuàng )建和指定的spfile和pfile都是服務(wù)器路徑
注:不能創(chuàng )建已經(jīng)由數據庫實(shí)例啟動(dòng)的spfile(在nomount狀態(tài)下也不行)
3.數據庫啟動(dòng)時(shí)spfile和pfile的加載順序
初始化參數是在數據庫實(shí)例啟動(dòng)時(shí)(startup nomount)加載。
如果startup命令中未指定pfile參數,在windows系統中數據庫啟動(dòng)時(shí)會(huì )按如下順序查找啟動(dòng)參數文件:
%ORACLE_HOME%\database\SPFILE.ora
%ORACLE_HOME%\database\SPFILE.ora
%ORACLE_HOME%\database\init.ora
在unix或linux系統中數據庫啟動(dòng)時(shí)會(huì )按如下順序查找啟動(dòng)參數文件:
%ORACLE_HOME%\dbs\SPFILE.ora
%ORACLE_HOME%\dbs\SPFILE.ora
%ORACLE_HOME%\dbs\init.ora
也就是說(shuō)先找spfile.ora文件,如果spfile.ora沒(méi)有則找spfile.ora文件,最后才會(huì )去找init
使用指定pfile啟動(dòng)數據庫則數據庫會(huì )使用指定的pfile來(lái)加載數據庫參數:
命令如下:
startup pfile=''
注:以pfile啟動(dòng)的實(shí)例,修改初始化參數時(shí)不能使用scope=spfile的語(yǔ)法
如果參數文件(不管是pfile還是spfile)中指定了spfile的參數,則還會(huì )從指定的spfile中再讀取配置的參數,這樣數據庫的參數就包括了兩個(gè)文件的內容.4.數據庫啟動(dòng)參數的加載順序
加載順序按文件中順序讀取
如果文件中有兩個(gè)相同的參數名則以最后出現的為準,以下例子說(shuō)明了這個(gè)問(wèn)題。
如有一個(gè)spfile文件(myspfile.ora),包括兩個(gè)參數:
sessions=150
processes=200
另外有一個(gè)pfile文件(mypfile.ora),里面包括三個(gè)參數,其中指定了spfile為前面的spfile文件
processes=100
sessions=100
spfile='myspfile.ora'
processes=180
當使用mypfile.ora啟動(dòng)數據庫時(shí),會(huì )按如下順序讀取參數
1)processes=100
2) sessions=100
3) spfile='myspfile.ora'
3.1) sessions=150(重新加載)
3.2) processes=200(重新加載)
4)processes=180(再次重新加載)
最后加載的數據庫參數為
sessions=150
spfile='myspfile.ora'
processes=180
5.關(guān)于show parameter spfile時(shí)顯示的內容
如果是采用pfile指定了spfile參數,則顯示指定的spfile
如果是采用缺省的spfile啟動(dòng),則顯示缺省的spfile文件名,不管spfile還有沒(méi)有指定其它的spfile文件。
6.關(guān)于spfile遞歸調用
如果出現spfile遞歸調用,則ORACLE啟動(dòng)時(shí)會(huì )報錯:
SQL> startup nomount;
ORA-03113: 通信通道的文件結束
SQL>
spfile遞歸調用就是指
spfile1.spfile='spfile2'
spfile2.spfile='spfile1'
這樣的參數配置
7.初始化參數的修改方法
分為手動(dòng)修改和在線(xiàn)修改。
手動(dòng)修改用于修改pfile,直接用文本編輯打開(kāi)pfile修改。要使用修改生效,須重啟數據庫。
在線(xiàn)修改是在數據庫運行時(shí),用alter system命令進(jìn)行修改,命令如下(詳細的命令 語(yǔ)句請參考oracle官方參考文檔):
alter system set parameter_name = parameter_value [, parameter_value ]...
[ COMMENT 'text' ]
[ DEFERRED ]
[ SCOPE = { MEMORY | SPFILE | BOTH } ]
[ SID = { 'sid' | * } ]
注:
[ COMMENT 'text' ] :表示可以加注釋?zhuān)?ALTER SYSTEM SET JOB_QUEUE_PROCESSES=50 SCOPE=BOTH DEFERRED COMMENT=" 2008-05-19"
[ DEFERRED ]:表示所作修改只適用于將來(lái)的會(huì )話(huà),對當前已有的會(huì )話(huà)不影響,這個(gè)參數只對少數參數有用,具體可使用的參數可以查看v$parameter視圖
select * from v$parameter where issys_modifiable='DEFERRED'
[ SCOPE = { MEMORY | SPFILE | BOTH } ]:
SPFILE:修改只對SPFILE有效,不影響當前實(shí)例,需要重啟數據庫才能生效;
文章摘要:MEMORY:修改只對內存有效,即只對當前實(shí)例有效,且立即生效,但不會(huì )保存到SPFILE, 數據庫重啟后此配置丟失; BOTH:顧名思義,包含以上兩種,立即生效,且永久生效。 所有的參數都可以使用spfile,部份參數可以使用me
MEMORY:修改只對內存有效,即只對當前實(shí)例有效,且立即生效,但不會(huì )保存到SPFILE, 數據庫重啟后此配置丟失;
BOTH:顧名思義,包含以上兩種,立即生效,且永久生效。
所有的參數都可以使用spfile,部份參數可以使用memory,可以使用如下SQL查詢(xún)不能使用memory方式修改的參數
select * from v$parameter where issys_modifiable='FALSE'
對于A(yíng)LTER SYSTEM的參數修改命令,請注意以下幾點(diǎn):
1)如果當前實(shí)例使用的是pfile而非spfile,則scope=spfile或scope=both會(huì )產(chǎn)生錯誤;
2)如果實(shí)例以pfile啟動(dòng),則scope的默認值為MEMORY,若以spfile啟動(dòng),則默認值為BOTH;
[ SID = { 'sid' | * } ]
指定修改參數的作用實(shí)例號,如果為*則表示所有實(shí)例,這個(gè)選項用于RAC數據庫8.刪除初始化參數:
alter system reset parameter_name
[ SCOPE = { MEMORY | SPFILE | BOTH } ]
[ SID = 'sid' ]
對于有些參數也可以使用 ALTER SYSTEM SET PARAMETER=''達到相同的效果;
9.初始化參數的相關(guān)系統視圖
9.1v$parameter
9.2v$parameter2
9.3v$system_parameter
9.4v$system_parameter2
9.5gv$parameter
9.6gv$parameter2
9.7gv$system_parameter
9.8gv$system_parameter2
SQL> desc v$parameter;
Name Type Nullable Default Comments
---------------- ------------- -------- ------- --------
NUM NUMBER Y 編號
NAME VARCHAR2(64) Y 參數名稱(chēng)
TYPE NUMBER Y 參數類(lèi)型
(
1 - Boolean
2 - String
3 - Integer
4 - Parameter file
5 - Reserved
6 - Big integer
)
VALUE VARCHAR2(512) Y 參數值
ISDEFAULT VARCHAR2(9) Y 是否為缺省值
ISSES_MODIFIABLE VARCHAR2(5) Y 是否允許會(huì )話(huà)級動(dòng)態(tài)調整(alter session set...)
ISSYS_MODIFIABLE VARCHAR2(9) Y 是否允許使用動(dòng)態(tài)調整(alter system set...)
(
IMMEDIATE:可以調整且修改會(huì )立即生效;
DEFERRED:可以調整,但是在新建的會(huì )話(huà)中才生效;
FALSE:不可調整;
)
ISMODIFIED VARCHAR2(10) Y 參數在實(shí)例啟動(dòng)后是否被修改過(guò)
ISADJUSTED VARCHAR2(5) Y 參數是否被調整
(對于有一些參數,如規范要求是素數,但是參數里設置了合數,則ORACLE會(huì )自動(dòng)調整成下一個(gè)素數)
DESCRIPTION VARCHAR2(64) Y 參數功能描述
UPDATE_COMMENT VARCHAR2(255) Y 最近的參數更新備注
以下是ORACLE官方文檔關(guān)于V$PARAMETER的解釋
V$PARAMETER displays information about the initialization parameters that are currently in effect for the session. A new session inherits parameter values from the instance-wide values displayed by the V$SYSTEM_PARAMETER view.
以下是字段說(shuō)明:
NUM
NUMBER
Parameter number
NAME
VARCHAR2(64)
Name of the parameter
文章摘要:TYPE NUMBER Parameter type: 1 - Boolean 2 - String 3 - Integer 4 - Parameter file 5 - Reserved 6 - Big integer VALUE VARCHAR2(512) Parameter value for the session (if modified within the session); ot
TYPE
NUMBER
Parameter type:
1 - Boolean
2 - String
3 - Integer
4 - Parameter file
5 - Reserved
6 - Big integer
VALUE
VARCHAR2(512)
Parameter value for the session (if modified within the session); otherwise, the instance-wide parameter value
ISDEFAULT
VARCHAR2(9)
Indicates whether the parameter is set to the default value (TRUE) or the parameter value was specified in the parameter file (FALSE)
ISSES_MODIFIABLE
VARCHAR2(5)
Indicates whether the parameter can be changed with ALTER SESSION (TRUE) or not (FALSE)
ISSYS_MODIFIABLE
VARCHAR2(9)
Indicates whether the parameter can be changed with ALTER SYSTEM and when the change takes effect:
IMMEDIATE - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect immediately.
DEFERRED - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect in subsequent sessions.
FALSE - Parameter cannot be changed with ALTER SYSTEM unless a server parameter file was used to start the instance. The change takes effect in subsequent instances.
ISMODIFIED
VARCHAR2(10)
Indicates whether the parameter has been modified after instance startup:
MODIFIED - Parameter has been modified with ALTER SESSION
SYSTEM_MOD - Parameter has been modified with ALTER SYSTEM (which causes all the currently logged in sessions' values to be modified)
FALSE - Parameter has not been modified after instance startup
ISADJUSTED
VARCHAR2(5)
Indicates whether Oracle adjusted the input value to a more suitable value (for example, the parameter value should be prime, but the user input a non-prime number, so Oracle adjusted the value to the next prime number)
DESCRIPTION
VARCHAR2(64)
Description of the parameter
UPDATE_COMMENT
VARCHAR2(255)
Comments associated with the most recent update
V$PARAMETER2與V$PARAMETER的區別是當某個(gè)參數有多個(gè)值時(shí),會(huì )顯示多行,最典型的就是參數control_files,一般的數據庫都會(huì )指定多個(gè)控制文件,在V$PARAMETER中只顯示一行,但在V$PARAMETER2會(huì )顯示多行,如下所示:
SQL> select name,value from V$PARAMETER where name='control_files';
NAME VALUE
----------------- --------------------------------------------------------------------------------
control_files H:\oracle\oradata\ydgl\control01.ctl, H:\oracle\oradata\ydgl\control02.ctl, H:\oracle\oradata\ydgl\control03.ctl
SQL> select name,value,ORDINAL from V$PARAMETER2 where name='control_files';
NAME VALUE ORDINAL
------------------- ----------------------------------------------------------- ----------
control_files H:\oracle\oradata\ydgl\control01.ctl 1
control_files H:\oracle\oradata\ydgl\control02.ctl 2
control_files H:\oracle\oradata\ydgl\control03.ctl' 3
V$PARAMETER2多了一個(gè)ORDINAL字段,表示順序。
SQL> desc v$parameter2;
Name Type Nullable Default Comments
---------------- ------------- -------- ------- --------
NUM NUMBER Y
ORACLE初始化參數文件詳細文檔(4)
-
Svn中文網(wǎng) www.svn8.com 2009-11-13 06:40:28 來(lái)源:bbs.svn8.com 作者:佚名 點(diǎn)擊:494次
文章摘要:NAME VARCHAR2(64) Y TYPE NUMBER Y VALUE VARCHAR2(512) Y ISDEFAULT VARCHAR2(6) Y ISSES_MODIFIABLE VARCHAR2(5) Y ISSYS_MODIFIABLE VARCHAR2(9) Y ISMODIFIED VARCHAR2(10) Y ISADJUSTED VARCHAR2(5) Y DESCRI
-
NAME VARCHAR2(64) Y
TYPE NUMBER Y
VALUE VARCHAR2(512) Y
ISDEFAULT VARCHAR2(6) Y
ISSES_MODIFIABLE VARCHAR2(5) Y
ISSYS_MODIFIABLE VARCHAR2(9) Y
ISMODIFIED VARCHAR2(10) Y
ISADJUSTED VARCHAR2(5) Y
DESCRIPTION VARCHAR2(64) Y
ORDINAL NUMBER Y
UPDATE_COMMENT VARCHAR2(255) Y
V$SYSTEM_PARAMETER 和V$PARAMETER的區別是,V$PARAMETER顯示的是當前系統的初始化參數,V$SYSTEM_PARAMETER顯示的是新會(huì )話(huà)將使用的初始化參數。
例如下例中,使用deferred參數修改了sore_area_size,在V$PARAMETER顯示的老值,而V$SYSTEM_PARAMETER顯示的是新值:
SQL> show parameter sort_area_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sort_area_size integer 524288
SQL> alter system set sort_area_size=603213 deferred;
System altered
SQL> select name,value from v$parameter where name='sort_area_size';
NAME VALUE
-------------------------------- --------------------------------------------------------------------------------
sort_area_size 524288
SQL> select name,value from v$system_parameter where name='sort_area_size';
NAME VALUE
-------------------------------- --------------------------------------------------------------------------------
sort_area_size 603213
-
Svn中文網(wǎng) www.svn8.com 2009-11-13 06:40:28 來(lái)源:bbs.svn8.com 作者:佚名 點(diǎn)擊:494次
文章摘要:SQL SQL desc v$system_parameter; Name Type Nullable Default Comments ---------------- ------------- -------- ------- -------- NUM NUMBER Y NAME VARCHAR2(64) Y TYPE NUMBER Y VALUE VARCHAR2(512) Y ISDE
-
SQL>
SQL> desc v$system_parameter;
Name Type Nullable Default Comments
---------------- ------------- -------- ------- --------
NUM NUMBER Y
NAME VARCHAR2(64) Y
TYPE NUMBER Y
VALUE VARCHAR2(512) Y
ISDEFAULT VARCHAR2(9) Y
ISSES_MODIFIABLE VARCHAR2(5) Y
ISSYS_MODIFIABLE VARCHAR2(9) Y
ISMODIFIED VARCHAR2(8) Y
ISADJUSTED VARCHAR2(5) Y
DESCRIPTION VARCHAR2(64) Y
UPDATE_COMMENT VARCHAR2(255) Y
gv$parameter和v$parameter的區別的是gv$parameter多一個(gè)INST_ID字段(實(shí)例號),這個(gè)用于RAC數據庫系統中,INST_ID用于標識是哪個(gè)實(shí)例的信息,其實(shí)所有以gv$和以v$開(kāi)始的系統視圖的區別都是這樣的。
SQL> desc gv$parameter;
Name Type Nullable Default Comments
---------------- ------------- -------- ------- --------
INST_ID NUMBER Y
NUM NUMBER Y
NAME VARCHAR2(64) Y
TYPE NUMBER Y
VALUE VARCHAR2(512) Y
ISDEFAULT VARCHAR2(9) Y
ISSES_MODIFIABLE VARCHAR2(5) Y
ISSYS_MODIFIABLE VARCHAR2(9) Y
ISMODIFIED VARCHAR2(10) Y
ORACLE初始化參數文件詳細文檔(6)
-
Svn中文網(wǎng) www.svn8.com 2009-11-13 06:40:28 來(lái)源:bbs.svn8.com 作者:佚名 點(diǎn)擊:494次
文章摘要:ISADJUSTED VARCHAR2(5) Y DESCRIPTION VARCHAR2(64) Y UPDATE_COMMENT VARCHAR2(255) Y 10.廢棄參數 Oracle數據庫中,系統提供了幾個(gè)視圖可以查看系統參數的情況。視圖V$OBSOLETE_PARAMETER中含有所有的過(guò)時(shí)(obsol
-
ISADJUSTED VARCHAR2(5) Y
DESCRIPTION VARCHAR2(64) Y
UPDATE_COMMENT VARCHAR2(255) Y 10.廢棄參數
Oracle數據庫中,系統提供了幾個(gè)視圖可以查看系統參數的情況。視圖V$OBSOLETE_PARAMETER中含有所有的過(guò)時(shí)(obsolete)和強調(underscored)參數。這里首先說(shuō)明一下什么是Oracle的過(guò)時(shí)(obsolote)和強調(underscored)參數,過(guò)時(shí)參數,顧名思義就是在Oracle以前的版本中存在,但在新版本中已經(jīng)淘汰了的參數,已經(jīng)不再使用;而強調參數,是指那些在新版本中保留了下來(lái),但是除非特殊需要不希望用戶(hù)使用的那些參數。在視圖V$OBSOLETE_PARAMETER中,包含這些參數的名稱(chēng)和一個(gè)標志字ISSPECIFIED,該標志字用來(lái)指出這個(gè)參數是否在init.ora文件中已實(shí)際設置。
下面的SQL腳本列出了當前系統中所有的過(guò)時(shí)參數名稱(chēng)以及它們是否在當前系統中設定。
SQL> SELECT name, isspecified FROM v$obsolete_parameter;
上面談到,Oracle系統并沒(méi)有將V$OBSOLETE_PARAMETER視圖中的所有參數均丟棄,而是將其中的一部分轉換為強調參數,下面就來(lái)討論如何查看這些參數是已被丟棄還是被轉換。這可以通過(guò)系統視圖X$KSPPO來(lái)查看,該視圖中包含一個(gè)名為KSPPOFLAG的字段,用來(lái)指明該參數在當前版本中是被丟棄還是被強調,如果該值為1,則表示該參數已被丟棄,該值為2,則表明該參數現為強調參數。
SELECT kspponm,
DECODE(ksppoflg, 1,'Obsolete', 2, 'Underscored')
FROM x$ksppo
ORDER BY kspponm;
注:該視圖只在sys用戶(hù)下可以看到。
11.隱藏參數
數據庫初始化總共有近千個(gè),可見(jiàn)的只有兩三百個(gè),其它的都是隱藏參數。
隱藏參數的參數名都是以下劃線(xiàn)開(kāi)頭,比較少用,一般用于進(jìn)行ORACLE故障診斷或恢復數據庫,或者是進(jìn)行一些不成熟功能的測試。
使用如下SQL可以查詢(xún)到所有的初始化參數。
--用戶(hù)需要有訪(fǎng)問(wèn)內核表的權限,一般為sys用戶(hù)登錄
select a.indx,
a.inst_id,
a.ksppinm name,
a.ksppity type,
a.ksppdesc DESCRIPTION,
a.ksppiflg FLAG,
b.ksppstvl value,
b.ksppstdf ISDEFAULT,
b.ksppstvf ORDINAL,
b.ksppstcmnt UPDATE_COMMENT
from sys.x$ksppi a, sys.x$ksppcv b
where a.indx = b.indx
12.自動(dòng)SGA內存管理的參數
ORACLE從10g開(kāi)始可以自動(dòng)管理SGA了.
當初始化參數中設置了SGA_TARGET后,ORACLE會(huì )自動(dòng)根據總的SGA大小動(dòng)態(tài)調整SGA中幾個(gè)區域的大小。當使用數據庫關(guān)閉時(shí),會(huì )將最后調整的大小記錄到SPFILE中,以供下次系統啟動(dòng)時(shí)直接應用。
自動(dòng)調整后的分類(lèi)參數在SPFILE中類(lèi)似如下:
以下是11g數據庫SPFILE的部分內容,這是一個(gè)使用RAW設備兩節點(diǎn)的RAC數據庫:
rawrac1.__db_cache_size=138412032
rawrac2.__db_cache_size=134217728
rawrac2.__java_pool_size=4194304
rawrac2.__large_pool_size=4194304
rawrac2.__oracle_base='C:\oracle'#ORACLE_BASE set from environment
rawrac1.__oracle_base='C:\oracle'#ORACLE_BASE set from environment
rawrac2.__pga_aggregate_target=155189248
rawrac2.__sga_target=230686720
rawrac2.__shared_io_pool_size=0
rawrac1.__shared_pool_size=83886080
rawrac2.__shared_pool_size=83886080
rawrac2.__streams_pool_size=0
*.memory_target=384827392
本文來(lái)自[Svn中文網(wǎng)]轉發(fā)請保留本站地址:http://www.svn8.com/sql/Oracle/2009111312918_6.html
聯(lián)系客服