Baiyangcao

A dobe Programmer

Follow me on GitHub

ORA-00064...修改Processes参数后重启报错

16 Nov 2016

今天大黄蜂同学修改Oracle数据库的Processes参数后重启报这个错误

alter system set processes=300 scope=spfile;
ORA-00064: object is too large to allocate on this O/S

原因是因为修改了Processes参数过大,超出了系统能分配的最大值而报错, 虽然可以通过修改系统内核参数来解决,但是小生不懂,故只能选择把参数值调制正常范围(20-200)

  • 首先要把数据库启动,因为直接启动使用spfile,报错,所以只能用pfile启动了:

    • 先来生成pfile,链接到数据库sqlplus / as sysdba,然后执行create pfile from spfile, 即可根据spfile生成pfile,生成的pfile位于目录$ORACLE_HOME/dbs/init[SID].ora, 一般是initorcl.ora,然后退出exit

    • 修改pfile的Processes参数值,打开$ORACLE_HOME/dbs/initorcl.ora文件,修改processes=200

    • 然后使用pfile启动数据库,链接数据库sqlplus / as sysdba,然后执行startup pfile=$ORACLE_HOME/dbs/initorcl.ora 便可以启动数据库了

  • 然后,由于当前是用pfile启动的数据库,无法修改spfile参数,所以就直接用pfile生成spfilecreate spfile from pfile

  • 最后,重启数据库就是默认的使用spfile启动了shutdownimmediatestartup