很多人在通過v$parameter查找初始化參數的來源時迷了路。
這有兩方面原因,一是Oracle把本質隱藏的很深;一是我們對Oracle熟悉不夠深入。我們應該按照如下方式追蹤:
1. v$parameter select * from v$fixed_view_definition a where a.VIEW_NAME='V$PARAMETER';V$PARAMETER select NUM , NAME , TYPE , VALUE , ISDEFAULT , ISSES_MODIFIABLE , ISSYS_MODIFIABLE , ISMODIFIED , ISADJUSTED , DESCRipTION, UPDATE_COMMENT from GV$PARAMETER where inst_id = USERENV('Instance')2.gv$parameterselect * from v$fixed_view_definition a where a.VIEW_NAME='GV$PARAMETER';GV$PARAMETER
select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl,ksppstdf, decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE'), decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED', 3,'IMMEDIATE','FALSE'), decode(bitand(ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE'), decode(bitand(ksppstvf,2),2,'TRUE','FALSE'), ksppdesc, ksppstcmnt from x$ksppi x, x$ksppcv y where (x.indx = y.indx) and ((translate(ksppinm,'_','#') not like '#%') or (ksppstdf = 'FALSE')) x$ksppi,x$ksppcv 基本上包含所有數據庫可調整參數,v$parameter展現的是不包含_開頭的參數。
以_開頭的參數我們通常稱為隱含參數,一般不建議修改,但很多因為功能強大經常使用而廣為人知。 稍后打算總結個全面點的東西出來,對Oracle的視圖結構和組織作個說明。