今回のテーマはOracle TimesTenの運用設計です。Oracle TimesTenは物理設計が命なので、きちんとした設計で環境を構築し、一度運用を開始してしまえばそれ程複雑なメンテナンスを行う必要はありません。シンプルだからこそ確実に押さえてほしいOracle TimesTenの監視ポイントや統計情報運用について説明します。*2012/1/12 に Oracle TimesTen 11.2.2.2 がリリースされました。本記事はOracle TimesTen 11.2.1.8 をベースに記載した内容となります。
Oracle TimesTenの統計情報はどう運用すべきか?
Oracle TimesTenはコストベースオプティマイザを使用しているため、Oracle Databaseと同様に統計情報から実行計画を判断します。したがって、正しい統計情報を取得することが非常に重要と言えます。
「Oracle TimesTenを導入したのにパフォーマンスが全然出ない。」というトラブルのご連絡を受け、現場に駆けつけたら、統計情報が取得されていなかったというケースがよくあります。
Oracle TimesTenを快適に利用するためには、統計情報は絶対に取得してください。
統計情報の取得方法
Oracle TimesTenの統計情報は、下記の組み込みプロシージャを実行することによって取得できます。
・ttOptUpdateStatsプロシージャ(全体統計)
表に格納されている全てのデータを参照し、統計を収集します。したがって、表が大きい場合は、収集に時間が掛かる場合があります。
・ttOptEstimateStatsプロシージャ(見積統計)
表内の行をランダムにサンプリングすることによって統計を推定します。全体統計の計算と比べてかなり高速ですが、正確性は全体統計より劣るため、その実行計画は最適な計画に及ばない可能性があります。
推奨するのはもちろん全体統計ですが、システムにかかる負荷が高すぎたり、処理時間が長すぎてなかなか終わらなかったりする場合は、見積統計でも良いと思います。
データの増減が激しいシステムは定期的に統計を取得することが推奨されますが、コンサルが支援するお客様は安定稼働を重視されるお客様が多いので、統計情報は比較的固定するケースが多いです。
データ特性に大きな変動がないようなシステムにおいては、検証フェーズで本番相当のデータを準備して全体統計を取得していただき、性能試験で実行計画に問題がないことを確認していただいた上で、その統計情報のまま固定(再取得をしない)し、定期的に見直すような運用としていただくことをお奨めしています。
この記事は参考になりましたか?
- これがOracleのインメモリ!Oracle TimesTenのすべて連載記事一覧
-
- 第4回 TimesTenのチューニング
- 第3回 TimesTenの運用設計
- 第2回 Oracle TimesTenを高速化させる極意
- この記事の著者
-
三浦 かなこ (ミウラ カナコ)
日本オラクル株式会社
コンサルティングサービス統括
テクノロジーソリューションコンサルティング統括本部
テクニカルアーキテクト本部 データベースアーキテクト部前職ではSEとして、アプリケーション開発、設計、アプリケーション試験チームリーダーなどを経験。 7年間の現場経験を経...※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア