[ORA-04031] unable to allocate xx bytes of shared memory

Oracle

概要

Oracle ORA-04031は,メモリー不足に起因するエラー。自動メモリー管理を有効にしていても,物理メモリーを増設しても発生する場合がある。「共有メモリーのxxxバイトを割当てできません」

ORA-04031
OS再起動後にEnterprise Managerで確認すると,アラートに メモリー不足とある

解決方法

ひとまずサーバーを再起動

なにせ停止したままだと都合がわるいので,サーバーを再起動すれば稼働し始める。メモリーが一旦リセットされることにより,不具合が解消されるのだろう。何か不具合があればとりあえず再起動させるというセオリー通り。ただし,根本的な解決にはなっていない。再発する。

物理メモリーを増やしたはずなのに…。自動メモリ管理が有効なはずなのに…10日後にエラー再発。「最大メモリーサイズ 」の設定が要因?

メモリ不足が発生しているとのことなので,メモリーを増やしたりしたが再発した。自動メモリ管理も有効になっている。色々調べてみると,どうも最大メモリーサイズが小さいままになっていた。下図は,サーバー – メモリーアドバイザ で表示

メモリー・アドバイザ に最大メモリーの指定がある

Oracle インストール時のまま 最大メモリーサイズは変更していなかった。412MBのままであった。これを 2048MBまで増やしてみたが再発。4096MBに変更しさらに経過観察

プロパティ

Oracle Server 11.2.0.4.0 (Hyper-V上で動作。本文で「物理メモリー」と記載しているが,実際は仮メモリの割当サイズのことを意味する。

コメント

  1. […] [ORA-04031] unable to allocate xx bytes of shared memoryORA-04031 unable to allocate 760 bytes of shared memory 物理メモリーを増やしたはずなのに…。自動メモリ管理が有効なはずなのに…10日後にエラー再発。「 […]

タイトルとURLをコピーしました