Oracle parameter可能值获取方法

前端技术 2023/09/06 Oracle
有时不清楚一些参数的所有允许设定的值,可以由以下两个方法获得
1.直接输入错的值,让error来提示
复制代码 代码如下:

SQL> alter system set \"_db_block_cache_protect\"=what scope=spfile;
alter system set \"_db_block_cache_protect\"=what scope=spfile
*
ERROR at line 1:
ORA-00096: invalid value WHAT for parameter _db_block_cache_protect, must be
from among TRUE, MEDIUM, LOW, FALSE

由此可知_db_block_cache_protect所有允许的值是TRUE, MEDIUM, LOW, FALSE
缺点是9i及以前的版本不支持这种检查
2.通过脚本来获得
cat a.sql
复制代码 代码如下:

COL pvalid_default HEAD DEFAULT FOR A7
COL pvalid_value HEAD VALUE FOR A30
COL pvalid_name HEAD PARAMETER FOR A50
COL pvalid_par# HEAD PAR# FOR 99999
BREAK ON pvalid_par# skip 1
PROMPT Display valid values for multioption parameters matching \"&1\"...
SELECT
-- INST_ID,
PARNO_KSPVLD_VALUES pvalid_par#,
NAME_KSPVLD_VALUES pvalid_name,
ORDINAL_KSPVLD_VALUES ORD,
VALUE_KSPVLD_VALUES pvalid_value,
DECODE(ISDEFAULT_KSPVLD_VALUES, \'FALSE\', \'\', \'DEFAULT\' ) pvalid_default
FROM
X$KSPVLD_VALUES
WHERE
LOWER(NAME_KSPVLD_VALUES) LIKE LOWER(\'%&1%\')
ORDER BY
pvalid_par#,
pvalid_default,
ord,
pvalid_Value

用sys用户执行
SQL> @a block
会将所有与block有关的参数的可能值获取。

本文地址:https://www.stayed.cn/item/16397

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。