ITPub博客

首页 > Linux操作系统 > Linux操作系统 > reset parameter 注意事项

reset parameter 注意事项

原创 Linux操作系统 作者:it_newbalance 时间:2013-06-21 15:06:16 0 删除 编辑
  最近学习中有时需要将修改的参数撤销,想到使用alter system reset 功能,以前也没有具体研究过,原以为和set用法差不多,但是经常报错,于是就找来了reference,小看了一下。但是根据其上的描述方法,依然报错,于是就自己测试了一下,总结起来有五条:
sys@10G> show parameter db_create_file_dest
NAME_COL_PLUS_SHOW_PARAM TYPE VALUE_COL_PLUS_SHOW_PARAM
------------------------------ ----------- ------------------------------------------
db_create_file_dest string
1、reset时需要指定sid,set时可以省略:
sys@10G> alter system set db_create_file_dest='d:\file';
系统已更改。
sys@10G> alter system reset db_create_file_dest ;
alter system reset db_create_file_dest
*
第 1 行出现错误:
ORA-00905: 缺失关键字
不指定scope,则默认是both,此时不指定sid,报错!
sys@10G> alter system reset db_create_file_dest scope=spfile ;
alter system reset db_create_file_dest scope=spfile
*
第 1 行出现错误:
ORA-00905: 缺失关键字
指定scope为spfile,不指定sid,仍然报错!
sys@10G> alter system reset db_create_file_dest scope=memory ;
alter system reset db_create_file_dest scope=memory
*
第 1 行出现错误:
ORA-00905: 缺失关键字
指定scope为memory,不指定sid,仍然报错!
2、不管set或者reset,scope与sid的位置不能颠倒:
sys@10G> alter system set db_create_file_dest='d:\file' sid='*' scope=memory;
alter system set db_create_file_dest='d:\file' sid='*' scope=memory
*
第 1 行出现错误:
ORA-02065: 非法的 ALTER SYSTEM 选项
sys@10G> alter system reset db_create_file_dest sid='*' scope=spfile;
alter system reset db_create_file_dest sid='*' scope=spfile
*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
3、reset时根据设置scope不同,选择不同的sid:
当reset的scope为spfile时,sid必须与spfile中一致。单实例下,所有参数的sid均为‘*’,所以此时需指定sid='*':
sys@10G> alter system reset db_create_file_dest scope=spfile sid='10g';
alter system reset db_create_file_dest scope=spfile sid='10g'
*
第 1 行出现错误:
ORA-32010: 无法在 SPFILE 中找到要删除的条目
sys@10G> alter system reset db_create_file_dest scope=spfile sid='*';
系统已更改。
当reset的scope为memory时,sid必须指定为实际的sid,不能是'*':
sys@10G> alter system reset db_create_file_dest scope=memory sid='*';
alter system reset db_create_file_dest scope=memory sid='*'
*
第 1 行出现错误:
ORA-32009: 无法重置实例 * 的内存值 (从实例 10g 中)
sys@10G> alter system reset db_create_file_dest scope=memory sid='10g';
系统已更改。

4、reset中scope=memory时,reset不起作用:
sys@10G> show parameter db_create_file_dest
NAME_COL_PLUS_SHOW_PARAM TYPE VALUE_COL_PLUS_SHOW_PARAM
------------------------------ ----------- ------------------------------------------
db_create_file_dest string
sys@10G> alter system set db_create_file_dest='d:\file' scope=memory;
系统已更改。
sys@10G> show parameter db_create_file_dest
NAME_COL_PLUS_SHOW_PARAM TYPE VALUE_COL_PLUS_SHOW_PARAM
------------------------------ ----------- ------------------------------------------
db_create_file_dest string d:\file
sys@10G> alter system reset db_create_file_dest scope=memory sid='10g';
系统已更改。
sys@10G> show parameter db_create_file_dest
NAME_COL_PLUS_SHOW_PARAM TYPE VALUE_COL_PLUS_SHOW_PARAM
------------------------------ ----------- ------------------------------------------
db_create_file_dest string d:\file
5、reset中scope不能设置为both,不然报错,因为不同的scope所使用的sid不一样,所以不能同时reset both。
sys@10G> alter system reset db_create_file_dest scope=both sid='*';
alter system reset db_create_file_dest scope=both sid='*'
*
第 1 行出现错误:
ORA-32009: 无法重置实例 * 的内存值 (从实例 10g 中)
sys@10G> alter system reset db_create_file_dest scope=both sid='10g';
alter system reset db_create_file_dest scope=both sid='10g'
*
第 1 行出现错误:
ORA-32010: 无法在 SPFILE 中找到要删除的条目
sys@10G> 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

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

上一篇: AIX彻底删除ORACLE
请登录后发表评论 登录
全部评论

注册时间:2011-03-28

  • 博文量
    143
  • 访问量
    703041