oracle如何查询初始化参数(二)V$PARAMETER与V$SYSTEM_PARAMETER视图的不同

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下。

这一篇介绍V$PARAMETER视图与V$SYSTEM_PARAMETER视图的不同。

上一篇文章介绍了很多种查询初始化参数的方法,而且说明了V$PARAMETER视图和V$PARAMETER2视图的区别。

这里看看V$PARAMETER和V$SYSTEM_PARAMETER视图的区别。

一般在查询初始化参数的时候都习惯性的使用SHOW PARAMETER,也就是查询V$PARAMETER视图,但是有些时候查询这个视图得到的结果并不准确:

SQL> show parameter query_rewrite_enabled

NAME TYPE VALUE

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

query_rewrite_enabled string TRUE

SQL> select name, value

2 from v$parameter

3 where name = 'query_rewrite_enabled';

NAME VALUE

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

query_rewrite_enabled TRUE

SQL> select name, value

2 from v$system_parameter

3 where name = 'query_rewrite_enabled';

NAME VALUE

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

query_rewrite_enabled TRUE

这是如果在会话级修改query_rewrite_enabled这个初始化参数:

SQL> alter session set query_rewrite_enabled = false;

会话已更改。

SQL> show parameter query_rewrite_enabled

NAME TYPE VALUE

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

query_rewrite_enabled string FALSE

SQL> select name, value

2 from v$parameter

3 where name = 'query_rewrite_enabled';

NAME VALUE

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

query_rewrite_enabled FALSE

SQL> select name, value

2 from v$system_parameter

3 where name = 'query_rewrite_enabled';

NAME VALUE

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

query_rewrite_enabled TRUE

本文URL地址:http://www.bianceng.cn/database/Oracle/201410/45544.htm

可以看到,show parameter和查询v$parameter视图的结果都是FALSE,而刚才做的修改只是会话级,并没有修改系统的初始化参数。在上一篇描述这两个视图的时候就提到了,V$PARAMETER视图反映的是初始化参数在当前会话中生效的值,而V$SYSTEM_PARAMETER反映的才是实例级上的初始化参数。

在来看看延迟参数修改的情况:

SQL> select name, value

2 from v$parameter

3 where name = 'recyclebin';

NAME VALUE

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

recyclebin on

SQL> select name, value

2 from v$system_parameter

3 where name = 'recyclebin';

NAME VALUE

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

recyclebin on

SQL> alter system set recyclebin = off deferred scope = memory;

系统已更改。

SQL> select name, value

2 from v$parameter

3 where name = 'recyclebin';

NAME VALUE

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

recyclebin on

SQL> select name, value

2 from v$system_parameter

3 where name = 'recyclebin';

NAME VALUE

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

recyclebin OFF

结果和前面的恰好反过来,v$parameter视图中的结果没有发生变化,而v$system_parameter视图的结果变成了OFF。这是因为延迟修改对数据库中当前存在的会话不生效,因此反映当前会话情况的v$parameter视图结果不变,而对于系统而言,初始化参数已经改变,而且所有新建会话的参数也会改变,所以v$system_parameter视图的结果发生了改变。

SQL> CONN YANGTK/YANGTK@YTK111已连接。

SQL> select name, value

2 from v$parameter

3 where name = 'recyclebin';

NAME VALUE

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

recyclebin OFF

SQL> select name, value

2 from v$system_parameter

3 where name = 'recyclebin';

NAME VALUE

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

recyclebin OFF

根据这两个例子,利用V$PARAMETER视图获取系统的启动初始化参数是不准确的,应该从V$SYSTEM_PARAMETER视图来获取。

时间: 2024-08-11 12:20:26

oracle如何查询初始化参数(二)V$PARAMETER与V$SYSTEM_PARAMETER视图的不同的相关文章

