質問: ### 前提・実現したいこと 初投稿の為、不備があればご指摘ください。 環境情報: OS:Windows Server 2012 x64 Database:Oracle 11g Standard Edition x64 Tool:SI Objectbrowser 13 x64 Oracle Enterprise Managerの使用許可が下りていませんので、 Oracle Enterprise Managerによる稼働状況の分析が出来ません。 上記環境でLOG_BUFFERの最適なサイズを割り出したいです。 ### 発生している問題・エラーメッセージ 最大で、1時間で約500MB程度のデータの取込を行っているDBがあります。 定期実行のプログラムも多く、トランザクションの量もかなり多いようで、 SI Object Browserでデータベース情報を確認すると REDOバッファの空き待機回数が1週間で1000を超える達するケースを確認しています。 (週末に再起動しているようで翌週頭には0になっています...) そもそも設計の問題のほうが大きいと思うのですが、 まずはOracleのチューニングでパフォーマンス改善を、という話がされ、 空き待機回数の削減を行うように指示を受けましたが、 LOG_BUFFERの調整に難航しております。 お知恵をお貸しください。 ### 試したこと データ量に反してREDOログもLOG_BUFFERもデフォルトの設定値のようでしたので、 空き待機回数を減らすために REDOログファイルのサイズ拡張とLOG_BUFFERのサイズ拡張を行いました。 REDOログファイルのサイズ拡張で大幅に減少させることはできたのですが、 LOG_BUFFERのサイズは下記のオンラインマニュアルにある上限の32MBを設定しましたが、REDOログのサイズ拡張時ほどの効果が得られていません。 https://docs.oracle.com/cd/E16338_01/server.112/b56311/initparams133.htm ### ご相談内容 1.LOG_BUFFERの最適なサイズを割り出すためのSQLは有りませんでしょうか? 2.あるいは、Oracle Enterprise Managerで得られるような解析結果を求めるSQLを組めないでしょうか? 以上、宜しくお願い致します。
回答: 更新が多ければREDOログファイルを大きくするのは有効ですが、LOG_BUFFERのサイズを32MBから変更してもパフォーマンスの改善が期待できるかは難しそうに思えます。 7.4 REDOログ・バッファの構成および使用方法 Standard Edition ではAWRは使えませんから、Statspackでボトルネックを探しましょう。 OTN Japan - Oracleデータベース 性能対策機能 ~ Statspackと...を使いこなす statspack reportの待機イベント をググればボトルネックを探れるかもしれません。 また、同reportのSQL ordered by ... でCPU, Elapsed などの多い順のSQLが表示されますから、そのSQLが実行されているプログラムを調べましょう。 サポート契約が有効でしたら、Oracle社カスタマ・サポート・センターに問合せましょう。