ORA-00020: maximum number of processes (150) exceeded

Oracle游标数错误解决ORA-00020: maximum number of processes (%s)  

今天在使用过程中,oracle突然挂掉,再次尝试启动提示:ORA-00020: maximum number of processes (%s) exceeded?网上查找了下,默认的游标数偏小,需要加大oracle最大游标数

修改设定Oracle最大游标数

 SQL> show parameter open_cursor
  NAME                                TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  open_cursors                        integer    300

  SQL> alter system set open_cursors=800 scope=both;
  系统已更改。

  SQL> show parameter open_cursor
  NAME                                TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  open_cursors                        integer    800
  SQL>

如果提示下面这个错误,照下面步骤操作 就行了
 ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定SPFILE

问题:SQL>alter system set open_cursors=800 scope=both;
alter system set open_cursors=800 scope=both;
*
ERROR 位于第 1 行:
ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE

我怎样做,这个错误才不会出现啊?
各位大虾,谁能说详细点,我搞不太清楚!

思路:
这是因为你启动时没有使用spfile,而你在修改参数时指定了spfile,所以报错。产生一个spfile,然后使用这个spfile重启数据库即可。具体步骤如下:
1、确定$ORACLE_HOME/dbs/下没有spfile文件,有的话改个名备份吧。
2、以sysdba用户启动数据库到任何状态(nomoutn、mount或open),执行create spfile from pfile。
2、shutdown immediate;
3、startup
再执行你的语句alter system set open_cursors=800 scope=both;

posted @ 2012-08-14 10:03  water0504  阅读(828)  评论(0编辑  收藏  举报