一、过时参数和强调参数.
Oracle数据库中,系统提供了几个视图可以查看系统参数的情况。视图V$OBSOLETE_PARAMETER中含有所有的过时(obsolete)和强调(underscored)参数。这里首先说明一下什么是Oracle的过时(obsolote)和强调(underscored)参数,过时参数,顾名思义就是在Oracle以前的版本中存在,但在新版本中已经淘汰了的参数,已经不再使用;而强调参数,是指那些在新版本中保留了下来,但是除非特殊需要不希望用户使用的那些参数。在视图V$OBSOLETE_PARAMETER中,包含这些参数的名称和一个标志字ISSPECIFIED,该标志字用来指出这个参数是否在init.ora文件中已实际设置。.
下面的SQL脚本列出了当前系统中所有的过时参数名称以及它们是否在当前系统中设定。.
SQL> COL name format a50;
SQL> SELECT name, isspecified FROM v$obsolete_parameter;.
上面谈到,Oracle系统并没有将V$OBSOLETE_PARAMETER视图中的所有参数均丢弃,而是将其中的一部分转换为强调参数,下面就来讨论如何查看这些参数是已被丢弃还是被转换。这可以通过系统视图X$KSPPO来查看,该视图中包含一个名为KSPPOFLAG的字段,用来指明该参数在当前版本中是被丢弃还是被强调,如果该值为1,则表示该参数已被丢弃,该值为2,则表明该参数现为强调参数。.
SELECT kspponm,
DECODE(ksppoflg, 1, Obsolete , 2, Underscored )
FROM x$ksppo
ORDER BY kspponm; .
注:该视图只在sys用户下可以看到。.
二、隐藏参数.
Oracle系统中还有一类参数称之为隐藏参数(hidden parameters),是系统中使用,但Oracle官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。这些参数在所有Oracle官方提供的文档中都没有介绍,他们的命名有一个共同特征就是都以 _ 作为参数的首字符,诸如Oracle 8i中的_trace_files_public和_lock_sga_areas等等。.
下面的查询可以得到当前系统中的所有隐藏参数(以sys身份登录):.
SELECT ksppinm, ksppstvl, ksppdesc
FROM x$ksppi x, x$ksppcv y
WHERE x.indx = y.indx
AND translate(ksppinm, _ , # ) like #% ; .
三、系统当前参数.
下面的脚本以英文字母顺序列出了系统当前使用的所有参数。在列出的参数中,如果参数名称前面有#这个符号,则表示该参数没有明确指定,采用了系统中的默认参数。一般在一个新的Oracle版本安装完成后,首先运行该脚本,则可以生成该版本数据库的标准init.ora文件。.
SET pagesize 9000
SET head OFF
SET term OFF
SELECT
DECODE(isdefault, TRUE , # ) ||
DECODE(isdefault, TRUE , RPAD(name,43), RPAD(name,45)) ||
= || value
FROM v$parameter
ORDER BY name; .