擷取Oracle隱含參數資訊,oracle隱含參數
Oracle資料庫的初始化參數,主要來源於兩個Oracle內部資料字典表:X$KSPPCV和X$KSPPI通常我們查詢的V$Parameter視圖或使用show parameter命令都是就來源於這兩個系統資料表的,但通過這兩種方式不能查詢隱含參數.
X$KSPPCV用以記錄當前的設定的值,及是否使用了預設值等資訊,X$KSPPI則是一個基礎資料表,用於記錄參數名、參數說明等簡單的資訊。需要注意的是INST_ID欄位,在Rac環境中用以確定參數所屬的執行個體。
可以使用如下指令碼,查詢當前執行個體的隱含參數:
select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod, decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadjfrom sys.x$ksppi x, sys.x$ksppcv ywhere x.inst_id = userenv('Instance') and y.inst_id = userenv('Instance') and x.indx = y.indx and x.ksppinm like '%_&par%'order by translate(x.ksppinm, ' _', ' ')/
怎查詢Oracle的隱含參數
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
FROM x$ksppi x, x$ksppcv y
WHERE x.inst_id = USERENV ('Instance')
AND y.inst_id = USERENV ('Instance')
AND x.indx = y.indx
AND x.ksppinm LIKE '%_skgxp_udp_timed_wait_seconds%'
ORACLE11的參數(show parameter)是不是存放參數檔案(spfile)裡面?還有些隱含參數存放在哪的?
不是全部, spfile只用於啟動oracle。 其他很多參數包括隱含的參數都是放在oracle系統檢視表中的。