総まとめ! SPAのユースケース――データベース移行で重視するのはコスト、時間、それとも精度:【12c対応】とにかく苦労しない「RAT」簡単攻略テクニック(6)(3/3 ページ)
とにかく大変なデータベースバージョンアップ時の「SQLテスト」。本連載では、この課題を解決するOracle Databaseのオプション機能である「Oracle Real Application Testing(RAT)」と、その一機能である「SQL Performance Analyzer(SPA)」の攻略方法を紹介してきました。最終回では、SPAのニーズが多いシーンごとに3つの「ユースケース」を取り上げます。
メンテナンス作業もSPAで安心、維持・運用工程を予測可能に
テスト・チューニング工程が完了すると本番切り替えとなり、新本番環境での運用が始まります。日を追うごとに、データ量が増加して新しい索引を作成しなければならない、セキュリティ要件に合わせて個別パッチを適用しなければならないといった、さまざまなメンテナンス作業が発生します。
データベースに対する変更作業後はSQLの挙動が変化する可能性があります。全てのSQLでテストを実施したいところですが、やはり工数の問題などから、なかなか難しいでしょう(図8)。
そのような場合は新本番環境と同じバージョンの検証環境で、メンテナンス作業とSPAを実施するユースケース3の方法が有効です(図9)。
新本番環境で取得したSTSを検証環境に配置後、まずTest Executeを実行します。新本番環境で実施予定のメンテナンス作業(個別パッチ適用や索引作成など)を行った後に、再度Test Executeを実行します。これによりメンテナンス作業前後で、Test Executeの結果を得ることができました。2つの結果を比較することで性能値を含めた評価が可能です。
個別パッチ適用や索引作成だけではなく、統計情報のリフレッシュやパラメータの変更、新機能の導入など活用シーンが広がります。その度に高精度なテストを迅速に実行できることは大きな強みです。
SPA利用時はデータ準備方法も肝、正確に性能を測るには
SQLのパフォーマンスはデータの「入り方」によっても左右されます。例えば、断片化が進んだデータへのアクセスでは、I/O効率が悪くなり、パフォーマンス劣化の可能性があります。つまりSPA利用時には、検証環境やテスト環境へどのようにデータを移行するのか、これも重要です。
データの移行では、「論理バックアップ」「物理バックアップ」という2種類の方法を利用できます(表1)。どちらの方法を選ぶべきか、バックアップに要する時間やデータベースの停止を伴うかなど、重要な比較要素があります。今回はSQLのパフォーマンスに関係する「断片化の解消」に重点を置いて、比較しました。
種類 | 代表的なツール | 方式 | 断片化の解消 |
---|---|---|---|
論理バックアップ | Data Pump Export/Import | データをファイルに出力する | 可 |
物理バックアップ | Recovery Manager(RMAN) | データベースを構成するファイルをコピーする | 不可 |
表1 データを移行する種類と特徴 |
先ほど紹介したユースケース1でテスト環境にデータを移行する場合は、新本番環境でのデータ移行方式と同じ方法を選択することになるでしょう(新本番環境でData Pump Export/Importを利用する予定であれば、テスト環境でも同じ手法を用いるなど)。
これに対してユースケース3では、検証環境に本番環境と全く同じ状態を再現しなければならないため、物理バックアップを選択します。さらにSTS取得開始時点に極力近い状態が好ましいため、データベースのPoint-in-Timeリカバリ(DBPITR)を利用することもあるでしょう。
Recovery Manager(RMAN)はOracle Databaseの標準機能であるため手軽に利用できます。しかし、物理的なファイルコピーを実行するため、コピー時間やディスク容量が必要です。本番環境のデータを迅速に用意したい、任意の時点で簡単に切り出したい、少ないディスク使用量で多数の検証環境が欲しいといったニーズがあると、RMANでは対応しきれないことがあります。
こうした場合、例えばDelphix(開発元:Delphix)という製品を使えば、任意時点で本番環境のデータを複数のテスト環境へ瞬時に生成して利用できます(図10)。データ生成時にファイルコピー技術を利用せず、スナップショットと呼ばれるポインタ技術を用いるため、瞬時に実行できます。さらに物理的なストレージリソースを大幅に節約可能です。
データの「入り方」として、指定した時点の本番環境の状態を再現できることがテストに役立ちます。GUI画面をスクロールして直感的に日時を指定できる他、複数バージョンのOracle Databaseを並べてバージョン間比較も可能です。バージョンアップ時や運用時、データ準備に臆することなく即座に行動を開始できます。このようなツールが選択肢にあると、コストや時間、精度のどれに重きを置くのか、管理の幅が広がります。
SPAの使いこなしでより安心なデータベース運用を!
全6回にわたりRATの機能「SPA」を詳細に紹介しました(連載目次)。SPAを利用すると、コスト、時間、精度にメリットが生まれ、データベース運用時の安心感が高くなります(図11)。
テスト時間が短縮されるだけではなく、問題のあるSQLを自動で発見して優先順位を付けたり、カラーリングしたりしてレポートを出力できるため、改修担当者への作業依頼、改修作業ともに効率的になります。
今回の連載では操作手順を分かりやすく伝えるためにEnterprise Managerの画面を使って紹介しました。実際には全ての操作をコマンドから実行可能です。コマンドであれば「実行計画が変わったSQLのみ」や「性能が変化したSQLのみ」といった絞り込みを指定してレポートに出力するなど、細かなパラメータ設定が可能です(図12)。
それでは、全6回にわたりご愛読いただきありがとうございました。皆さまがデータベースのバージョンアップを検討する際に、本連載の内容が少しでもお役に立てば幸いです。
筆者紹介
長内麻記(おさない まき)
株式会社アシスト所属 入社以来、Oracle Database一筋。2017年現在はOracle Databaseのお役立ち機能を分かりやすく、楽しく伝えることを目標に活動中。アシスト データベース無料セミナーなどの講師も務める。10代の頃の夢は動画クリエーター。当時の知識を生かし、機能解説動画を自作することもある。好きなOracleオプションはReal Application Testing。好きな食べ物はギョーザ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- オラクルが考えるDBインフラのクラウド化「DBaaS」とは? 実現方法と支援環境を聞く
「DBaaS(ディービーアース、Database as a Service)」実現に向けて、オラクルはどのような移行プロセスを考えているのだろうか。段階的移行の三つのステップとそれを支援する環境をどこまで用意しているのかを、米オラクルの担当者に取材した。 - アシスト、Oracle Database 12cとクラウドへの早期移行を支援する「12c R2×Oracle Cloudスタートアップキャンペーン」を実施
アシストがOracle Database 12cとOracle Cloudへの移行促進キャンペーンを実施。期間限定で環境構築や基礎機能のレクチャーなどをセットにした移行支援ソリューションを特価で提供する。実施は2017年4月30日まで。 - オラクル、「Oracle Database 12c R2」のOracle Cloud at Customer/オンプレミス向け提供を開始
データベース管理システムの最新版「Oracle Database 12c Release 2」で全ての提供形態が整った。先行提供していたパブリッククラウド向けに続き、新たにOracle Cloud at Customer向けとオンプレミス向け提供を開始した。 - オラクルが確約した「クラウド6箇条」と「Database 12c R2」の気になるトコロ
米オラクルのラリー・エリソンCTOが、同社の年次イベントで今後のクラウド事業の行方を確約する「Oracle Cloud、6つの設計目標」を掲げました。同時に発表された基幹製品「Oracle Database 12c」の次期バージョンのポイントと共に、そこにどんな狙いがあるかを振り返ります。