質問編集履歴
1
サーバPCのOSとメモリ、DBアプリバージョン、エラー詳細、DBメモリパラメータを追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,10 +4,18 @@
|
|
4
4
|
###現場環境
|
5
5
|
- DBサーバPC1台、クライアントPC数台のクローズドネットワーク
|
6
6
|
(DBのデータを更新するアプリはサーバPCで動作しています。)
|
7
|
+
- サーバPCのOS : Windows Server 2012 Standard(x64)
|
8
|
+
- サーバPCのメモリ : 4GB
|
7
9
|
- DBアプリケーション : Oracle 11g
|
10
|
+
- Oracleバージョン : 11.2.0.4.0
|
8
11
|
###現象発生時の状態
|
9
12
|
DBに接続するアプリ側ではサーバ、クライアント共に`ORA-04031`、`ORA-0604`などDBへアクセスできない事を示すエラーが発生するのですが、Oracle本体ではアラートログなど一切出力されず、至って正常な状態に見えます。
|
10
13
|
現象が発生した際は、DBへ接続しているアプリの再起動(切断、再接続)では復旧できず、サーバPC再起動でのみ復旧する状態です。
|
14
|
+
###ORAエラー詳細
|
15
|
+
```
|
16
|
+
ORA-00604: 再帰SQLレベル1でエラーが発生しました。
|
17
|
+
ORA-04031: 共有メモリーの32バイトを割当てできません。("shared pool", "select ...
|
18
|
+
```
|
11
19
|
###Oracleメモリ設定
|
12
20
|
初期化パラメータを設定したスクリプトは以下の通りです。
|
13
21
|
```SQL
|
@@ -25,4 +33,9 @@
|
|
25
33
|
password_lock_time unlimited
|
26
34
|
password_grace_time unlimited;
|
27
35
|
```
|
28
|
-
※最初に現象が発生した際はMEMORY_TARGET(MAXも同様)を1GBで設定していたのですが、現象発生後に2GBに増やしました。(それでも現象が発生しています。)
|
36
|
+
※最初に現象が発生した際はMEMORY_TARGET(MAXも同様)を1GBで設定していたのですが、現象発生後に2GBに増やしました。(それでも現象が発生しています。)
|
37
|
+
###Oracleのパラメータ
|
38
|
+
- SHARED_POOL_RESERVED_SIZE : 51170508
|
39
|
+
- LARGE_POOL_SIZE : 0
|
40
|
+
- STREAMS_POOL_SIZE : 0
|
41
|
+
- SGA_MAX_SIZE : 1G
|