Oracle的参数分为:1 普通参数
,2 非凡参数
(非凡参数包括:废弃参数
,强调参数
,隐藏参数
)。
Oracle提供了视图来让我们可以查询到以上的参数。如视图v$obsolete_parameter
中包含了所有的废弃参数和强调参数。
强调参数
是指那些在新版本中保留了下来,但是除非非凡需要不希望用户使用的那些参数。在视图 V$OBSOLETE_PARAMETER
中,包含这些参数的名称和一个标志字 ISSPECIFIED
,该标志字用来指出这个参数是否在init.ora
文件中已实际设置。 下面的 SQL 脚本列出了当前系统中所有的过时参数名称以及它们是否在当前系统中设定(只显示了部分的查询结果)
SQL> SELECT name, isspecified FROM v$obsolete_parameter;
NAME ISSPE
---------------------------------------------------------------- -----
spin_count FALSE
_module_action_old_length FALSE
use_indirect_data_buffers FALSE
use_ism FALSE
lock_sga_areas FALSE
instance_nodeset FALSE
large_pool_min_alloc FALSE
shared_pool_reserved_min_alloc FALSE
_kspptbl_mem_usage FALSE
enqueue_resources FALSE
lgwr_io_slaves FALSE
可以通过系统视图x$ksppo
来查看上面查询到的参数是否被废弃,或者是强调参数,该视图中包含一个名为KSPPOFLAG
的字段,用来指明该参数在当前版本中是被丢弃还是被强调,假如该值为 1
,则表示该参数已被丢弃
,该值为2
,则表明该参数现为强调参数
。
SQL> SELECT kspponm, DECODE (ksppoflg,1,'Obsolete',2,'Underscored') FROM x$ksppo ORDER BY kspponm;
KSPPONM DECODE(KSPP
---------------------------------------------------------------- -----------
_seq_process_cache_const Obsolete
_spr_use_hash_table Obsolete
_sqlexec_progression_cost Obsolete
_use_hidden_partitions Obsolete
_very_large_partitioned_table Obsolete
allow_partial_sn_results Obsolete
always_anti_join Underscored
always_semi_join Underscored
arch_io_slaves Underscored
b_tree_bitmap_plans Underscored
backup_disk_io_slaves Underscored
Oracle 还有隐藏参数
和系统当前参数
,隐藏参数
是:系统中使用,但 Oracle 官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。这些参数在所有 Oracle 官方提供的文档中都没有介绍,他们的命名有一个共同特征就是都以 _
作为参数的首字符. 下面的查询可以得到当前系统中的所有隐藏参数
,需要以sys用户登陆(会刷屏)。
SELECT ksppinm, ksppstvl, ksppdesc FROM x$ksppi x, x$ksppcv y WHERE x.indx = y.indx AND TRANSLATE (ksppinm, '_', '#') LIKE '#%';
系统当前参数
使用下面的语句来查(会刷屏)。
SELECT DECODE(isdefault, 'TRUE','# '), DECODE(isdefault, 'TRUE', RPAD(name, 43), RPAD(name, 45)), VALUE FROM v$parameter ORDER BY name;
以上内容来自Dave的博客:https://blog.csdn.net/tianlesoftware/article/details/5583655