116. Your database instance is started using the server parameter file (SPFILE). You executed a
command to change the value of the LOG_BUFFER initialization parameter:
ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=BOTH;
What would be the outcome of this command?
A.The command succeeds only if Automatic Memory Management is not enabled.
B.The command succeeds, but you need to restart the database for changes to take effect.C.The command returns an error because the size of the redo log buffer cannot be changed dynamically.
D.The parameter value is changed and it comes into effect as soon as space becomes available in the
System Global Area (SGA).
Answer: C
答案解析:
sys@TEST0910> show parameter log_b
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_buffer integer 19365888
sys@TEST0910> ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=BOTH;
ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=BOTH
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
sys@TEST0910> select NAME,ISSES_MODIFIABLE, ISSYS_MODIFIABLE from v$parameter where name like '%log_b%';
NAME ISSES ISSYS_MOD
-------------------- ----- ---------
log_buffer FALSE FALSE
sys@TEST0910> select distinct ISSYS_MODIFIABLE from v$parameter;
ISSYS_MOD
---------
IMMEDIATE 动态参数,直接在系统中修改到内存的参数 alter system set parameter=value;
FALSE 静态参数,表示下次启动才生效,不能直接改到内存 alter system set parameter=value scope=spfile;
LOG_BUFFER为静态参数,故scope不能用both,只能用spfile。
DEFERRED 会话参数,alter session 参数=值,马上生效,下次启动过后无效
sys@TEST0910> ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=spfile;
ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=spfile
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
sys@TEST0910> ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=spfile sid='*';
ALTER SYSTEM SET LOG_BUFFER=32M SCOPE=spfile sid='*'
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified