什么是隐藏参数呢?是系统中使用,但 Oracle 官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。 用SYS登录可以执行下列语句查询:
col ksppinm for a30
col ksppstvl for a20
col ksppdesc for a35
SELECT ksppinm, ksppstvl, ksppdesc
FROM x$ksppi x, x$ksppcv y
WHERE x.indx = y.indx AND ksppinm = '_small_table_threshold';
or
col name for a30
col value for a20
col describe for a35
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describeFROM SYS.x$ksppi x, SYS.x$ksppcv yWHERE x.inst_id = USERENV ('Instance')AND y.inst_id = USERENV ('Instance')AND x.indx = y.indxAND (x.ksppinm ='_small_table_threshold' or x.ksppinm='_serial_direct_read')/
得到查询结果:
KSPPINM KSPPSTVL KSPPDESC
------------------------------ -------------------- -----------------------------------
_small_table_threshold 146456 lower threshold level of table size
for direct reads
_small_table_threshold 隐藏参数指定了 ORACLE中大表的阀值,其单位为block,即大于_small_table_threshold 所指定的块数的表被视作大表
_small_table_threshold 隐藏参数的值在实例启动时动态决定,一般为 2% * DB_CACHE_SIZE
在CentOS 6.4下安装Oracle 11gR2(x64)