19.6 データ共有ツールでのエラーのトラブルシューティング

この章では、パフォーマンスを低下させる問題とその問題をトラブルシューティングする方法について説明します。

ECPUを増やすと、複雑な問合せを実行中のデータ共有ツールのライブ共有機能のパフォーマンスは向上しますか。

いいえ、向上しません。このような場合、実行中の複雑な問合せのパフォーマンスを向上させるには、Data Studioを使用して並列度(DOP)を構成する必要があります。

Data Studioを使用した並列度(DOP)の構成

データベース・アクション・インスタンスのライブ共有機能をECPUの値を増やして実行した場合、デフォルトでは、実行中の複雑な問合せのパフォーマンスは改善されません。

DOPオプションを使用すると、実行中の複雑な問合せのパフォーマンスを向上させることができます。DOPでは、パラレル計画の実行ごとに、単一の文を実行するために使用されるプロセッサの数を設定します。この項では、Data Studioのライブ共有機能を使用して、Autonomous Databaseで並列度 (DOP)構成オプションを構成する方法について説明します。

この例では、ライブ共有機能を使用し、非圧縮でのサイズが1TBの表を共有します。

開始する前に、考慮する必要がある事項がいくつかあります:
  • DOPの値を構成するオプションを実行できるのは、adminのみです。
前提条件:
  • データベース・アクション・インスタンスに管理者としてログインし、「管理」「リソース管理ルールの設定」を選択します。
  • デフォルトの同時実行性値およびDOPをメモします。
Data Studioを使用して並列度を構成し、実行中の複雑な問合せのパフォーマンスを向上させるには、次のことを実行します:
  • 共有をプロバイダとして作成します。
  • 共有をコンシューマとして消費し、共有に対して外部問合せを作成して、問合せの実行時間を記録します。
  • プロバイダおよびコンシューマとしてECPUを現在の値より大きい値に増やし、問合せの実行時間を記録します
  • MEDIUMコンシューマ・グループのDOP値を構成します。
  • 同じ共有を使用し、同じ表の問合せ実行時間を記録します。

ノート:

