[解決済み] ORA-4031 "unable to allocate x bytes of shared memory" を解決する。
質問
この問題の診断と修正方法について、いくつかの指摘が必要です。これが単純なサーバー設定の問題なのか、アプリケーションの設計の問題なのか(あるいはその両方なのか)わかりません。
この Oracle XE データベースは、数ヶ月に一度か二度、ORA-4031 エラーを報告します。それは一貫して、sgaの特定の部分を指していません。最近の例では
ORA-04031: unable to allocate 8208 bytes of shared memory ("large pool","unknown object","sort subheap","sort key")
このエラーが表示された場合、ユーザーが何度も更新したり、別のリンクをクリックしたりすると、一般に、さまざまなタイミングでこの種のエラーが発生し、やがて "404 not found" ページエラーが発生するようになるのです。
データベースを再起動すると、たいていしばらくは問題が解決し、1ヶ月ほどしてからまた出てきますが、プログラムの同じ場所(つまり、コードの特定の部分にリンクしていないようです)にはほとんどありません(上記のエラー例は、テーブルから5000行以上をソートしているApexページから発生したものです)。
を増やしてみました。
sga_max_size
を140Mから256Mに変更し、これが事態を解決することを望んでいます。もちろん、設定を変更するためにデータベースを再起動しなければならなかったので、これが役に立ったかどうかはわかりません :)
私は、512MBのRAMを搭載したOracle Enterprise Linux 5 box上でOracle XE 10.2.0.1.0を実行しています。サーバーは、データベース、Oracle Apex (v3.1.2) および Apache Web サーバーのみを実行しています。私は、ほとんどすべてのデフォルトのパラメータでそれをインストールし、それは1年かそこらで非常にうまく動作しています。ほとんどの問題は、アプリケーションのコードをチューニングすることで解決できましたが、これは集中的に使用されるものではなく、ビジネスクリティカルなシステムでもありません。
これらは、私が関連すると思われる現在の設定です。
pga_aggregate_target 41,943,040
sga_max_size 268,435,456
sga_target 146,800,640
shared_pool_reserved_size 5,452,595
shared_pool_size 104,857,600
参考までに、現在のSGAのサイズをお知らせします。
Total System Global Area 268435456 bytes
Fixed Size 1258392 bytes
Variable Size 251661416 bytes
Database Buffers 12582912 bytes
Redo Buffers 2932736 bytes
解決方法は?
ASMM を使用している場合でも、ラージプールの最小サイズを設定することができます (MMAN はその値より小さくなることはありません)。 また、いくつかのオブジェクトをピン留めして、SGA_TARGET を増やしてみることもできます。
関連
-
Oracleにリモート接続するためのPLSQLDeveloperログイン
-
Navicat PremiumツールでOracleデータベースをMySQLに移行する
-
[解決済み] エラーを取得する - ORA-01858: 数値が期待される場所で非数値文字が見つかりました。
-
[解決済み】Oracle Databaseで「SET DEFINE OFF」を使用するタイミングと理由
-
[解決済み] ORA-01461: LONG 値は、LONG 列への挿入にのみバインドできます-クエリー時に発生します。
-
[解決済み] エラー: ORA-01704: 文字列リテラルが長すぎる
-
[解決済み] ORA-01407:NULLに更新できません。
-
[解決済み】標準ライブラリを使ってアライメントされたメモリのみを割り当てるには?
-
[解決済み】phpで33554432バイトの許容メモリサイズを使い果たす(43148176バイトを割り当てようとした)。
-
[解決済み】C++ new int[0] -- メモリは確保されるのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Oracle Sqlplusコマンドログイン複数方法ケーススタディ
-
SQLPlusコマンドの使い方の説明
-
Oracle11g r2のアンインストール、詳細なチュートリアルのクリーンな再インストール(プロのテストは、効果的な再インストールされている)。
-
Oracle 11g R2 インストールチュートリアル フルバージョン
-
[解決済み】ORA-30926:ソーステーブルの安定した行のセットを取得できません。
-
[解決済み] エラー ORA-01804 のテキストを取得しようとしているときにエラーが発生しました。
-
[解決済み] ORA-01461: LONG 値は、LONG 列への挿入にのみバインドできます-クエリー時に発生します。
-
[解決済み] ORA-30036: アンドゥ テーブルスペース 'UNDOTBS' でセグメントを 8 つ拡張できません。
-
[解決済み] ORA-04063: パッケージ本体 "WB_PROD.PLOG" にエラーがあります。
-
[解決済み] oracle pl/sql DBMS_LOCK エラー