v$parameter2 与v$system_parameter2、v$spparameter

原创 2008年09月29日 13:21:00
v$parameter2显示当前session的参数值。
v$system_parameter2显示instance的参数值。
v$spparameter显示spfile中记录的参数值。
1、实例刚启动时参数值情况
session 1:
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED VALUE
------------------------------ ---------- -------------------- -------------------- ---------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE FALSE 16
ISDEFAULT=FALSE: 该参数不是缺省值
ISSES_MODIFIABLE=TRUE: 该参数可用alter session修改
ISSYS_MODIFIABLE=IMMEDIATE: alter system修改后参数立即生效
ISMODIFIED=FALSE: 没在session和instance级别修改过参数值
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$system_parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFI VALUE
------------------------------ ---------- -------------------- -------------------- -------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE FALSE 16
SQL> select name,value,isspecified from v$spparameter where name=’db_file_multiblock_read_count’;
NAME VALUE ISSPECIFIED
------------------------------ -------------------- --------------------
db_file_multiblock_read_count 16 TRUE
ISSPECIFIED=TRUE: 在spfile中设置了该参数
实例刚启动,当前session、instance和spfile中的值是一致的。
2、在session2中修改参数值,并分别在两个session中查询结果
session 2:
修改参数
SQL> alter session set db_file_multiblock_read_count=32;
Session altered.

查询参数
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED VALUE
------------------------------ ---------- -------------------- -------------------- ---------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE MODIFIED 32
ISMODIFIED=MODIFIED: 在当前session中修改过参数值
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$system_parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFI VALUE
------------------------------ ---------- -------------------- -------------------- -------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE FALSE 16
ISMODIFIED=FALSE: 未修改实例的参数值
SQL> select name,value,isspecified from v$spparameter where name=’db_file_multiblock_read_count’;
NAME VALUE ISSPECIFIED
------------------------------ -------------------- --------------------
db_file_multiblock_read_count 16 TRUE
在session2中查询v$parameter2时,参数值变为32.而v$system_parameter2与v$spparameter值仍为16. 修改在当前session中生效。
session 1:
查询参数
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED VALUE
------------------------------ ---------- -------------------- -------------------- ---------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE FALSE 16
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$system_parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFI VALUE
------------------------------ ---------- -------------------- -------------------- -------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE FALSE 16
SQL> select name,value,isspecified from v$spparameter where name=’db_file_multiblock_read_count’;
NAME VALUE ISSPECIFIED
------------------------------ -------------------- --------------------
db_file_multiblock_read_count 16 TRUE
session1的查询结果是三个视图中该参数值均为16. session2中的修改未影响session1.
alter session修改的参数仅在当前session有效,不会影响到其它session.
3、使用alter system修改参数,指定scope为memory.
session 1:
SQL> alter system set db_file_multiblock_read_count=8 scope=memory;
System altered.
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED VALUE
------------------------------ ---------- -------------------- -------------------- ---------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE SYSTEM_MOD 8
ISMODIFIED=SYSTEM_MOD:表示参数是使用alter system修改过的
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$system_parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFI VALUE
------------------------------ ---------- -------------------- -------------------- -------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE MODIFIED 8
SQL> select name,value,isspecified from v$spparameter where name=’db_file_multiblock_read_count’;
NAME VALUE ISSPECIFIED
------------------------------ -------------------- --------------------
db_file_multiblock_read_count 16 TRUE
v$parameter2与v$system_parameter2的参数值为8,而v$spparameter的参数值为16.由于alter system修改参数值时指定scope为memory,因此修改仅在实例中生效而未保存至spfile.同时由于该参数属于修改后立即生效(ISSYS_MODIFIABLE=IMMEDIATE),因此当前session中看到的也是8.
session 2:
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED VALUE
------------------------------ ---------- -------------------- -------------------- ---------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE SYSTEM_MOD 8
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$system_parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFI VALUE
------------------------------ ---------- -------------------- -------------------- -------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE MODIFIED 8
SQL> select name,value,isspecified from v$spparameter where name=’db_file_multiblock_read_count’;
NAME VALUE ISSPECIFIED
------------------------------ -------------------- --------------------
db_file_multiblock_read_count 16 TRUE
由于该参数值修改后立即生效的,session2当前的参数值也变为8.
对于修改立即生效的参数,使用alter system修改后,当前所有session都会受影响。
4、用alter system修改参数,指定scope为spfile
session 1:
SQL> alter system set db_file_multiblock_read_count=64 scope=spfile;
System altered.
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED VALUE
------------------------------ ---------- -------------------- -------------------- ---------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE SYSTEM_MOD 8
SQL> select name,isdefault,isses_modifiable,issys_modifiable,ismodified,value from v$system_parameter2 where name=’db_file_multiblock_read_count’;
NAME ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFI VALUE
------------------------------ ---------- -------------------- -------------------- -------- --------------------
db_file_multiblock_read_count FALSE TRUE IMMEDIATE MODIFIED 8
SQL> select name,value,isspecified from v$spparameter where name=’db_file_multiblock_read_count’;
NAME VALUE ISSPECIFIED
------------------------------ -------------------- --------------------
db_file_multiblock_read_count 64 TRUE
如果指定scope为spfile,实例和当前所有session都不受影响。下次重启后修改才生效。
由于sqlplus中的show parameter命令是查询v$parameter视图,因此看到的也是当前session的参数值。
在v$parameter2视图中的ISSES_MODIFIABLE字段为true的表示这个参数可以使用alter session修改;
在v$parameter2视图中的ISSYS_MODIFIABLE字段为immediate和deferred的表示这个参数可以使用alter system命令修改;false表示不能用alter system修改。
在v$parameter视图中的issys_modifiable3个值的含义:
如果是immediate:表示这次对这个参数的修改会在当前所有会话中就"立即"发生作用,即修改立即生效。
如果是deferred:表示这次修改对当前会话不发生作用,在以后打开的会话中起作用,故它有"推迟"影响的效果。修改该参数值时需要使用alter system set...deferred.如果不加deferred关键字则报错ORA-02096: specified initialization parameter is not modifiable with this option
如果是false:表示不能使用alter system命令修改

