隐含参数查询和普通查询有点区别,它不能通过v$parameter视图来查询,而是需要查询底层的数据字典:x$ksppi 和 x$ksppcv。 如果每次都写SQL代码会比较麻烦。 所以建议直接建成视图来查询:
CREATE VIEW all_parameters
AS
SELECT i.ksppinm name,
i.ksppdesc description,
CV.ksppstvl VALUE,
CV.ksppstdf isdefault,
DECODE (BITAND (CV.ksppstvf, 7),
1, 'MODIFIED',
4, 'SYSTEM_MOD',
'FALSE')
ismodified,
DECODE (BITAND (CV.ksppstvf, 2), 2, 'TRUE', 'FALSE') isadjusted
FROM sys.x$ksppi i, sys.x$ksppcv CV
WHERE i.inst_id = USERENV ('Instance')
AND CV.inst_id = USERENV ('Instance')
AND i.indx = CV.indx
AND i.ksppinm LIKE '/_%' ESCAPE '/'
ORDER BY REPLACE (i.ksppinm, '_', '');
这里的ksppinm是参数的名称,如果想查询特定的参数,只需要用该列进行过滤即可。
在Oracle 12.2.0.1中总共有 4429 个隐含参数,查询如下,因为这里参数较多,直接查询总数,想看单个参数的,自己过滤一下。
[oracle@www.cndba.cn/dave ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jan 6 12:40:50 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select count(1) from all_parameters;
COUNT(1)
----------
4429
版权声明:本文为博主原创文章,未经博主允许不得转载。