Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第4回 TimesTenのチューニング

edited by DB Online   2012/02/06 00:00

Oracle TimesTenの環境を構築したが、性能が思うように出ないという場合、まずはどこを見たらいいのでしょうか?今回はOracle TimesTen のチューニングについて説明します。

  Oracle Databaseであれば、取得したStatspackやAWRを分析し、ボトルネックを見つけることができますが、Oracle TimesTenにはこのような機能がまだ無いため、以下の手順でチューニングを検討されることをお奨めします。

Step1:データストアの設定に問題が無いか確認しよう。

 まずは、データストアのヘルスチェックを行います。チェックする観点は、前回ご説明した監視ポイントと同じです。SYS.SYSTEMSTATS表、SYS.MONITOR表から、以下の点について確認してください。

  •  チェックポイント回数、コミット回数が想定の範囲内であること
  •   ログバッファが小さすぎてログ読み取り時にI/Oが多発していないこと
  •   一時領域が枯渇していないこと
  •   ロック競合が発生していないこと
  •  一時索引が作成されていないこと
  •  設定値を超える接続要求が来ていないこと

 また、統計情報と実データの内容に乖離が無いことも必ず確認してください。

 上記のポイントが全て問題無かった場合は、SQLチューニングの必要があるかもしれません。ttTraceMonユーティリティを使用して、ボトルネックとなっているSQLを突き止めましょう。

Step2:ttTraceMonユーティリティでSQLトレースを取得しよう。

 ttTraceMonユーティリティを使用して、SQLトレースをレベル4で取得します。トレースバッファに溜めたトレース情報を後からコマンドで出力しても良いですが、ディスク領域に余裕があるのであればトレースをファイル出力させた方が扱いは簡単です。ただし、ファイル出力させる場合はアプリケーションのパフォーマンスに大きく影響を与えるため、注意が必要です。いずれの方法でトレースを採取するにしても、パフォーマンス分析が終わったら必ずトレース機能はOFFにしてください。

 今回は、トレースバッファ経由でトレース情報を出力する方法をご紹介します。

 ttTraceMonユーティリティのトレース機能はシステム単位で有効化されます。セッション単位での取得はできません。

 ttTraceMonユーティリティで取得されたSQLトレースによって、実行されたSQLとフェーズ毎の処理時間(prepare、execute、open、fetch、close)が確認できます。

 ボトルネックとなっているSQLが特定できたら、次にそのSQLの実行計画を確認しましょう。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 三浦 かなこ (ミウラ カナコ)

    日本オラクル株式会社 コンサルティングサービス統括 テクノロジーソリューションコンサルティング統括本部 テクニカルアーキテクト本部 データベースアーキテクト部 前職ではSEとして、アプリケーション開発、設計、アプリケーション試験チームリーダーなどを経験。 7年間の現場経験を経て、...

バックナンバー

連載:これがOracleのインメモリ!Oracle TimesTenのすべて
All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5