数据库查询初始化参数的方法

数据库 Oracle 数据库运维
查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。这一篇简单介绍多种查询初始化参数的方法。

首先初始化参数的设置的方法就有很多种:可以通过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$PARAMETER
  2  MINUS
 3  SELECT NAME, VALUE FROM V$PARAMETER2;

NAME                                     VALUE
0---------------------------------------- --------------------------------------------------

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


SQL> SELECT NAME, VALUE FROM V$PARAMETER2
  2  MINUS
  3  SELECT NAME, VALUE FROM V$PARAMETER;

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

【编辑推荐】

  1. 从数据库表格中随机抽取行
  2. 数据库开发管理中的十条建议
  3. 数据库查询的分页优化技巧
责任编辑:彭凡 来源: itpub
相关推荐

2009-06-26 10:10:59

Oracle数据库

2023-08-24 09:41:54

Oracle数据库

2009-12-16 14:04:04

Ruby对象初始化

2015-10-30 09:51:19

Java重写初始化隐患

2024-08-14 17:21:34

2010-08-20 16:02:45

Cassandra集群

2023-11-12 23:08:17

C++初始化

2010-02-01 14:21:24

C++初始化列表

2010-10-27 17:11:35

oracle查询

2009-06-10 16:17:00

Netbeans JT初始化

2012-03-13 13:38:42

Java

2021-07-07 05:00:17

初始化源码

2011-03-16 10:52:20

2009-08-28 11:43:26

C#数组初始化

2010-01-22 15:47:37

VB.NET初始化网格

2011-06-17 15:29:44

C#对象初始化器集合初始化器

2021-03-12 10:30:11

SpringMVC流程初始化

2020-12-03 09:50:52

容器IoC流程

2022-07-06 10:37:45

SpringServlet初始化

2010-07-28 10:22:33

FlexApplica
点赞
收藏

51CTO技术栈公众号