本文转自
http://space.itpub.net/?uid-228190-action-viewspace-itemid-170180

v$parameter, v$parameter2, v$system_parameter, v$system_parameter2, v$spparameter区别

v$parameter, v$parameter2, v$system_parameter, v$system_parameter2, v$spparameter区别
  • huang_xw
  • huang_xw
  • 2011年02月07日 16:21
  • 3762

参数文件视图(v$paraemter,v$parameter2,v$system_parameter,v$system_parameter2,v$spparameter)

用过Oracle的朋友都知道,现在绝大部分Oracle数据库使用的是基于服务器的参数文件。对于查询当前数据库实例级别,system级别,session级别参数的具体设置有些时候很容易混淆。本文主要介绍...
  • robinson_0612
  • robinson_0612
  • 2013年12月17日 15:48
  • 3922

修改初始化参数 v$parameter与v$spparameter

数据库中,有些初始化参数修改后是不能立即生效的。也就是说不能通过aler system set param_name=value  scope=memory 或者system set param_na...
  • w1346561235
  • w1346561235
  • 2016年05月25日 23:58
  • 800

v$parameter, V$PARAMETER2,v$system_parameter及v$spparameter

v$parameter显示的是session级的参数,也就是当前session的参数信息。如果没有使用alter session单独设置当前session的参数值,那么默认和system级的参数应该是...
  • yang0313
  • yang0313
  • 2011年03月31日 14:20
  • 209

V$PARAMETER和V$PARAMETER2, V$SYSTEM_PARAMETER和V$SYSTEM_PARAMETER2

前两天,看到有人讨论这几个视图的区别,也查看了一下。除了值不同,还有一个特点。XXX2里面,control_files是分开的,一个文件一行,而XXX里面,就一行,几个文件拼接在一起。 在V$PARA...
  • edwzhang
  • edwzhang
  • 2010年03月17日 16:33
  • 757

v$parameter,v$system_parameter及v$spparameter的区别

v$parameter,v$system_parameter及v$spparameter Oracle9i引入spfile后,许多参数可以动态的修改而不必重启数据库了,对DBA来说,这是天大的好...
  • qiuhong0720
  • qiuhong0720
  • 2017年04月08日 19:34
  • 112

【Oracle】v$session和v$process的使用

查看当前session的sid和serial#: SYS@ORCL>select sid,serial#,status from v$session where sid=userenv('sid');...
  • badly9
  • badly9
  • 2014年03月03日 10:22
  • 2142

v$sqlarea,v$sql,v$sqltext的区别和联系

v$sqltext 存储的是完整的SQL,SQL被分割SQL> desc v$sqltextName Null? Type---------------------------------------...
  • biti_rainy
  • biti_rainy
  • 2004年07月05日 17:48
  • 9001

System V 与 POSIX

System V 以及POSIX 对信号量、共享内存、消息队列等进程之间共享方式提供了自己的解决方案。因此,在学习时难免存在疑惑,到底有什么区别,哪种方式更佳。经过网上搜索各种博客,做出简单的总结。 ...
  • firstlai
  • firstlai
  • 2016年02月20日 16:10
  • 738

v$sql , v$sqlarea,v$sqltext 区别

1、V$SQL%知多少?   一、select table_name from dict where table_name like 'V$SQL%'; V$SQL V$SQLAREA V$...
  • pmhlove
  • pmhlove
  • 2013年01月18日 21:37
  • 2878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:v$parameter2 与v$system_parameter2、v$spparameter
举报原因:
原因补充:

(最多只允许输入30个字)