ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 6448M
今天给一个客户装一个测试环境(2台,都是linux),oracle装好测试连接是ok的,后在另一台机器装好客户端后做连接测试报错,监控无法识别连接描述符。到服务端看了下监听,发现实例竟然没注册,ps看了下也没oracle进程。sqlplus / as sysdba 进入后用startup启动,居然报错ORA-00838。
看到这个报错想起了先前装好数据库之后,有执行一个脚本,脚本里有修改 MEMORY_TARGET的值,应该是这个修改的有问题,google搜了下解决方案,经过实践是可以解决这个问题的,如下:
1、sqlplus / as sysdba
SQL> create pfile = '/tmp/init.ora' from spfile;
File created.
SQL> exit
2、用vim修改/tmp/init.ora里MEMORY_TARGET和memory_max_target到提示的 6448M,然后
sqlplus / as sysdba
SQL>startup pfile=/tmp/init.ora
到这等数据库正常打开后,再更新spfile
SQL>create spfile from pfile='/temp/init.ora';
3、然后shutdown immediate关闭数据库,再用startup 能正常open数据库