xuanyuanvista

 

对oracle静态参数修改一点研究

对静态参数修改的研究:
看参数能否被修改,什么时候生效看v$parameter的字段ISSES_MODIFIABLE、ISSYS_MODIFIABLE、ISMODIFIED。
关于alter system:
alter system set nls_language='simplified chinese';默认是scope=both;
报错:不能修改,查看V$spparameter并没有修改成功,即重启数据库后也不会成功。
alter system set nls_language='simplified chinese' scope=memory;
同上!
alter system set nls_language='simplified chinese' scope=spfile;
不报错,修改成功,看v$spparameter参数改变成功,但v$parameter没变,重启数据库后生效。

关于alter session
alter session 没有scope子句
alter session set nls_language='simplified chinese';
会话已更改。
并不是alter system 不能修改的静态参数alter session就不能改,要看v$parameter表,有的是alter session 可以改的


另外oracle有很多有用的参数(如_allow_resetlogs_corruption),都是以_开头的,用show parameter xxx是看不到的,称为隐含参数,要查看隐含参数可以运行下面的sql语句:
select ksppinm from x$ksppi  where substr(ksppinm,1,1) = '_';
要修改隐含参数不能直接用
alter system set _allow_resetlogs_corruption=true;
这样会报错:ORA-00911: 无效字符
因为第一个字符是_,所以要加双引号(不能用单引号)
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
系统已更改。
我这边有一篇介绍一些隐含参数的英文文章,需要的朋友何以点击下载:ORACLE隐含参数

posted on 2009-08-24 17:00  xuanyuanvista  阅读(1218)  评论(1编辑  收藏  举报

导航