有时不清楚一些参数的所有允许设定的值,可以由以下两个方法获得
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有关的参数的可能值获取。
这种方法的来源是 http://blog.tanelpoder.com/2008/08/13/script-display-valid-values-for-multioption-parameters-including-hidden-parameters/
阅读(2270) | 评论(0) | 转发(0) |