oracle如何查询初始化参数(三)V$SPPARAMETER与GV$PARAMETER视图的不同

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇介绍V$SPPARAMETER视图于GV$PARAMETER视图的不同. 上一篇介绍了V$SYSTEM_PARAMETER和V$PARAMETER视图之间的区别,这篇主要讨论RAC环境下初始化参数的查询. 前文已经提到,使用SHOW PARAMETER查询,看到的是当前会话可以看到的初始化参数,那么这个参数导致是全局设置还是当前实例设置的,是从这个命令中看不到的. 虽然Oracl

oracle如何查询初始化参数(六)描述CREATE PFILE的方法检查初

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇描述CREATE PFILE的方法检查初始化参数. 前面介绍了很多种方法,这些方法都是在数据库中查询初始化参数的设置.其实还有一种方法更加的一目了然,就是CREATE PFILE的方式: SQL> show parameter spfile NAME                                 TYPE        VALUE ---------------

oracle如何查询初始化参数(五)如何判断一个初始化参数的来源

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇描述如何判断一个初始化参数的来源. 判断数据库启动是否启用了SPFILE很简单,只需要通过SHOW PARAMETER SPFILE命令就可以看到: SQL> show parameter spfile NAME                                 TYPE        VALUE ----------------------------------

oracle如何查询初始化参数(四)描述GV$SPPARAMETER参数的必要性

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇描述GV$SPPARAMETER参数的必要性. 前一篇文章介绍了V$SPPARAMETER参数,也说明了V$SPPARAMETER视图中的信息与GV$PARAMETER视图中的区别. 其实这里还有一个问题,就是GV$SPPARAMETER是否有意义.因为V$SPPARAMETER参数本身就包含了SID列,SPFILE中本身就包含了所有实例的设置,那么查询GV$SPPARAMETE

oracle如何查询初始化参数(一) 多种查询初始化参数的方法

查询初始化参数的方法很多,比如SHOW PARAMETER,或查询V$PARAMETER等,这里简单总结一下. 这一篇简单介绍多种查询初始化参数的方法. 首先初始化参数的设置的方法就有很多种:可以通过ALTER SYSTEM SET SCOPE = MEMORY的方式仅设置内存的修改,也可以通过ALTER SYSTEM SET SCOPE = SPFILE只修改SPFILE的值,当然也可以同时修改SPFILE和MEMORY中的设置.还有一种初始化参数可以设置延迟生效,也就是说这个修改只对以后连接

Oracle的REMOTE_OS_AUTHENT初始化参数

初始化参数REMOTE_OS_AUTHENT用来控制是否允许远端操作系统验证. 默认情况下,数据库只运行本地服务器上的操作系统验证: SQL> SELECT * FROM GLOBAL_NAME; GLOBAL_NAME ------------------------------------------------------------------------------------ TESTRAC SQL> SELECT * FROM V$VERSION; BANNER --------

Oracle中的初始化参数O7_DICTIONARY_ACCESSIBILITY

O7_DICTIONARY_ACCESSIBILITY也是和安全性有关的一个重要的初始化参数.这个参数用来控制数据字典访问行为是否和Oracle 7中保持一致. 默认情况下,这个参数设置为FALSE,这时拥有ANY系统权限的用户并不能访问SYS用户下的对象,这些对象也包括数据字典. SQL> SHOW PARAMETER O7 NAME                                 TYPE        VALUE ------------------------------

Oracle 10g的初始化参数AUDIT_TRAIL简介

在9i中,初始化参数AUDIT_TRAIL只有NONE.DB和OS三个可选值,而在10g中,Oracle又增加了几个新的选项. 这篇介绍XML选项. 数据库版本和默认AUDIT_TRAIL参数设置: SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database10gEnterpriseEdition Release10.2.

Oracle分页查询语句(二)

Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. Oracle分页查询语句(一):http://yangtingkun.itpub.net/post/468/100278 这篇文章用几个例子来说明分页查询的效率.首先构造一个比较大的表作为测试表: SQL> CREATE TABLE T AS SELECT * FROM DBA_OBJECTS, DBA_SEQUENCES; 表已创建. SQL> SELECT COUNT(*) FROM T; COUNT(*)--------