合 Oracle隐含参数介绍
简介
Oracle系统中还有一类参数称之为隐含参数(Hidden Parameters),在系统中使用,但Oracle官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。这些参数在所有Oracle官方提供的文档中都没有介绍,它们的命名有一个共同特征就是都以“_”作为参数的首字符。下面的查询可以得到当前系统中的所有隐藏参数,需要以SYS用户登陆,查看两个视图:X$KSPPI和X$KSPPCV。下面作者给出具体的SQL语句。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | SET PAGESIZE 9999 SET LINE 9999 COL NAME FORMAT A40 COL KSPPDESC FORMAT A50 COL KSPPSTVL FORMAT A20 SELECT A.INDX, A.KSPPINM NAME, A.KSPPDESC, B.KSPPSTVL FROM X$KSPPI A, X$KSPPCV B WHERE A.INDX = B.INDX AND A.KSPPINM LIKE '/_%' ESCAPE '/' AND LOWER(A.KSPPINM) LIKE LOWER('%&PARAMETER%'); |
举个例子,如果需要查询隐含参数“_LM_DD_INTERVAL”的值,那么执行上面的代码后输入“_LM_DD_INTERVAL”就可以看到该隐含参数的值了,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | SYS@lhrdb> SET PAGESIZE 9999 SYS@lhrdb> SET LINE 9999 SYS@lhrdb> COL NAME FORMAT A40 SYS@lhrdb> COL KSPPDESC FORMAT A50 SYS@lhrdb> COL KSPPSTVL FORMAT A20 SYS@lhrdb> SELECT A.INDX, 2 A.KSPPINM NAME, 3 A.KSPPDESC, 4 B.KSPPSTVL 5 FROM X$KSPPI A, 6 X$KSPPCV B 7 WHERE A.INDX = B.INDX 8 AND A.KSPPINM LIKE '/_%' ESCAPE '/' 9 AND LOWER(A.KSPPINM) LIKE LOWER('%&PARAMETER%'); Enter value for parameter: _lm_dd_interval old 9: AND LOWER(A.KSPPINM) LIKE LOWER('%&PARAMETER%') new 9: AND LOWER(A.KSPPINM) LIKE LOWER('%_lm_dd_interval%') INDX NAME KSPPDESC KSPPSTVL ---------- ---------------------------------------- -------------------------------------------------- -------------------- 578 _lm_dd_interval dd time interval in seconds 10 |