1.首先来看一段代码
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, ' _', ' ')
/
2.问题
a.别人是怎么知道这个答案的?如果是你现在能按哪种方式获取?
3.
a.采用10046跟踪
eg.select count(name) from sys.v_$parameter;
STAT #7 id=2 cnt=258 pid=1 pos=1 obj=0 op='HASH JOIN (cr=0 pr=0 pw=0 time=12104
us)'
STAT #7 id=3 cnt=1379 pid=2 pos=1 obj=0 op='FIXED TABLE FULL X$KSPPI (cr=0 pr=0 p
w=0 time=4151 us)'
STAT #7 id=4 cnt=1385 pid=2 pos=2 obj=0 op='FIXED TABLE FULL X$KSPPCV (cr=0 pr=0
pw=0 time=1391 us)'
b.将select语句拷到PL/SQL DEVELOPER,按F5后从执行计划中可查看到
c.sqlplus中采用
explain plan for sql_statement;
select * from table(dbms_xplan.display());
4.如何得知X$KSPPI和X$KSPPCV字段的意思?