ITPub博客

首页 > 数据库 > Oracle > 动态参数与静态参数的判断、修改

动态参数与静态参数的判断、修改

原创 Oracle 作者:张冲andy 时间:2017-04-15 16:33:40 0 删除 编辑
视图 v$parameter 中 ISSYS_MODIFIABLE 列能够查看参数属性,ISSYS_MODIFIABLE ='IMMEDIATE'为动态参数、 ISSYS_MODIFIABLE ='FALSE' 为静态参数 、 ISSYS_MODIFIABLE ='DERERRED' 为延迟参数(当前会话不生效,后续的会话有效) 。


1. 参数总数:
SQL> select count(*) from v$system_parameter where issys_modifiable='IMMEDIATE';


  COUNT(*)
----------
       353


SQL> select count(*) from v$system_parameter where issys_modifiable='FALSE';


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


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


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


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


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




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


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


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


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


4. 参数的修改


动态参数修改:


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


System altered.


静态参数修改,需要指定 scope=spfile 下次启动:
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


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


System altered.


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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31383567/viewspace-2137335/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: rman理论(一)
请登录后发表评论 登录
全部评论
支持就关注我个人公众号:DBA烂笔头 。专注数据库领域,熟悉oracle、mysql、redis、mongodb,clickhouse等相关技术

注册时间:2016-08-11

  • 博文量
    626
  • 访问量
    286374