当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle认证辅导:教你数据库查询初始化参数

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

Oracle认证辅导:教你数据库查询初始化参数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 86 ::
收藏到网摘: n/a

  首先初始化参数的设置的方法就有很多种:可以通过ALTER SYSTEM SET SCOPE = MEMORY的方式仅设置内存的修改,也可以通过ALTER SYSTEM SET SCOPE = SPFILE只修改SPFILE的值,当然也可以同时修改SPFILE和MEMORY中的设置。还有一种初始化参数可以设置延迟生效,也就是说这个修改只对以后连接到数据库的会话生效,而对当前会话以及其他已经连接到Oracle的会话不会生效。如果再考虑RAC环境,数据库中存在多个启动实例的情况,那么查询数据库初始化参数就更加复杂了。

  所幸Oracle提供的查询初始化参数方法也有很多种:SHOW PARAMETERS、SHOW SPPARAMETERS、CREATE PFILE、V$PARAMETER、V$PARAMETER2、V$SYSTEM_PARAMETER、V$SYSTEM_PARAMETER2、 V$SPPARAMETER。

  SHOW PARAMETERS是SQLPLUS工具提供的查询初始化参数的方法,这个方法查询的初始化参数是当前会话生效的初始化参数。

  SHOW SPPARAMETERS也是SQLPLUS工具提供的方法,用来查询当前会话生效的SPFILE参数包含的初始化参数。这个命令在11g以后sqlplus版本中有效。

  CREATE PFILE命令不像其他方法那样直观,这种方法可以将SPFILE中或当前内存中设置的初始化文件保存到PFILE文件中,然后就可以通过文本编辑工具直观的看到SPFILE中或当前内存中设置了哪些初始化参数。虽然这种方法看上去比较麻烦,但是这种方法列出的参数都是用户设置的参数,所有默认值的参数并不会列出来,因此看到的结果要比其他方法直观得多。在11g以后的版本允许CREATE PFILE FROM MEMORY。

  V$PARAMETER视图提供了当前会话可见的初始化参数的设置,如果像查询RAC数据库的所有实例的设置,可以查询GV$PARAMETER视图。

  V$PARAMETER2视图和V$PARAMETER差不多,唯一的区别在于对于包括值的初始化参数,从这个视图会返回多条记录,每条记录对应一个值。同样的,对于RAC环境可以查询GV$PARAMETER2视图。

  V$SYSTEM_PARAMETER视图记录当前实例生效的初始化参数设置。注意这里是实例生效而不是会话生效。同样,GV$SYSTEM_PARAMETER则包含了所有实例生效的初始化参数信息。

  V$SYSTEM_PARAMETER2视图与V$SYSTEM_PARAMETER视图的关系和V$PARAMETER2视图与V$PARAMETER视图的关系一样,都是对于包含多个值的参数采用了分行处理的方式。

  V$SPPARAMETER记录了来自SPFILE文件中初始化参数。如果参数在SPFILE文件中没有设置,则字段ISSPECIFIED对应的值为FALSE。同样可以查询GVSPPARAMETER参数来显示RAC环境所有实例的设置。

  首先看一下V$PARAMETER和V$PARAMETER2的区别,这个区别同样适用于V$SYSTEM_PARAMETER和V$SYSTEM_PARAMETER2:

  SQL> SELECT NAME, VALUE FROM V$PARAMETER2 MINUS3 SELECT NAME, VALUE FROM V$PARAMETER2;

  NAME VALUE0-------------

  control_files E:\ORACLE\ORADATA\YTK102\CONTROL01.CTL, E:\ORACLE\ORADATA\YTK102\CONTROL02.CTL, E:\ORACLE\ORADATA\YTK102\CONTROL03.CTL

  SQL> SELECT NAME, VALUE FROM V$PARAMETER22 MINUS3 SELECT NAME, VALUE FROM V$PARAMETER;

  NAME VALUE-----------------control_files E:\ORACLE\ORADATA\YTK102\CONTROL01.CTLcontrol_files E:\ORACLE\ORADATA\YTK102\CONTROL02.CTLcontrol_files E:\ORACLE\ORADATA\YTK102\CONTROL03.CTL