Oracle parameter可能值获取方法
程序员文章站
2023-10-22 22:57:23
有时不清楚一些参数的所有允许设定的值,可以由以下两个方法获得 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有关的参数的可能值获取。
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有关的参数的可能值获取。