标签:静态 重启 system 参数 SQL oracle scope parameter ISSYS
视图 v$parameter 中 ISSYS_MODIFIABLE 列能够查看参数属性:
ISSYS_MODIFIABLE ='FALSE' 为静态参数 、需要重启DB
ISSYS_MODIFIABLE ='IMMEDIATE'为动态参数、马上生效
ISSYS_MODIFIABLE ='DERERRED' 为延迟参数、马上生效(当前会话不生效,后续的会话有效) 。
v$parameter和v$system_parameter结构完全一致
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 的值判断)
例:
SQL> select name,value,ISSYS_MODIFIABLE from v$parameter where name ='undo_retention' ;
NAME VALUE ISSYS_MOD
-------------------- ---------- ---------
undo_retention 900 IMMEDIATE
SQL>
3. ALTER SYSTEM 中 SCOPE=SPFILE/MEMORY/BOTH 的区别:
SCOPE = SPFILE
(此更改写入初始化参数文件,更改将在下次启动时生效。动态参数与静态参数都一样可以。是静态参数唯一可以使用的方式。)
SCOPE = MEMORY
(只在内存上修改,立即生效,但重启后将不再生效,因为并没有写入到初始化参数文件。只适用于动态参数,静态参数则不允许。)
SCOPE = BOTH.
(既写入到初始化参数文件,也在内存上修改,立即生效。同样只适用于动态参数,静态参数则不允许。)
4. 参数的修改
动态参数修改:
SQL> alter system set undo_retention=10800 scope=both sid='RAC1';--修改时一个实例一个实例修改,不要使用sid='*',个别有bug
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能够正常启动数据库。
标签:静态,重启,system,参数,SQL,oracle,scope,parameter,ISSYS 来源: https://www.cnblogs.com/maxiaojia/p/15723322.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。