您的位置:首页 > 数据库 > Oracle

Oracle参数查看方法小结

2014-09-26 13:02 232 查看
Oracle提供了大量的系统参数,下面是查询方法小结。

系统当前参数

系统当前参数涉及到这些视图:v$parameter、v$parameter2、v$system_parameter、v$system_parameter2和v$spparameter。

v$parameter

存放session级的参数,如果没有被"alter session"修改,默认和system级的参数值相同,下面是该视图的关键字段:

 1)NUM:参数编号;

 2)NAME:参数名;

 3)TYPE:参数类型:

  1-Boolean;

  2-String;

  3-Integer;

  4-Parameter file;

  5-保留;

  6-Big integer;

 4)VALUE:当前session的参数值;

 5)DISPLAY_VALUE:用户友好的参数值;

 6)ISSES_MODIFIABLE:true表示参数能通过"alter session"被改变,false表示不能改变;

 7)ISSYS_MODIFIABLE:参数是否能被"alter system"改变,改变后:

  IMMEDIATE:参数可以通过"alter system"改变,立即生效

  DEFERRED:参数可以通过"alter system"改变,在下一个session开始生效

  false表示不能改变;

 8)ISINSTANCE_MODIFIABLE:true表示参数值在每个实例下可以是不同的,false表示所有实例必须具有相同的值。如果ISSYS_MODIFIABLE为false,则该值总是false;

 9)ISMODIFIED:表示参数是否在实例启动后被修改

  MODIFIED:参数被使用"alter session"修改

  SYSTEM_MOD:参数被使用"alter system"修改

  FALSE:在实例启动后没有被修改

 10)ISDEPRECATED:true表示该参数被弃用,否则false;

 11)DESCRIPTION:参数的描述信息;

 12)UPDATE_COMMENT:最近一次修改的注释;

 13)HASH:参数名的哈希值。

v$system_parameter

存放实例级别的参数,新的session将从这里继承参数值。下面是该视图的关键字段:

 1)NUM:参数编号;

 2)NAME:参数名;

 3)TYPE:参数类型:

  1-Boolean;

  2-String;

  3-Integer;

  4-Parameter file;

  5-保留;

  6-Big integer;

 4)VALUE:实例级的参数值;

 5)DISPLAY_VALUE:用户友好的参数值;

 6)ISSES_MODIFIABLE:true表示参数能通过"alter session"被改变,false表示不能改变;

 7)ISSYS_MODIFIABLE:参数是否能被"alter system"改变,改变后:

  IMMEDIATE:参数可以通过"alter system"改变,立即生效

  DEFERRED:参数可以通过"alter system"改变,在下一个session开始生效

  false表示不能改变;

 8)ISINSTANCE_MODIFIABLE:true表示参数值在每个实例下可以是不同的,false表示所有实例必须具有相同的值。如果ISSYS_MODIFIABLE为false,则该值总是false;

 9)ISMODIFIED:表示该参数怎么被修改。如果"alter system"被执行,这个值将是MODIFIED;

 10)ISDEPRECATED:true表示该参数被弃用,否则false;

 11)DESCRIPTION:参数的描述信息;

 12)UPDATE_COMMENT:最近一次修改的注释;

 13)HASH:参数名的哈希值。

v$parameter2

和v$parameter相同,唯一的区别是如果一个参数有多个值,那么在v$parameter2中将有多行,而在v$parameter中则只有一行,在value中使用逗号分隔多个值。

例如参数control_files,在v$parameter中为:

[plain] view plaincopyprint?

name            value  
--------------------------------------------------------------------------------------  
control_files   E:\ORACLE\ORADATA\LY\CONTROL01.CTL, E:\ORACLE\ORADATA\LY\CONTROL02.CTL, E:\ORACLE\ORADATA\LY\CONTROL03.CTL  

name			value
--------------------------------------------------------------------------------------
control_files	E:\ORACLE\ORADATA\LY\CONTROL01.CTL, E:\ORACLE\ORADATA\LY\CONTROL02.CTL, E:\ORACLE\ORADATA\LY\CONTROL03.CTL

在v$parameter2中为:

[plain] view plaincopyprint?

name            value  
--------------------------------------------------------------------------------------  
control_files   E:\ORACLE\ORADATA\LY\CONTROL01.CTL  
control_files   E:\ORACLE\ORADATA\LY\CONTROL02.CTL  
control_files   E:\ORACLE\ORADATA\LY\CONTROL03.CTL  

name			value
--------------------------------------------------------------------------------------
control_files	E:\ORACLE\ORADATA\LY\CONTROL01.CTL
control_files	E:\ORACLE\ORADATA\LY\CONTROL02.CTL
control_files	E:\ORACLE\ORADATA\LY\CONTROL03.CTL

v$system_parameter2

类似于v$parameter2。

v$spparameter

用于存放服务器参数文件(spfile)的参数信息,如果服务器参数文件没有被用于启动实例,则视图每行的ISSPECIFIED列的值都为false,视图的关键字段如下:

 1)SID:参数的SID;

 2)NAME:参数名;

 3)VALUE:参数值(如果服务器参数文件没有被用于启动实例,则为null);

 4)DISPLAY_VALUE:参数值,采用用户友好的格式;

 5)ISSPECIFIED:true表示参数在服务器参数文件中指定,否则false;

 6)ORDINAL:参数值的位置(序号)(如果服务端配置文件没被用于启动实例,则为0)。只有当参数值为一个列表时才使用;

 7)UPDATE_COMMENT:最近一次修改的注释(如果服务器参数文件没有被用于启动实例,则为null)。

