赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索

Oracle中如何查询当前版本中的各参数

发布时间:2007.03.02 04:42     来源:赛迪网技术社区    作者:neiyuan

Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数。Oracle系统中的参数,根据系统使用情况可以简单分为两大类,普通参数,也就是Oracle系统正常使用的一些参数,另外一类就是特殊参数,包括三种,过时参数、强调参数和隐藏参数。随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数。如何查询当前版本数据库系统的参数情况以及当前系统版本相对于以前版本增加或者丢弃的那些参数呢?本文将详细介绍如何查询当前系统版本中的各种参数情况。

一、过时参数和强调参数

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;

注意:上面的 SQL 脚本没有列出系统中的隐藏参数。 (T004)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 怎样将Oracle中大量数据快速转移数据 (03-01) · 教你用Oracle解析函数快速检查序列间隙 (03-01)
· Oracle中用表外键来保证系统参照完整性 (03-01) · Oracle中资源的共享与竞争及问题定位 (03-01)
· Oracle中构建基于VPD特性的安全数据库 (03-01) · 关于Oracle数据库中密码安全管理总结 (02-28)
· Oracle中通过触发器来追踪用户的活动 (02-28) · 针对Oracle远程复制和容灾的解决方案 (02-28)
· Oracle中共享连接和专用连接对比分析 (02-27) · 自动完成Oracle客户端的安装及其配置 (02-27)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管