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字段的意思?