一:首先看下查到隐含参数需要用到的两个x$表
SQL> desc x$ksppi
名称 是否为空? 类型
------------ -------- ---------------
ADDR RAW(4) --内存地址
INDX NUMBER --序号,从0开始
INST_ID NUMBER --instance number
KSPPINM VARCHAR2(64) --参数名称
KSPPITY NUMBER --参数类型 1,'boolean' 2,'string', 3,'number',4,'file
KSPPDESC VARCHAR2(64) --描述
KSPPIFLG NUMBER --标志字段(用来说明是isses_modifiable or issys_modifiable
SQL> desc x$ksppcv
名称 是否为空? 类型
------------- -------- -------------
ADDR RAW(4) --内存地址
INDX NUMBER --序号,从0开始
INST_ID NUMBER --instance number
KSPPSTVL VARCHAR2(512) --当前值
KSPPSTDF VARCHAR2(9) --缺省值
KSPPSTVF NUMBER --标志字段,用来说明('Modified' or 'System Modified' or is_adjusted)
KSPPSTCMNT VARCHAR2(255) --comment
二:查看隐含参数的脚本
1)查看所有隐含参数
set linesize 200
column name format a50
column value format a25
col description format a40
select x.ksppinm name,y.ksppstvl value,y.ksppstdf isdefault,x.ksppdesc description,
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 '/_%' escape '/'
order by
translate(x.ksppinm, ' _', ' ');
##注意x$ksppi及x$ksppcv中储存了所有参数的相关信息(普通参数和隐含参数)所以在查看隐含参数时我们需要添加x.ksppinm LIKE '/_%' escape '/'条件
2)根据隐含参数名匹配某个具体的隐含参数
set linesize 200
column name format a50
column value format a25
col description format a40
select x.ksppinm name,y.ksppstvl value,y.ksppstdf isdefault,x.ksppdesc description,
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 '%_shared_pool_reserved%'
order by
translate(x.ksppinm, ' _', ' ');