ECPU数およびDOP値は、ADMIN権限を持つプロバイダとして構成する必要があります。
「データベース・アクション」起動パッドで、「セレクタ」をクリックし、Data Studioツール・スイートから「データ共有」ツールを選択します。
  1. 共有をプロバイダとして作成します。
    1. 「共有の提供」をクリックし、「共有の作成」を選択します。
    2. 「共有の作成」ウィザードで、「共有の作成」タブの「名前」フィールドに共有の名前を入力します。たとえば、TESTです。



      「説明」フィールドに、共有するデータの説明を入力します。このフィールドはオプションです。

      「次」を選択して、「公開詳細」タブに進みます。

    3. ウィザードの詳細表の公開タブで、「直接接続を使用したライブ・データの共有」を選択します。



      「次」をクリックします。

    4. ウィザードの「表の選択」タブで、ドロップダウン・メニューからスキーマを選択し、「使用可能な表」からCUSTOMER表をドラッグ・アンド・ドロップします。



      ノート:

      この例では、大きいサイズのCustomerという名前の単一の表を共有しています。

      「次」をクリックして、「共有の作成」ウィザードの「受信者」タブに進みます。

    5. 「共有の作成」ウィザードの「受信者」タブで、ドロップダウンからMY_COMPARTMENTを選択します。

    6. 「作成」を選択して共有を作成します。



  2. 共有をコンシューマとして消費し、共有に対して外部問合せを作成して、問合せの実行時間を記録します。
    1. 共有をプロバイダとして作成したら、プロバイダによって共有されるデータを消費します。

      詳細は、「共有の消費」を参照してください。

    2. コンシューマとしてログインして、データ共有プロバイダをサブスクライブし、共有のデータにアクセスします。
    3. データ共有ツールの「プロバイダおよびコンシューマ」ページで、「共有の消費」タイルをクリックして、「共有の消費」ページを表示します。
    4. 「共有プロバイダへのサブスクライブ」ドロップダウン・リストをクリックし、「ライブ共有プロバイダへのサブスクライブ」オプションをクリックします。



    5. 「共有プロバイダの詳細」で、「プロバイダ名」を選択します。この例では、プロバイダの名前はTPUSERです。



    6. プロバイダ設定ウィザードの「共有プロバイダへのサブスクライブ」ページの「共有の追加」パネルで、「使用可能な共有」セクションの「テスト」をクリックし、(>)アイコンをクリックします。



    7. ツールは、「選択した共有」セクションに共有を追加します。「サブスクライブ」をクリックします。
    8. TPUSER共有プロバイダが正常に作成されたことを示すメッセージが表示されます。「共有」タブが選択された状態で「データのロード」ページが表示されます。



    9. TESTSHAREデータ共有ノードを展開して、その中のオブジェクトを表示します。TPUSER.CUSTOMER共有表をドラッグ・アンド・ドロップして、データ・ロード・ジョブに追加します。
    10. 共有表がデータ・リンク・ジョブに追加されます。このジョブを実行すると、共有されているCUSTOMER表を基にして新しいCUSTOMERビューが作成されます。
    11. 「開始」をクリックします。「クラウド・ストアからのリンクの開始」ダイアログ・ボックスが表示されます。「実行」をクリックします。ジョブが正常に完了すると、リンク・アイコンが表示されます。CUSTOMERビューが作成されます。
    12. 「データベース・アクション」|「データ共有」バナーをクリックします。「データベース・アクション」|「起動パッド」で、「開発」タブをクリックし、「SQL」タブをクリックしてSQLワークシートを表示します。



    13. CUSTOMER表をSQLワークシート領域にドラッグ・アンド・ドロップします。
    14. 使用可能な挿入のタイプを示すダイアログが表示されます。
    15. 「選択」をクリックして、「適用」をクリックします。





    16. 「実行」をクリックします。ワークシートに自動生成された問合せが表示されます。



    17. 「問合せ結果」タブに表示される「実行時間」フィールドの問合せ実行時間をメモします。
  3. プロバイダおよびコンシューマとしてECPUを増やし、問合せの実行時間を記録します。
    1. OCIコンソールから、プロバイダおよびコンシューマとしてAutonomous DatabaseインスタンスのECPU数を増やします。CPUまたはストレージ・リソースの追加または自動スケーリングの有効化を参照してください。

      ノート:

      自動スケーリングが有効になっていないことを確認してください。

      この例では、ECPU数を32に増やしました。ECPU数は任意の値にアップスケールできます。設定する最大ECPU数およびライセンスの詳細は、Autonomous DatabaseでのライセンスおよびOracle Databaseエディションの表示および更新(ECPUコンピュート・モデル)を参照してください

    2. 同じCUSTOMER共有の使用と問合せ実行時間の計算を繰り返します。表の問合せの時間に変化はありません。
  4. MEDIUMコンシューマ・グループのDOP値を構成します。
    1. ADMIN権限を持つコンシューマとしてデータベース・アクション・インスタンスにログインします。
    2. 「セレクタ」をクリックし、「管理」「リソース管理ルールの設定」を選択します。

    3. MEDIUMコンシューマ・グループの並行性制限8に減らし、「変更の保存」をクリックします。同時実行制限を減らすと、DOPが増加します。



    ノート:

    このステップで設定する同時実行性の制限は、前提条件でメモしたデフォルト値より小さくする必要があります。
  5. フォローアップ・ステップ - 並列度オプションを構成したら、共有を消費し、共有に対して外部問合せを作成して、問合せの実行時間を記録するプロセスを繰り返します。

    問合せ実行時間の値が減少したことがわかります。

同じ複雑なSQL問合せのパフォーマンスが、サーバーを再起動することなくすぐに向上します。