设置spfile中的参数值之deferred

  deferred指定系统修改是否只对以后的会话生效(对当前建立的会话无效,包括执行此修改的会话)。默认情况下,alter system命令会立即生效,但是有些参数不能"立即"修改,只能为新建立的会话修改这些参数。可以使用以下查询来看看哪些参数要求必须使用deferred:


SQL> select name from v$parameter where issys_modifiable='DEFERRED';

NAME
-------------------------------------------------------------------------------

backup_tape_io_slaves
recyclebin
audit_file_dest
object_cache_optimal_size
object_cache_max_size_percent
sort_area_size
sort_area_retained_size
olap_page_pool_size
上面的代码表明,sort_area_size可以在系统修改,但是必须以延迟方式修改。以下代码显示了有deferred选项和没有deferred选项时修改这个参数的值会有什么结果:

SQL> alter system set sort_area_size=65536;
alter system set sort_area_size=65536
                                    *
第 1 行出现错误:
ORA-02096: 此选项的指定初始化参数不可修改


SQL> alter system set sort_area_size=65536 deferred;

系统已更改。

 

scope=memory|spfile|both指示了这个参数设置的"作用域"。设置参数值时作用域有以下选择:

scope=memory只在实例中修改;数据库重启后将不再保存。下一次重启数据库时,设置还是修改前的样子。

scope=spfile只修改spfile中的值。数据库重启并再次处理spfile之前,这个修改不会生效。有些参数只能使用这个选项来修改,例如processes参数就必须使用scope=spfile,因为我们无法修改活动的processes值。

scope=both是指,内存和spfile中都会完成参数修改。这个修改将反映在当前实例中,下一次重启时,这个修改也会生效。这是使用spfile时默认的作用域值。如果使用init.ora参数文件,默认值则为scope=memory,这也是此时唯一合法值。

sid='sid|*'主要用于集群环境;默认为sid='*'。这样可以为集群中任何给定的实例唯一地指定参数设置。除非你使用Oracle RAC,否则一般不需要设置sid=设置。

 

取消spfile中的值设置 alter system reset parameter <scope=memory|spfile|both> sid='sid|*'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值