隐藏参数

Oracle系统中还有一类参数称之为隐藏参数(hidden parameters),是系统中使用,但Oracle官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。这些参数在所有Oracle官方提供的文档中都没有介绍,他们的命名有一个共同特征就是都以'_'作为参数的首字符,和隐藏参数相关的视图有x$ksppi、x$ksppcv和x$ksppsv。

x$ksppi

x$ksppi是v$parameter、v$parameter2、v$system_parameter和v$system_parameter2的基础表,保存参数信息,关键字段如下:

 1)ADDR:内存地址

 2)INDX:序号

 3)INST_ID:实例编号

 4)KSPPINM:参数名称

 5)KSPPITY:参数类型:

  1-Boolean;

  2-String;

  3-Integer;

  4-Parameter file;

 6)KSPPDESC:参数描述信息

 7)KSPPIFLG:标志,用来说明isses_modifiable或者issys_modifiable

x$ksppcv

保存当前session的参数值,和x$ksppi用indx关联,关键字段如下:

 1)ADDR:内存地址

 2)INDX:序号

 3)INST_ID:实例编号

 4)KSPPSTVL:参数的当前值

 5)KSPPSTDF:参数的默认值

 6)KSPPSTVF:标志字段,用来说明('Modified'、'System Modified'或is_adjusted)

 7)KSPPSTCMNT:注释

x$ksppsv

保存系统参数值,和x$ksppi用indx关联,字段和x$ksppcv基本一致。

查询隐藏参数

查询隐藏参数和当前session的参数值和默认值:

[sql] view plaincopyprint?

select ksppinm "Parameter Name", ksppstvl "Value", ksppstdf "Default"  
  from x$ksppi x, x$ksppcv y  
 where x.indx = y.indx  
   and ksppinm like '/_%trace%' escape '/';  

select ksppinm "Parameter Name", ksppstvl "Value", ksppstdf "Default"
from x$ksppi x, x$ksppcv y
where x.indx = y.indx
and ksppinm like '/_%trace%' escape '/';

查看隐藏参数,并显示当前session和实例的参数值:

[sql] view plaincopyprint?

select a.ksppinm  Parameter,  
       a
bfb2
.ksppdesc Description,  
       b.ksppstvl "Session Value",  
       c.ksppstvl "Instance Value"  
  from x$ksppi a, x$ksppcv b, x$ksppsv c  
 where a.indx = b.indx  
   and a.indx = c.indx  
   and a.ksppinm like '\_%' escape '\';  

select a.ksppinm  Parameter,
a.ksppdesc Description,
b.ksppstvl "Session Value",
c.ksppstvl "Instance Value"
from x$ksppi a, x$ksppcv b, x$ksppsv c
where a.indx = b.indx
and a.indx = c.indx
and a.ksppinm like '\_%' escape '\';

将a.ksppinm指定特定的参数名,可以查看指定参数的对应的值。

废弃的参数

Oracle中存在一些以前的版本中存在,但新版本中废弃的参数,可以在视图V$OBSOLETE_PARAMETER中查找到,该视图值包含两个字段,name(参数名)和ISSPECIFIED(true表示参数在参数文件中指定,false表示没有。一般情况下该值都应该为false)。

下面是查询隐藏参数和ISSPECIFIED值的方法:

[sql] view plaincopyprint?

SELECT name, isspecified FROM v$obsolete_parameter;  

SELECT name, isspecified FROM v$obsolete_parameter;

补充

v$parameter_valid_values

视图v$parameter_valid_values包含了参数的有效值列表,主要字段如下:

 1)NUM:参数编号

 2)NAME:参数名

 3)ORDINAL:同一个参数的有效值序列号(从1开始)

 4)VALUE:参数值

 5)ISDEFAULT:该值是否为参数的默认值

下面是一个例子,查看参数optimizer_features_enable的所有有效值:

[plain] view plaincopyprint?

select * from v$parameter_valid_values where name = 'optimizer_features_enable'  
  
NUM     NAME                        ORDINAL     VALUE       ISDEFAULT  
----------------------------------------------------------------------------------  
905     optimizer_features_enable   1           8.0.0       FALSE  
905     optimizer_features_enable   2           8.0.3       FALSE  
905     optimizer_features_enable   3           8.0.4       FALSE  
905     optimizer_features_enable   4           8.0.5       FALSE  
905     optimizer_features_enable   5           8.0.6       FALSE  
905     optimizer_features_enable   6           8.0.7       FALSE  
905     optimizer_features_enable   7           8.1.0       FALSE  
905     optimizer_features_enable   8           8.1.3       FALSE  
905     optimizer_features_enable   9           8.1.4       FALSE  
905     optimizer_features_enable   10          8.1.5       FALSE  
905     optimizer_features_enable   11          8.1.6       FALSE  
905     optimizer_features_enable   12          8.1.7       FALSE  
905     optimizer_features_enable   13          9.0.0       FALSE  
905     optimizer_features_enable   14          9.0.1       FALSE  
905     optimizer_features_enable   15          9.2.0       FALSE  
905     optimizer_features_enable   16          10.1.0      FALSE  
905     optimizer_features_enable   17          10.1.0.3    FALSE  
905     optimizer_features_enable   18          10.1.0.4    FALSE  
905     optimizer_features_enable   19          10.1.0.5    FALSE  
905     optimizer_features_enable   20          10.2.0.1    TRUE  
905     optimizer_features_enable   21          10.2.0.1.1  FALSE  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: