修改Memory_max_target为0出错

SQL> connect / as sysdba
Connected.
SQL> alter system set memory_target=0;

System altered.
SQL> alter system set memory_max_target=0;
alter system set memory_max_target=0
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified


SQL> alter system set memory_max_target=0 scope=spfile; --

System altered.


SQL> alter system set sga_target=6G scope=spfile;

System altered.

SQL> alter system set pga_aggregate_target=2112M;

System altered.

SQL> alter system set shared_pool_size=0;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
ORA-00849: SGA_TARGET 6442450944 cannot be set to more than MEMORY_MAX_TARGET 0.
SQL> startup nomount
ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
ORA-00849: SGA_TARGET 6442450944 cannot be set to more than MEMORY_MAX_TARGET 0.

 

解决方法:

 

 

Symptoms

When trying to set SGA_TARGET using an ALTER SYSTEM command, the following errors are raised:

ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
ORA-00849: SGA_TARGET 10737418240 cannot be set to more than MEMORY_MAX_TARGET 0.


 

Changes

MEMORY_MAX_TARGET was set to 0.

Cause

The problem is caused by the MEMORY_MAX_TARGET parameter explicitly being set to 0. In case AMM should not be used, MEMORY_MAX_TARGET should not be set at all.

Solution

The solutions to the problem are:

  1. create a PFILE from the SPFILE being used and remove the MEMORY_MAX_TARGET=0 and MEMORY_TARGET=0 lines. After that, use the modified PFILE to create a new SPFILE and start the instance with this new setup.
    [oracle@bakdbserver dbs]$ vi initbakdb.ora 
    SPFILE='+DATA/bakdb/spfilebakdb.ora'
    memory_max_target=21G
    memory_target=21G

    [oracle@bakdbserver dbs]$ sqlplus "/as sysdba"
    SQL> startup


  2. should the instance be running, then use the following commands to remove the explicit setting of MEMORY_TARGET=0 and MEMORY_MAX_TARGET=0:

    alter system reset memory_target;
    alter system reset memory_max_target;
    [oracle@bakdbserver dbs]$ vi initbakdb.ora 
    SPFILE='+DATA/bakdb/spfilebakdb.ora'
    #memory_max_target=21G
    #memory_target=21G

    [oracle@bakdbserver dbs]$ sqlplus "/as sysdba"
    SQL> startup force



你可能感兴趣的:(修改Memory_max_target为0出错)