欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle parameter可能值获取方法

程序员文章站 2024-02-09 23:28:34
有时不清楚一些参数的所有允许设定的值,可以由以下两个方法获得 1.直接输入错的值,让error来提示 复制代码 代码如下: sql> alter system set...
有时不清楚一些参数的所有允许设定的值,可以由以下两个方法获得
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有关的参数的可能值获取。