问题:把spfile中的processes参数改成10,后出现无法启动oracle数据库。


SQL> alter system set processes = 10 scope=spfile;


把processes参数改成10后,重启数据库后无法启动:

ORA-03113: 通信通道的文件结尾


ORA-00020: No more process state objectsavailable

报这个错,需要增大processes数。现在oracle不能启动到nomount状态。


处理思路:

1、启动到nomount状态,使用pfile文件启动到nomount

2、从pfile创建spfile


 

过程:


由于processes改成10,所以SPFILEHXW168.ORA参数无法启动oracle,把这个文件改名。


D:\app\huang\admin\hxw168\pfile init.ora 文件复制到

D:\app\huang\product\11.2.0\dbhome_1\database文件夹下面


SQL> startup nomount

ORA-01078: failure in processing systemparameters

LRM-00109: ????????????????'D:\APP\HUANG\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITH

XW168.ORA'


init.ora改成 INITHXW168.ORA

 


SQL> startup nomount

ORACLE 例程已经启动。

 

Total System Global Area 2121183232 bytes

Fixed Size                  2177408 bytes

Variable Size            1207961216 bytes

Database Buffers          905969664 bytes

Redo Buffers                5074944 bytes

SQL>

SQL> create spfile from pfile;

 

文件已创建。(这里会重新创建一个SPFILEHXW168.ORA 文件)

 

SQL> shutdown immediate

ORA-01507: ??????

 

ORACLE 例程已经关闭。

 


现在就可以正常打开始oracle数据库了。


pfile:文本文件,可以直接修改。9i之后默认就不使用pfile,而是使用spfile。


spfile:二进制文件。不能直接修改。




 

更改processes参数:

 

SQL> alter system set processes = 200 scope=spfile;

 

系统已更改。

 

SQL> select * from v$sgastat where name= 'processes';

 

POOL        NAME                           BYTES

------------ ------------------------------------

shared pool processes                       1200

 

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area 2121183232 bytes

Fixed Size                  2177408 bytes

Variable Size            1207961216 bytes

Database Buffers          905969664 bytes

Redo Buffers                5074944 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter processes