【ORA】启动数据库报错ORA-00838

oracle--启动数据库报错ORA-00838

具体报错如下:
ORA-01078: failure in processing system parameters
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 792M

原因:
想在oracle 11gRAC测试修改最大连接数的效果,先查看最大连接数值
SQL> show parameter processes
修改最大连接数为1000
SQL> alter system set processes=1000 scope=spfile;

需要重启后才生效

于是重启数据库,最后就报上面的错

解决:
因是在测试机的,采用最简单的方法解决,将原来的MEMORY_TARGET值去掉;
但是pfile和spfile文件都没有备份,采用下面的方式生成pfile文件失败
SQL> create pfile='/tmp/pfile.ora' from spfile;

因为没有进行其他操作,照理说在集群里的spfile文件还是存在的,于是尝试着将asm里面的spfile拷贝出来,
使用grid用户登录后
$ asmcmd
$ cd +data/orcl
$ ls
$ cp spfileorcl.ora /tmp/

然后重新生成pfile文件
SQL> create pfile='/tmp/pfile.ora' from spfile='/tmp/spfileorcl.ora';

将生成的pfile文件里面的MEMORY_TARGET值的那一行注释。

采用pfile文件启动数据库
SQL> startup pfile='/tmp/pfile.ora';

果然启动成功,因是在测试机测试连接的最大参数,所配的系统内存不是很大,故此直接在pfile文件里将processes值改为原来的150,再把MEMORY_TARGET值的那一行的注释去掉(其实就是还原)!!!
重新生成spfile文件
SQL> create spfile from pfile='/tmp/pfile.ora';

解决思路源自: https://blog.csdn.net/karloo/article/details/52156070


你可能感兴趣的:(Oracle报错,ORA-00838,MEMORY_TARGET)