図8-1に示すように、SQLパフォーマンス・アナライザでは、次を行うことによって、Oracle9i DatabaseおよびOracle Database 10gリリース1のOracle Database 10gリリース2以上のリリースへのデータベース・アップグレードのテストをサポートしています。
本番システムで取得したSQLトレース・ファイルからのSQLチューニング・セットの構築
データベース・リンクを介したのアップグレードされたデータベースに対するリモートからSQLチューニング・セットの実行
本番システムで取得した結果との比較
SQLパフォーマンス・アナライザでは、入力ソースとしてSQLチューニング・セットに格納されているSQL文のセットしか受け取らないため、またSQLチューニング・セットはOracle9iデータベースではサポートされていないため、Oracle9iデータベースからアップグレードする場合は、SQLパフォーマンス・アナライザの入力ソースとして使用できるようSQLチューニング・セットを構築する必要があります。
図8-1 Oracle9iからOracle Database 10gリリース2にデータベースをアップグレードする場合のSQLパフォーマンス・アナライザのワークフロー
データベースのアップグレードをテストする前に、次の条件が満たされていることを確認します。
アップグレード元となる本番システムでは、Oracle9iまたはOracle Database 10gリリース1を実行しています。
アップグレードするテスト・システムでは、Oracle Database 10gリリース2以上のリリースを実行しています。
データベースのバージョンは、リリース10.2.0.2以上にできます。Oracle Database 10gリリース10.2.0.2、10.2.0.3または10.2.0.4にアップグレードする場合は、手順を進める前に、個別パッチをインストールする必要もあります。
両システムのパフォーマンスが相互に比較されるため、テスト・システムは本番システムとできるかぎり同じにする必要があります。
両方のシステムのハードウェア構成は可能なかぎり同じにする必要があります。
また、Oracle Database 11gリリース2を実行する別のSQLパフォーマンス・アナライザ・システムを設定する必要があります。このシステムを使用して、SQLチューニング・セットを作成し、SQLパフォーマンス・アナライザを実行します。このシステムでは、本番システムのSQLトレース・ファイルに格納されている統計を使用してSQLチューニング・セットが作成されるため、本番データおよびスキーマを使用できる必要はありません。SQLパフォーマンス・アナライザのタスクがテスト・システム上でリモートに実行され、指定したデータベース・リンクを介してSQL試行に対する実行計画および実行統計が生成されます。データベース・リンクは、DBMS_SQLPA
パッケージのEXECUTE
権限およびテスト・システムのADVISOR
権限を持つユーザーに接続するパブリック・データベース・リンクである必要があります。また、テスト・システム上のユーザーのスキーマから既存のPLAN_TABLE
を削除する必要もあります。
前述のとおりアップグレード環境を構成したら、Oracle9iまたはOracle Database 10gリリース1からそれ以上のリリースへのデータベースのアップグレードでSQLパフォーマンス・アナライザを使用するために、次に説明する手順を実行します。
本番システムでSQLトレース機能を有効にします。詳細は、「本番システムでのSQLトレースの有効化」を参照してください。
本番システムへのパフォーマンスの影響を最小限に抑えながら、SQL文の典型的なセットを完全に取得する場合は、必要な期間セッションのサブセットに対してのみSQLトレースを有効にして、すべての重要なSQL文を1回以上取得することを検討してください。
本番システムでマッピング表を作成します。詳細は、「マッピング表の作成」を参照してください。
このマッピング表は、SQLトレース・ファイルのユーザーおよびオブジェクトの識別子番号を、同等の文字列に変換するために使用します。
SQLトレース・ファイルおよびマッピング表を本番システムからSQLパフォーマンス・アナライザのシステムに移動します。詳細は、「マッピング表の作成」を参照してください。
SQLパフォーマンス・アナライザのシステムで、SQLトレース・ファイルを使用してSQLチューニング・セットを作成します。詳細は、「SQLチューニング・セットの作成」を参照してください。
SQLチューニング・セットには、SQLトレース・ファイルで取得されたSQL文がそれらのSQL文に関連する実行コンテキストおよび実行統計とともに含まれます。
SQLパフォーマンス・アナライザ・システムでは、SQLパフォーマンス・アナライザを使用して、SQLパフォーマンス・アナライザのタスクを作成し、SQLチューニング・セットの内容を、比較のベースラインとして使用するアップグレード前のSQL試行に変換します。その後、データベース・リンクを介したテスト・システムでSQL文のテスト実行をリモートで行い、アップグレード後のSQL試行を作成します。詳細は、「Oracle9i DatabaseおよびOracle Database 10gリリース1からのデータベースのアップグレードのテスト」を参照してください。
SQLパフォーマンスを比較し、パフォーマンスが低下したSQLを修正します。
SQLパフォーマンス・アナライザでは、アップグレード前のSQL試行時にSQLチューニング・セットから読み取ったSQL文のパフォーマンスと、アップグレード後のSQL試行時にリモートのテスト実行によって取得したSQL文のパフォーマンスが比較されます。SQL文の実行計画またはパフォーマンスの変更内容を確認するためのレポートが生成されます。
パフォーマンスが低下したSQL文がレポートに示された場合は、パフォーマンスが低下したSQLを修正するためにさらに変更を行うことができます。詳細は、「データベースのアップグレードをテストした後のパフォーマンスが低下したSQL文のチューニング」を参照してください。
SQLチューニング・セットの実行およびそのパフォーマンスと以前の実行のパフォーマンスとの比較を繰り返して、分析結果に満足するまで、行った変更をテストします。