关于instance 设置参数
alter system set parameter 时候
语法为 alter system set parameter=value scope=(both(default),spfile,memory) sid=sid|*(default *) COMMENT
sid:主要用在 rac 下 这样可以个rac中任意节点的instance设置参数,默认是*是所有instance
deferred表示 修改是 适用于将来的 session,是延迟行为.
deferred实验
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> select issys_modifiable from v$parameter where value='DEFERRED';
未选定行
SQL> select distinct issys_modifiable from v$parameter;
ISSYS_MOD
---------
FALSE
IMMEDIATE
DEFERRED
SQL> alter system set sort_area_size=10000 ;
alter system set sort_area_size=10000
*
第 1 行出现错误:
ORA-02096: 此选项的指定初始化参数不可修改
SQL> alter system set sort_area_size=10000 scope=spfile;
系统已更改。
代表 只有 重启后才生效
SQL> alter system set sort_area_size=20000 deferred;
系统已更改。
SQL>
SQL> show parameter sort_area_size;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size integer
65532
SQL>
SQL> conn xh/a831115
已连接。
SQL> show parameter sort_area_size;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size integer
20000
SQL>
可以看 到新连接的session可以 马上生效
SQL> alter system set sort_area_size=65532 deferred;
系统已更改。
SQL> show parameter sort_area_size;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size integer
20000
SQL> conn / as sysdba
已连接。
SQL> show parameter sort_area_size;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size integer
65532
COMMENT
SQL> alter system set job_queue_processes=10 comment='TEST';
系统已更改。
SQL> select name,description ,update_comment from v$parameter where name ='job_q
ueue_processes';
NAME
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
UPDATE_COMMENT
--------------------------------------------------------------------------------
job_queue_processes
number of job queue slave processes
TEST
取消spfile中设置,有时需要恢复原来的参数默认设置但又忘记了原先的值可以用 reset 重设原先默认值
alter system reset
1.有几个限制 必须 指定SID
2.顺序要求 scope=spfile,sid=
3.scope不可以等于 both,memory当 指定SID 时不允许内存中修改
SQL> alter system reset open_cursors ;
alter system reset open_cursors
*
第 1 行出现错误:
ORA-00905: 缺失关键字
SQL> alter system reset open_cursors sid='*';
alter system reset open_cursors sid='*'
*
第 1 行出现错误:
ORA-32009: 无法重置实例 * 的内存值 (从实例 xhtest 中)
SQL> alter system reset open_cursors sid='*' scope=spfile;
alter system reset open_cursors sid='*' scope=spfile
*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
SQL> alter system reset open_cursors scope=spfile sid='*';
系统已更改。
可以看到 要加sid关键字, 顺序不能 错 ,如果光指定sid 而没写scope=spfile 默认是 scope=both(包含在内存中修改)但指定SID 时候不允许在内存修改所以=both,=memory都不行报错(ORA-32009: 无法重置实例 * 的内存值 (从实例 xhtest 中))
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12020513/viewspace-617905/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12020513/viewspace-617905/