参数文件视图

浏览:
字体:
发布时间:2013-12-20 16:18:49
来源:

用过Oracle的朋友都知道,现在绝大部分Oracle数据库使用的是基于服务器的参数文件。对于查询当前数据库实例级别,system级别,session级别参数的具体设置有些时候很容易混淆。本文主要介绍了Oracle数据库参数使用的相关视图(V$PARAMETER,V$PARAMETER2,V$SYSTEM_PARAMETER,V$SYSTEM_PARAMETER2,V$SPPARAMETER),以及通过查询Oracle视图来获得不同情形下的参数值并进行对比。

 1、对比有关参数视图

b、V$PARAMETER2

c、V$SYSTEM_PARAMETER

d、V$SYSTEM_PARAMETER2

e、V$SPPARAMETER

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 - Productionscott@USBO> show parameter cursor_sharNAME                                 TYPE                              VALUE------------------------------------ --------------------------------- ------------------------------cursor_sharing                       string                            EXACTscott@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                   TRUEscott@USBO> alter session set cursor_sharing='SIMILAR';   --->上面的查询可知session级别为true,即可修改Session altered.scott@USBO> show parameter cursor_shar   -->再次查看,修改已经生效NAME                                 TYPE                              VALUE------------------------------------ --------------------------------- ------------------------------cursor_sharing                       string                            SIMILARb、查看基于实例级别的参数--基于实例级别的参数需要通过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.ctlscott@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.ctlcontrol_files                  /u03/database/usbo/oradata/control02.ctld、关于v$spparameter--该视图可以用于判断当前数据库使用的是pfile还是spfile来启动scott@USBO> select distinct isspecified from v$spparameter;ISSPECIFIED------------------TRUE                       --->第一个值为TRUE,spfile启动FALSEgoex_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.ctlcontrol_files                  /u03/database/usbo/oradata/control02.ctl
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();