问题:把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