重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

怎么判断和修改SQL中的动态参数与静态参数

本篇内容主要讲解“怎么判断和修改SQL中的动态参数与静态参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么判断和修改SQL中的动态参数与静态参数”吧!

创新互联专业为企业提供通化网站建设、通化做网站、通化网站设计、通化网站制作等企业网站建设、网页设计与制作、通化企业网站模板建站服务,10多年通化做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

视图 v$parameter 中 ISSYS_MODIFIABLE 列能够查看参数属性,ISSYS_MODIFIABLE ='IMMEDIATE'为动态参数、 ISSYS_MODIFIABLE ='FALSE' 为静态参数 、 ISSYS_MODIFIABLE ='DERERRED' 为延迟参数(当前会话不生效,后续的会话有效) 。

1 参数总数

SQL> select count(*) from v$parameter where  issys_modifiable='IMMEDIATE';       --动态

  COUNT(*)
----------
       228

SQL> select count(*) from v$parameter where  issys_modifiable='FALSE';        --静态


  COUNT(*)
----------
       116

SQL> select count(*) from v$system_parameter where issys_modifiable='DEFERRED';      --延迟

  COUNT(*)
----------
     8

2 查看oracle参数是静态或者是动态 (根据 ISSYS_MODIFIABLE 的值判断)

SQL> select name,value,ISSYS_MODIFIABLE from v$parameter where name ='undo_retention' ;

NAME             VALUE    ISSYS_MOD
-------------------- ---------- ---------
undo_retention         1500    IMMEDIATE

3 ALTER SYSTEM SET 中 SCOPE=SPFILE/MEMORY/BOTH 的区别:

SCOPE = SPFILE
(此更改写入初始化参数文件,更改将在下次启动时生效。动态参数与静态参数都一样可以。也是静态参数唯一可以使用的方式。)

SCOPE = MEMORY
(只在内存上修改,立即生效,但重启后将不再生效,因为并没有写入到初始化参数文件。只适用于动态参数,静态参数则不允许。)

SCOPE = BOTH.
(既写入到初始化参数文件,也在内存上修改,立即生效。同样也只适用于动态参数,静态参数则不允许。)

4 参数的修改

a)动态参数(只有动态参数也可以不用制定)

SQL> alter system set undo_retention=10800 scope=both;

System altered.

b)静态参数

SQL> alter system set processes=151 scope=spfile;

System altered.

若不知道是静态还是动态,制定后会报错,然后再改过来就好了

SQL>  alter system set processes=151 scope=both;
 alter system set processes=151 scope=both
                  *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

注意:(scope=spfile 或者 scope=both 下)任何参数的修改都不能自动同步到pfile中去,只会写进spfile,所以修改完参数后最好create pfile from spfile ,手动同步参数创建pfile,以保证下次通过pfile能够正常启动数据库。

到此,相信大家对“怎么判断和修改SQL中的动态参数与静态参数”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站名称:怎么判断和修改SQL中的动态参数与静态参数
分享地址:http://cqcxhl.cn/article/jgocsg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP