Oracle中alter system命令参数之scope

8 篇文章 0 订阅

SCOPE

The SCOPE clause lets you specify when the change takes effect. Scope depends on whether you started up the database using a client-side parameter file (pfile) or server parameter file (spfile).

scope可指定对system的修改何时生效,scope=memory|spfile|both ,值取决于数据库使用pfile还是spfile启动

 

MEMORY 

MEMORY indicates that the change is made in memory, takes effect immediately, and persists until the database is shut down. If you started up the database using a parameter file (pfile), then this is the only scope you can specify.

scope=memory,表示修改立即生效,持续到数据库关闭为止,若数据库使用pfile启动,这是唯一可选值,也是默认值。

SPFILE 

SPFILE indicates that the change is made in the server parameter file. The new setting takes effect when the database is next shut down and started up again. You must specify SPFILE when changing the value of a static parameter that is described as not modifiable in Oracle Database Reference.

scope=spfile ,会修改spfile参数,新设置只有在重新使用spfile启动数据库的时候生效。

另外,若是修改静态参数(不能直接生效的参数),必须指定scope=spfile,否则若指定memory或者both会报如下错误:

ORA-02095: specified initialization parameter cannot be modified

因为静态参数不能直接通过修改内存而生效,只能通过修改spfile然后重启数据库生效。

 

BOTH

BOTH indicates that the change is made in memory and in the server parameter file. The new setting takes effect immediately and persists after the database is shut down and started up again.

scope=both,表示修改会发生在内存上立即生效,并修改spfile保证数据库重启后也生效。

 

If a server parameter file was used to start up the database, then BOTH is the default. If a parameter file was used to start up the database, then MEMORY is the default, as well as the only scope you can specify.

若数据库使用spfile启动,则scope=both是默认值

若数据库使用pfile启动,则scope=memory是默认值,也是唯一值。

 

静态参数,不能通过修改内存(默认scope值或scope=memory或scope=both)来生效,要通过修改spfile(),重启数据库来生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值