- PR -

ORA-00020エラー

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/10/20
投稿数: 2
投稿日時: 2004-10-20 08:13
「ORA-00020最大プロセス数を超えました」のエラーが出たため
init.oraにprosses=1280を追加したのですがまたエラーになってしまいました。
v$resource_limitを調べるとLIMIT_VALUEは1280に変わっているのですが
MAX_UTILIZATIONは変更前と変わらず300で
頭打ちになりORACLEへの接続ができなくなってしまいます。
何が原因でプロセス数の上限が決まってしまうのでしょうか?
またどうやったらプロセス数の上限を増やせるのでしょうか?

OSはWindows2000でOracle8.0.5です。
一台のマシン上でIISとORACLEを稼動させたときは
上手くいっていたのですが、IISとORACLEを別々のマシンに
分けたら現象が発生するようになってしまいました。
どなたかご教授をお願いいたします。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2004-10-20 14:23
どうも、もしもしと申します。

まず前提として、Windows2000 で動作保証されているのは Oracle8.1.6 以降です。
この点をクリアする必要があるのではなかろかと。


変更した初期化パラメータファイルって "%ORACLE_HOME%\database\init.ora"
でしょうか?
もしそうだとすると、起動時に使用しているファイルでは無いように思われます。
デフォルトでは "%ORACLE_HOME%\database\init%ORACLE_SID%.ora" を参照
しますが、この辺の認識はあってますでしょうか?

(サービス起動時にデータベースも起動させているのであれば、8i とかだと
レジストリの HKLM\software\oracle\home0 の ORA_%ORACLE_SID%_PFILE で
指定した初期化パラメータファイルを参照します)

追加:
もしかして、データベースの再起動を OEM から実行したのなら、
OEM が内部で持っている初期化パラメータ一覧を使っちゃった、
という悪夢のような事象も考えられます。


[ メッセージ編集済み 編集者: もしもし 編集日時 2004-10-20 14:25 ]

さらに追加:
変更した後、データベースは再起動しているんですよね?


[ メッセージ編集済み 編集者: もしもし 編集日時 2004-10-20 14:29 ]
未記入
会議室デビュー日: 2004/10/20
投稿数: 2
投稿日時: 2004-10-20 16:44
ご回答どうもありがとうございます。

サーバの再起動は実施いたしました。
下記のSQLを実行したところLIMIT_VALUEが1280になっているので
初期化ファイルは正しく反映されてると思うんですよね・・・

SQL> select * from v$resource_limit
2 where resource_name in ('processes','sessions')
3 /

RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- --------------------- ---------------------
processes 13 300 1280 1280

sessions 15 303 1413 1413
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2004-10-20 17:30
もしもしです。

実際、エラーには

ORA-00020 maximum number of processes (%s) exceeded

# %s には数字

が表示されるということでしょうか? %s のところは 300 と
表示されるということでしょうか?

# 普通に考えれば
# - CURRENT_UTILIZATION 今の値
# - MAX_UTILIZATION 起動時からの高水位
# - INITIAL_ALLOCATION リソースの初期値
# - LIMIT_VALUE リソースの制限値
# なんですが。


# やっぱり対応していないバージョンですからねぇ。
1

スキルアップ/キャリアアップ(JOB@IT)