• [转]v$parameter, v$parameter2, v$system_parameter, v$system_parameter2, v$spparameter区别


    本文转自:http://blog.csdn.net/huang_xw/article/details/617389

    1 v$parameter

    v$parameter显示的是session级的参数. 如果没有使用alter session单独设置当前session的参数值.

    每一个新Session都是从 v$system_parameter上取得系统的当前值而产生Session的v$parameter view. (实验1)

    在运行过程中, v$parameter可能被用户改变.

    2 v$parameter2

    v$parameter2显示的是session级的参数.

    与v$parameter之间的区别则在于v$parameter2把LIST的值分开来了, 一行变多行数据, 用ORDINAL来指示相对的位置. (实验2)

    3 v$system_parameter

    v$system_parameter显示的是system级的参数, 保存的是使用alter system修改的值(scope=both或者memory). 上面两个都是当前已经生效的参数值.

    4 v$system_parameter2

    v$system_parameter2显示的是system级的参数.

    5 v$spparameter

    v$spparameter显示的就是保存在spfile中的参数值(scope=both或者spfile).

    6 字段解释

    字段

    字段值

    说明

    isses_modifiable

    true

    表示这个参数可以使用alter session修改

    false

    表示不能使用alter session命令修改

    issys_modifiable

    immediate

    表示这次对这个参数的修改会在当前所有会话中就"立即"发生作用, 即修改立即生效.

    deferred

    表示这次修改对当前会话不发生作用, 在以后打开的会话中起作用, 故它有"推迟"影响的效果. 修改该参数值时需要使用alter system set...deferred. 如果不加deferred关键字则报错ORA-02096: specified initialization parameter is not modifiable with this option.

    false

    表示不能使用alter system命令修改, 只能alter system ...... scope=spfile

    7 show parameter

    通过sql_trace发现,sqlplus中的show parameter其实查询的是v$parameter,实际的查询语句如下:

    select name name_col_plus_show_param,

           decode(type,

                  1,

                  'boolean',

                  2,

                  'string',

                  3,

                  'integer',

                  4,

                  'file',

                  5,

                  'number',

                  6,

                  'big integer',

                  'unknown') type,

           display_value value_col_plus_show_param

      from v$parameter

     where upper(name) like upper('%db_file%')

     order by name_col_plus_show_param, rownum;

    8 底层表解释

    通过autotrace,可以知道:

    v$parameter,v$system_parameter的底层表是x$ksppcv和x$ksppi

    v$parameter2,v$system_parameter2的底层表是x$ksppcv2和x$ksppi

    v$spparameter的底层表是x$kspspfile

    9 实验1

    SQL> select t1.value sesvalue, t2.value sysvalue

      2    from v$parameter t1, v$system_parameter t2

      3   where t1.num = t2.num

      4     and t1.value <> t2.value;

     

    SESVALUE            SYSVALUE

    ------------------- -------------------

     

    SQL> select value from v$system_parameter where name = 'global_names';

     

    VALUE

    -------------------

    FALSE

     

    SQL> select value from v$parameter where name = 'global_names';

     

    VALUE

    -------------------

    FALSE

     

    SQL> alter session set global_names = true;

     

    Session altered

     

    SQL> select t1.name, t1.value sesvalue, t2.value sysvalue

      2    from v$parameter t1, v$system_parameter t2

      3   where t1.num = t2.num

      4     and t1.value <> t2.value;

     

    NAME                SESVALUE            SYSVALUE

    ------------------- ------------------- -------------------

    global_names        TRUE                FALSE

    10 实验2

    SQL> column value format a106;

    SQL> select value from v$parameter where name like 'control_files';

     

    VALUE

    ----------------------------------------------------------------------------------------------------------

    D:/ORACLE/PRODUCT/10.2.0/ORADATA/TEST/CONTROL01.CTL, D:/ORACLE/PRODUCT/10.2.0/ORADATA/TEST/CONTROL02.CTL,

    D:/ORACLE/PRODUCT/10.2.0/ORADATA/TEST/CONTROL03.CTL

     

    SQL> column name format a15;

    SQL> column value format a53;

    SQL> column ordinal format a8;

    SQL> select name ,value, ordinal from v$parameter2 where name like 'control_files';

     

    NAME            VALUE                                                  ORDINAL

    --------------- ----------------------------------------------------- --------

    control_files   D:/ORACLE/PRODUCT/10.2.0/ORADATA/TEST/CONTROL01.CTL          1

    control_files   D:/ORACLE/PRODUCT/10.2.0/ORADATA/TEST/CONTROL02.CTL          2

    control_files   D:/ORACLE/PRODUCT/10.2.0/ORADATA/TEST/CONTROL03.CTL          3

  • 相关阅读:
    对比git rm和rm的使用区别
    Gerrit日常维护记录
    [原创]Gerrit中文乱码问题解决方案分享
    MySQL 高可用架构
    MySQL 高可用架构
    Android L开发指南
    如何使用GOOGLE高级搜索技巧
    Linux定时关机
    Android源码批量下载及导入到Eclipse
    怎样将Android SDK源码 导入到Eclipse中?
  • 原文地址:https://www.cnblogs.com/freeliver54/p/6605381.html
Copyright © 2020-2023  润新知