今天在数据库上改了个sga_target的值,然后关闭数据库,重启就报如下问题:

ORA-00838:指定的MEMORY_TARGET的值太小,至少应为1036M


然后按照提示用sysdba nolog进入数据库,修改MEMEORY_TARGET的值:

ALTER SYSTEM SET MEMORY_TARGET=2048M SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET=2048M SCROPE=SPFILE;

ORA-01034错误,ORACLE NOT available


然后startup,依旧因为MEMORY_TARGET值太小而无法启动数据库...


通过查资料,找到一种解决方法:

先create pfile from spfile:

SQL> create spfile from pfile;

文件已创建。

然后找到最新创建的pfile文件,用文本编辑器修改pfile,

再create spfile from pfile

SQL> create spfile from pfile;

文件已创建。


startup启动数据库,一切OK。