一、简单介绍多种查询初始化参数的方法
查询初始化参数的方法很多,比如 SHOW PARAMETER,或查询 V$PARAMETER 等,这里简
单总结一下。
首先初始化参数的设置的方法就有很多种,可以通过 ALTER SYSTEM SET SCOPE = MEMORY
的方式仅设置内存的修改,也可以通过 ALTER SYSTEM SET SCOPE = SPFILE 只修改 SPFILE
的值,当然也可以通过 ALTER SYSTEM SET SCOPE = BOTH 同时修改 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。同样可以查询 GV$SPPARAMETER 参数来显示
RAC 环境所有实例的设置。
首 先 看 一 下 V$PARAMETER 和 V$PARAMETER2 的 区 别 , 这 个 区 别 同 样 适 用 于
V$SYSTEM_PARAMETER 和 V$SYSTEM_PARAMETER2:
SYS@enmo> SELECT name, value FROM v$parameter
2 MINUS
3 SELECT name, value FROM v$parameter2;
NAME VALUE
------------------------------ ------------------------------
control_files /u01/app/oracle/oradata/enmo/c
评论