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') isadj
from
sys.x$ksppi x,
sys.x$ksppcv y
where
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, ' _', ' ')
/