用过Oracle的朋友都知道,现在绝大部分Oracle数据库使用的是基于服务器的参数文件。对于查询当前数据库实例级别,system级别,session级别参数的具体设置有些时候很容易混淆。本文主要介绍了Oracle数据库参数使用的相关视图(V$PARAMETER,V$PARAMETER2,V$SYSTEM_PARAMETER,V$SYSTEM_PARAMETER2,V$SPPARAMETER),以及通过查询Oracle视图来获得不同情形下的参数值并进行对比。
1、对比有关参数视图
a、V$PARAMETER
displays information about the initialization parameters that are currently in effect for the session.
A new session inherits parameter values from the instance-wide values displayed by the V$SYSTEM_PARAMETER view.
显示的是基于当前session级别生效的初始化参数,新的session会从实例范围派生一些参数值(在视图V$SYSTEM_PARAMETER2呈现)
视图下的几个重要列(下面的几个视图中也存在这个几个列,类同)
ISSES_MODIFIABLE: 表明当前参数是否够基于session级别进行修改(ALTER SESSION (TRUE) or not (FALSE))
ISSYS_MODIFIABLE: 表明当前参数是否够基于system级别进行修改(ALTER SYSTEM)以及改变生效的情形
IMMEDIATE,立即生效(不考虑是否用pfile或spfile启动);
DEFERRED,延迟生效,后续新的session中有效(不考虑是否用pfile或spfile启动);
FALSE,参数不能被修改,除非使用了spfile参数文件启动,后续新的session中有效
ISINSTANCE_MODIFIABLE:是否为实例级别可修改参数(ALTER SYSTEm),主要是考虑RAC环境
为TRUE,表明该参数可以不同于其他实例
为FALSE,表名该参数在所有实例中必须使用相同的值
b、V$PARAMETER2
displays information about the initialization parameters that are currently in effect for the session,
with each list parameter value appearing as a row in the view.
A new session inherits parameter values from the instance-wide values displayed in the V$SYSTEM_PARAMETER2 view.
显示的是基于当前session级别生效的初始化参数,新的session会从实例范围派生一些参数(在视图V$SYSTEM_PARAMETER2呈现)
注意,这个视图对于存在多个参数值的参数,在这个视图中分为多行进行列出
如control_files在视图V$PARAMETER呈现为一行,且有2个值,则在V$PARAMETER2中显示为2行
Presenting the list parameter values in this format enables you to quickly determine the values for a list parameter.
For example, if a parameter value is a, b, then the V$PARAMETER view does not tell you if the parameter has two values (both a and b)
or one value (a, b). V$PARAMETER2 makes the distinction between the list parameter values clear.
c、V$SYSTEM_PARAMETER
V$SYSTEM_PARAMETER displays information about the initialization parameters that are currently in effect for the instance.
A new session inherits parameter values from the instance-wide values.
显示的是基于实例级别参数的相关信息,新的session同样会从实例级别进行派生
d、V$SYSTEM_PARAMETER2
V$SYSTEM_PARAMETER2 displays information about the initialization parameters that are currently in effect for the instance,
with each list parameter value appearing as a row in the view. A new session inherits parameter values from the instance-wide values.
与V$PARAMETER,V$PARAMETER2相类似,V$SYSTEM_PARAMETER2用于展示实例级别且一个参数有多个值分多行列出的情形
e、V$SPPARAMETER
displays information about the contents of the server parameter file. If a server parameter file was not used to start
the instance, then each row of the view will contain FALSE in the ISSPECIFIED column.
这个视图列出的是基于服务器参数文件中的参数信息,如果没有使用服务器参数文件启动实例,则视图中每一行ISSPECIFIED列的值为FALSE
2、示例演示参数视图
a、查看session级别的参数
--基于session级别可以直接使用show parameter 方式
--演示环境
scott@USBO> select * from v$version where rownum<2;
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
scott@USBO> show parameter cursor_shar
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
cursor_sharing string EXACT
scott@USBO> select name,value,isses_modifiable,issys_modifiable,isinstance_modifiable
2 from v$parameter where name='cursor_sharing';
NAME VALUE ISSES_MODIFIABL ISSYS_MODIFIABLE ISINSTANCE_MODI
------------------------------ --------------- --------------- --------------------------- ---------------
cursor_sharing EXACT TRUE IMMEDIATE TRUE
scott@USBO> alter session set cursor_sharing='SIMILAR'; --->上面的查询可知session级别为true,即可修改
Session altered.
scott@USBO> show parameter cursor_shar -->再次查看,修改已经生效
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
cursor_sharing string SIMILAR
b、查看基于实例级别的参数
--基于实例级别的参数需要通过V$SYSTEM_PARAMETER访问
scott@USBO> select name,value from v$system_parameter where name='cursor_sharing';
NAME VALUE
------------------------------ ---------------
cursor_sharing EXACT --->可以看到此时的值依旧是exact,并没有受到之前修改的影响
scott@USBO> alter system set cursor_sharing='FORCE'; --->将参数cursor_sharing进行基于系统级别进行修改
System altered.
scott@USBO> show parameter cursor_sharing --->此时可以看到当前session级别该参数从system级别派生
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
cursor_sharing string FORCE
scott@USBO> alter session set cursor_sharing='EXACT'; --->再次基于session级别进行修改
Session altered.
scott@USBO> show parameter cursor_shar --->此时查询到session的值变为EXACT,那system级别呢?肯定是FORCE,大家自行验证
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
cursor_sharing string EXACT
c、演示v$parameter与v$parameter2的差异
scott@USBO> show parameter control_files;
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
control_files string /u03/database/usbo/oradata/con
trol01.ctl, /u03/database/usbo
/oradata/control02.ctl
scott@USBO> select name,value from v$parameter where name='control_files';
NAME VALUE
------------------------------ ------------------------------------------------------------
control_files /u03/database/usbo/oradata/control01.ctl, /u03/database/usbo
/oradata/control02.ctl
--查询v$parameter2时,对于存在多个参数值的参数,在这个视图中分为多行进行列出,如下
--对于v$system_parameter与v$system_parameter2存在类似的情形,不再演示
scott@USBO> select name,value from v$parameter2 where name='control_files';
NAME VALUE
------------------------------ ------------------------------------------------------------
control_files /u03/database/usbo/oradata/control01.ctl
control_files /u03/database/usbo/oradata/control02.ctl
d、关于v$spparameter
--该视图可以用于判断当前数据库使用的是pfile还是spfile来启动
scott@USBO> select distinct isspecified from v$spparameter;
ISSPECIFIED
------------------
TRUE --->第一个值为TRUE,spfile启动
FALSE
goex_admin@MFTST> select distinct isspecified from v$spparameter;
ISSPEC
------
FALSE --->为false,pfile文件启动数据库
goex_admin@MFTST> select name,value from v$spparameter where name='control_files';
NAME VALUE
------------------------- ------------------------------------------------------------
control_files --->由于为pfile启动,所以查询不到任何信息
goex_admin@MFTST> select count(*) from v$spparameter where isspecified='TRUE';
COUNT(*)
---------- --->列isspecified没有一个值为TRUE,同样是因为使用了pfile
0
对于spfile启动下的v$spparameter,对于存在多个参数值的参数,在这个视图中也分为多行进行列出
scott@USBO> select name,value from v$spparameter where name='control_files';
NAME VALUE
------------------------------ ------------------------------------------------------------
control_files /u03/database/usbo/oradata/control01.ctl
control_files /u03/database/usbo/oradata/control02.ctl
3、小结
a、对于Oracle数据库参数文件存在多个视图可以查询其值(v$paraemter,v$parameter2,v$system_parameter,v$system_parameter2,v$spparameter);
b、v$paraemter,v$parameter2视图主要是查询基于session级别的参数的相关信息,v$parameter2对于同一个参数多个值分多行的形式展开;
c、v$system_parameter,v$system_parameter2是查询基于system,实例级别的参数的相关信息,v$system_parameter2同样用于一个参数多值分行展开;
d、注意理解参数的几个不同级别session,system,instance级别,instance级别主要对多实例情形(RAC),有时候sytem与instance会混用;
e、v$spparameter主要是针对服务器参数文件有效即spfile,同时也可以用于检查当前使用了pfile还是spfile方式启动。
更多参考
有关Oracle RAC请参考
使用crs_setperm修改RAC资源的所有者及权限
使用crs_profile管理RAC资源配置文件
RAC 数据库的启动与关闭
再说 Oracle RAC services
Services in Oracle Database 10g
Migrate datbase from single instance to Oracle RAC
Oracle RAC 连接到指定实例
Oracle RAC 负载均衡测试(结合服务器端与客户端)
Oracle RAC 服务器端连接负载均衡(Load Balance)
Oracle RAC 客户端连接负载均衡(Load Balance)
ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
ORACLE RAC 监听配置 (listener.ora tnsnames.ora)
配置 RAC 负载均衡与故障转移
CRS-1006 , CRS-0215 故障一例
基于Linux (RHEL 5.5) 安装Oracle 10g RAC
使用 runcluvfy 校验Oracle RAC安装环境
有关Oracle 网络配置相关基础以及概念性的问题请参考:
配置非默认端口的动态服务注册
配置sqlnet.ora限制IP访问Oracle
Oracle 监听器日志配置与管理
设置 Oracle 监听器密码(LISTENER)
配置ORACLE 客户端连接到数据库
有关基于用户管理的备份和备份恢复的概念请参考
Oracle 冷备份
Oracle 热备份
Oracle 备份恢复概念
Oracle 实例恢复
Oracle 基于用户管理恢复的处理
SYSTEM 表空间管理及备份恢复
SYSAUX表空间管理及恢复
Oracle 基于备份控制文件的恢复(unsing backup controlfile)
有关RMAN的备份恢复与管理请参考
RMAN 概述及其体系结构
RMAN 配置、监控与管理
RMAN 备份详解
RMAN 还原与恢复
RMAN catalog 的创建和使用
基于catalog 创建RMAN存储脚本
基于catalog 的RMAN 备份与恢复
RMAN 备份路径困惑
使用RMAN实现异机备份恢复(WIN平台)
使用RMAN迁移文件系统数据库到ASM
linux 下RMAN备份shell脚本
使用RMAN迁移数据库到异机
有关ORACLE体系结构请参考
Oracle 表空间与数据文件
Oracle 密码文件
Oracle 参数文件
Oracle 联机重做日志文件(ONLINE LOG FILE)
Oracle 控制文件(CONTROLFILE)
Oracle 归档日志
Oracle 回滚(ROLLBACK)和撤销(UNDO)
Oracle 数据库实例启动关闭过程
Oracle 10g SGA 的自动化管理
Oracle 实例和Oracle数据库(Oracle体系结构)
分享到:
相关推荐
v$parameter, v$parameter2, v$system_parameter, v$system_parameter2 - **定义**:系统参数的信息。 - **用途**:查询和调整系统级别的配置参数。 ##### 14. v$obsolete_parameter - **定义**:过时的参数信息。...
14. **v$parameter & v$system_parameter**:这两个视图分别提供了关于数据库实例参数和系统级参数的信息,对于调整数据库配置和性能调优至关重要。 15. **v$rollstat**:此视图提供了关于事务回滚统计信息,对于...
Oracle数据库的参数信息存储在`V$SYSTEM_PARAMETER`视图中,这个视图提供了关于当前实例生效的初始化参数的各种信息,包括参数编号、名称、类型、值、是否为默认值、是否能在会话级别或系统级别修改等。`ISSES_...
`v$parameter` 视图显示了当前数据库实例的所有初始化参数设置。这些参数对于数据库的整体行为和性能有着决定性的影响。正确配置这些参数可以极大地提升数据库性能。 ### 9. v$Librarycache `v$Librarycache` 视图...
- **v$parameter**:显示了初始化参数文件中所有项的值,这对于理解当前数据库配置非常重要。 - **v$process**:提供了当前进程的信息,有助于诊断与进程相关的性能问题。 - **v$rollname**:提供了回滚段信息,这...
- `v$parameter`和`v$system_parameter`记录了数据库的动态参数设置,如`db_block_size`、`shared_pool_size`等,这些参数对数据库性能和资源管理至关重要。 - `v$obsolete_parameter`列出了已废弃或不再推荐使用的...
新的会话会继承自`v$system_parameter`视图所示的实例级参数值。通过调整这些参数,可以优化数据库性能和行为。 4. **备份和恢复相关的视图** - `v$backup` 显示所有在线数据文件的备份状态,对于数据保护和恢复...
常用动态性能视图:v$fixed_table、v$fixed_view_definition、v$database、v$instance、v$version、v$log、v$sysstat、v$logfile、v$controlfile、v$system_event、v$parameter、v$process、v$session、v$session_...
Oracle还提供了V$视图来查询数据库运行时的各种动态性能视图,比如V$PARAMETER和V$PARAMETER2。这些视图能够帮助DBA(数据库管理员)监控和调整数据库参数。V$PARAMETER视图详细列出了当前数据库实例中所有参数的...
- **V$PARAMETER**: 展示当前实例参数设置,这些参数对于调整数据库性能至关重要。 - **V$BACKUP**: 提供备份相关信息,虽然不是直接用于性能调优,但在规划备份策略时很有帮助。 - **V$PX_PROCESS_SYSSTAT**: 关于...
- 使用`v$spparameter`、`v$parameter`、`v$parameter2`视图可以查询SPFILE中的参数信息,`SHOW SGA`命令仍然可用,显示SGA(System Global Area)的配置。 总的来说,Oracle 9i的SPFILE带来了更高效、安全和灵活...
- **v$parameter**:显示了实例参数的当前设置,这对于调整数据库性能至关重要。 - **v$session_wait**:提供了会话等待事件的信息,对于诊断会话级别的性能问题非常有用。 #### 四、小结 通过上述介绍可以看出,...
- **V$SYSTEM_PARAMETER**:显示实例当前有效的参数信息。 - **内存结构**: - **V$SGA**:显示系统全局区(SGA)的大小信息。 - **V$SGASTAT**:记录SGA使用的详细统计信息。 - **V$DB_OBJECT_CACHE**:记录对象...
* PARAMETER1、PARAMETER2、PARAMETER3: VARCHAR2(64)类型,表示等待事件的参数 * WAIT_CLASS_ID: NUMBER 类型,表示等待事件的分类 ID * WAIT_CLASS#: NUMBER 类型,表示等待事件的分类编号 * WAIT_CLASS: ...
- 可以使用`v$spparameter`, `v$parameter`, `v$parameter2`视图获取参数信息,以及使用`SHOW SGA`命令显示SGA(System Global Area)相关参数。 总的来说,SPFILE的引入极大地提高了Oracle数据库管理的灵活性和...
2. **了解初始化参数文件以及初始化参数的含义**:初始化参数文件是用于配置Oracle实例的重要文件,通过它设置系统级的配置参数,如内存大小、进程数量等。 3. **掌握查看三类数据字典视图和动态性能视图的方法**:...
2. **查询V$PARAMETER视图** - **显示所有初始化参数**: ```sql SELECT NAME, TYPE, VALUE FROM V$PARAMETER; ``` - **显示特定初始化参数详细信息**: ```sql SELECT ISSES_MODIFIABLE, ISSYS_MODIFIABLE, ...
FROM v$parameter u_dump, v$parameter instance, v$process, v$session WHERE u_dump.name = 'user_dump_dest' AND instance.name = 'instance_name' AND v$session.audsid = sys_context('userenv','sessionid...
- `v$parameter`: 包含参数信息。 - `v$process`: 包含进程信息。 - `v$session`: 包含会话信息。 - `user_dump_dest`: 用户转储目录。 - `instance_name`: 实例名称。 - `spid`: 进程ID。 - `traceid`: TRACE文件ID...