次の方法で共有


Database Migration Assessment for Oracle 拡張機能

Note

この拡張機能は、2024 年 12 月 15 日に廃止されます。 問題が発生しても、その問題に対するこのツールのサポートを停止し、バグ修正や追加の更新プログラムは発行しません。

Azure Data Studio の Database Migration Assessment for Oracle 拡張機能は、Azure SQL および Azure Database for PostgreSQL に移行するために Oracle ワークロードを評価するのに役立ちます。 この拡張機能では、適切なサイズ設定に関する推奨事項により、適切な Azure SQL または PostgreSQL ターゲットを識別します。また、発生する可能性のある移行の複雑さも識別します。

前提条件

Azure Data Studio 拡張機能をインストールする

Azure Data Studio の Database Migration Assessment for Oracle 拡張機能をインストールするには、次の手順に従います。

  1. Azure Data Studio で拡張機能マネージャーを開きます。 [拡張機能] アイコンを選択するか、[表示] メニューで [拡張機能] を選択します。

  2. 検索バーに「Oracle」と入力します。

  3. [Database Migration Assessment for Oracle] 拡張機能を選択し、その詳細を表示します。

  4. [インストール] を選択します。

    拡張機能インストールのスクリーンショット。

拡張機能の設定を構成する

評価拡張機能をインストールしたら、拡張機能のいくつかの設定を構成できます。

  1. 拡張機能に移動し、[Database Migration Assessment for Oracle] を選択し、[設定の管理] アイコンをクリックし、拡張機能の設定を選択します。

    拡張機能のスクリーンショット。

  2. 拡張機能の設定で、環境の要件を満たすように拡張機能の設定を編集します。

    拡張機能プロパティ設定のスクリーンショット。

    Note

    Oracle から PostgreSQL へのコード評価を実行するには、Oracle クライアントのホーム パスと Ora2Pg インストール パスが必須のパラメーターとなります。

評価を実行する

評価拡張機能をインストールしたら、次の手順として、データベースを Oracle に接続し、Oracle インスタンスからメタデータ情報を収集して、評価レポートを生成します。

  1. メニュー バーの [接続] アイコンに移動します。

    接続メニュー バーのスクリーンショット。

  2. [接続の詳細] で、フィールドに入力します。

    1. [接続の種類] フィールドで、[Oracle] を選択します。
    2. [データ ソース] フィールドに、Oracle サーバー名とインスタンスを入力します。
      1. TNS 名も指定できます (ORACLE_HOME 環境変数が設定されており、TNSNAMES.ORA ファイルが <ORACLE_HOME>/network/admin folder に配置されていることを確認してください)。
      2. コンテナー データベースの場合は、CDB サービス ID を使用してコンテナー ルート データベースを接続することも、プラグ可能なデータベース サービス名を使用してプラグ可能なデータベースに接続することもできます。
    3. [ユーザー ID] フィールドに、データベースのユーザー名を入力します。
    4. [パスワード] フィールドに、データベースのパスワードを入力します。

    接続の詳細のスクリーンショット。

  3. [接続] を選択します。

  4. 以上で、[接続の詳細] メニューに新しい接続が表示されます。

  5. Oracle 接続を右クリックし、[管理] を選択します。

    データベースの [管理] 画面を示すスクリーンショット。

  6. [移行評価] を選択します。

    [データベースの移行評価] 画面を示すスクリーンショット。

  7. [新しい評価の実行] を選択します。

    [新しい評価の実行] 画面を示すスクリーンショット。

  8. 評価の詳細を入力します。

    1. [評価名] フィールドに、タイトル (例: demo1) を入力します。
    2. [評価の設定] を入力します。
      1. [ターゲット プラットフォーム] フィールドに、移行先のデータベースを入力します。 現在、移行先として Azure SQL と PostgreSQL がサポートされています。

        Note

        PostgreSQL の移行先はプレビュー段階です。 この移行先オプションは廃止されます。 以前の評価があれば、エクスポートしてください。

      2. [パフォーマンス データの収集] セクションで、[Oracle Database でパフォーマンス データ収集を実行する (接続済み)] または [AWR レポートの追加] を選択します。

        ピーク時に、または現実的な負荷がかかっている状態で、このツールを実行する場合は、接続オプションを使用することをお勧めします。 それ以外の場合は、パフォーマンスおよびサイズ設定の推奨事項に関して過去に生成された AWR レポートを指定します。

        Note

        AWR レポート評価オプションは、プラグ可能なデータベースでは有効になっていません。

      3. [倍率] フィールドに、乗数の値を入力します。

        • 推奨される SKU で他のピーク時の負荷を考慮する必要がある場合、倍率の乗数を 1 より大きい値にする必要があります。 たとえば、バースト負荷、季節ごとの使用頻度、将来のキャパシティ プランニングなどです。 一部の Oracle スキーマ ワークロードを移行する場合は、乗数を 1 未満にする必要があります。
      4. [百分位の使用率] フィールドに、Azure ターゲットのサイズ設定に使用される百分位の値を入力します。

        • Azure ターゲットのサイズを設定するために考慮されるパフォーマンス サンプル セットの百分位の値。

    評価の詳細画面を示すスクリーンショット。

  9. 次の 2 種類の評価があります。

    • ワークロード評価。 この評価では、Oracle 評価モジュールによって、スキーマ オブジェクトのライトウェイト検出が実行され、移行におけるスキーマの複雑さが、大まかに推定された変換時間に基づいてさまざまなカテゴリに分類されます。 この事前評価は、ターゲット プラットフォームへの移行の実現可能性を見つけるのに役立ちます。

    • コード評価。 コード評価では、Oracle スキーマ オブジェクトの詳細な評価を実行し、コード オブジェクトの全体的な準備状況を、より正確に推定された関連する変換時間に基づいて、"準備完了"、"レビューが必要"、"準備ができていない" のオブジェクトの種類として詳細なレベルで示されます。

      Note

      この拡張機能では、コード評価に、オープンソースである Ora2Pg スキーマ コンバーターが使用されます。

      Oracle クライアントまたは Ora2Pg が Azure Data Studio と同じマシンにインストールされていない場合、手動でインストールするか、GitHub の Ora2Pg インストール スクリプトを使用します。

      Oracle クライアントまたは Ora2Pg がインストールされている場合は、拡張機能の設定で、Oracle クライアントのホーム パスと Ora2Pg のインストール パスを確実に更新しておきます。

      • SQL シナリオのコード評価を選択する場合は、Oracle から SQL への変換と移行のためにアクセスするスキーマを選択します。 既定では、対象となるすべてのスキーマが評価用に選択されます。
  10. [検証の実行] を選択して、セキュリティのアクセス許可、構成設定などに関連する前提条件とさまざまな検証規則を実行します。検証に失敗した場合は、先に進む前にエラーを修正する必要があります。

  11. 検証が成功したら、[評価の実行] を選択できます。

  12. これで、[直近の 5 つの評価] セクションに新しい評価が表示されます。

    評価に名前を付けるためのオプションを示すスクリーンショット。

  13. 評価のリンクを選択して、評価の詳細ページを表示します。 評価の最新状態を表示できます。

    評価の最新状態を示すスクリーンショット。

  14. [更新] を選択するか、評価が完了するまで待ちます。 既定では、評価の状態ページは 15 秒ごとに更新されます。 状態は、4 つの状態 ("成功"、"失敗"、"進行中"、または "取り消し") のいずれかで示されます。

評価を表示する

評価が完了すると、"カード" を使用して、各移行先の Azure SQL (Azure Virtual Machines 上の SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Database for PostgreSQL - フレキシブル サーバー) について、統合された出力が生成されます。

評価の表示オプションのスクリーンショット。

各カードには、複数のセクションがあります。 カードには、ターゲットへの移行の全体的な実現可能性が示されます。 さまざまな移行の複雑さのカテゴリで、さまざまなワークロードをドリルダウンできます。

  • 機能の互換性のセクションには、機能の評価レビューの結果が提供されます。
  • SKU の推奨事項では、ターゲットの適切なサイズ設定が提示されます。
  • コード評価によって、データベース オブジェクトのコードの複雑さが示されます。

[レポートの詳細を表示] を選択すると、最初に評価の概要が表示されます。

評価の概要を示すスクリーンショット。

選択した移行先が Database for Azure PostgreSQL の場合、選択した評価の種類に基づいて、[データベース詳細] タブまたは [コード評価] タブのいずれかが表示されます。

次の [データベースの詳細] タブには、スキーマ別の内訳が表示されています。 これには、検出されたスキーマの一覧、移行の実現可能性、スキーマの変換に要する推定時間 (時単位) が示されます。

スキーマ別の内訳を示すスクリーンショット。

この推定は、オブジェクト数、コードの行数、有効にする機能、データベースのサイズに適用される統計モデルに基づきます。 コード変換のより正確な見積もりを行うには、コード評価を使用します。

Note

次のシステムまたは Oracle 組み込みスキーマは、ワークロード評価の対象外です。

APEXAPPQOSSYSAUDSYSCSMIGCTXSYSDBMS_PRIVILEGE_CAPTUREDBSFWUSERDBSNMPDIPDMSYSDVFDVSYSEXFSYSFLOW_GSMADMIN_INTERNALLBACSYSMDDATAMDSYSMGDSYSMGMT_VIEWMTMSYSODMODM_MTROJVMSYSOLAPSYSORACLE_OCMORDDATAORDPLUGINSORDSYSOSE$HTTP$ADMINOUTLNOWBSYSOWBSYS_AUDITPERFSTATSDESI_INFORMTN_SCHEMASPATIAL_CSW_ADMIN_USRSPATIAL_WFS_ADMIN_USRSQLTXPLAINSYSSYSMANSYSTEMTRACESRVTSMSYSWEBSYSWKPROXYWKSYSWK_PROXYWK_TESTWMSYSXDBXS$NULL

[SKU の推奨事項] では、次の項目が提示されます。

  • 適切な Azure の移行先。

  • サービス レベル。

  • 推奨される SKU を提示するために使用されたメトリックのしきい値。

    SKU のレコメンデーションを示すスクリーンショット。

SKU のレコメンデーションでは、CPU、メモリ、IOPS、待機時間、ストレージなどのさまざまなパフォーマンス メトリックが評価されます。 レコメンダーは、使用状況と構成データに基づいて、適切なターゲットと適切なサービス レベルを提示します。 SKU の推奨事項は、コンテナー ルート インスタンスまたはプラグ可能なデータベース使用率に基づいています。 スキーマの選択は無視され、SKU のサイズ設定には適用されません。

Note

Oracle インスタンスで自動ワークロード リポジトリ (AWR) 機能が有効になっている場合、SKU レコメンダーでは、DBA_HIST_ ビューを使用してパフォーマンス メトリックのメタデータを収集します。 それ以外の場合、レコメンダーでは、サーバーの構成とその他のシステム ビュー情報を使用して、移行先の Azure SQL のサイズを設定します。

コードの互換性 (PostgreSQL ターゲットのみ) では、移行先の Azure に変換できるスキーマ オブジェクトの概要を示します。 このレポートには、自動的に変換できるオブジェクト、条件付きで準備完了したオブジェクト、手動での修復および変換が必要であるオブジェクトの内訳が示されます。

コードの互換性レポートを示すスクリーンショット。

このレポートには、Azure PostgreSQL データベースにコードを移行するために必要なオブジェクトの合計数と変換作業時間が表示されます。 グラフの図は、テーブル、ビュー、クラスターなどの各スキーマ オブジェクトの種類の内訳を示します。 作業は、"準備完了 - 自動的に変換"、"レビューが必要"、"準備未完了 - 手動による変換が必要" に分類されます。

"準備未完了" と "レビューが必要" のセクションをドリルダウンすると、修復タスクと各タスクの作業時間の一覧が表示されます。

修復タスクを示すスクリーンショット。

機能評価では、Oracle から Azure データ ターゲットにマップされる機能と、それらの機能を移行先の Azure に移行するために必要な作業が提示されます。

マッピングの評価を示すスクリーンショット。

[総合的なレポートのダウンロード] または [個別レポートのダウンロード] を選択すると、レポートをオフラインでダウンロードできます。

評価レポートのダウンロード オプションを示すスクリーンショット。

また、進行中の評価を取り消したり、評価を削除したり、評価を別のディレクトリに移動したりすることもできます。

評価パスを変更する

  1. 拡張機能マーケットプレースに移動し、"Database Migration Assessment for Oracle" を検索します。
  2. [管理] アイコンを選択し、[拡張機能の設定] を選択します。
  3. [Oracle 評価: 評価パス] の下に新しい評価パスを指定します。

[評価パスの変更] オプションを示すスクリーンショット。

トラブルシューティング

ログ

この拡張機能では、エラー、警告、その他の診断ログが既定のログ ディレクトリに格納されます。

  • Windows - C:\Users\<username>.dmaoracle\logs\
  • Linux - ~/.dmaoracle/logs
  • macOS - /Users/<username>/.dmaoracle/logs

Note

既定では、この拡張機能によって、直近の 7 つのログ ファイルが格納されます。

ログ ディレクトリを変更するには、拡張機能の設定ファイルの LogDirectory プロパティを更新します。

オペレーティング システム パス
Windows C:\Users\<username>\.azuredatastudio\extensions\microsoft.azuredatastudio-dma-oracle-<VersionNumber>\bin\service\Properties\ConfigSettings\extension-settings.json
Linux ~/.azuredatastudio/extensions/microsoft.azuredatastudio-dma-oracle-<VersionNumber>/<VersionNumber>/bin/service/Properties/ConfigSettings/extension-settings.json
macOS /Users/<username>/.azuredatastudio/extensions/microsoft.azuredatastudio-dma-oracle-<VersionNumber>/<VersionNumber>/bin/service/Properties/ConfigSettings/extension-settings.json

問題のトラブルシューティングの詳細については、「Database Migration Assessment for Oracle 拡張機能エラーのトラブルシューティング」を参照してください。

既知の問題と制限事項

  • 指定されたパスが存在しません。

    理由: ファイルが見つからないか、評価フォルダーに対するアクセス許可がありません。

    考えられる解決策:

    • ユーザーに、評価フォルダーに対する読み取りと書き込みのアクセス許可を付与します。
    • 欠落しているファイルまたはフォルダーがある場合は、評価を削除して、新しい評価を作成します。
  • Oracle とのやり取り中に、接続タイムアウト例外が発生しました。

    理由: Oracle インスタンスに接続できませんでした。

    考えられる解決策:

    • Oracle がリッスンしているポートがファイアウォール規則によってブロックされていないかどうかを確認します。
    • tnsping を実行して、サービス ID が解決されるかどうかを確認します。

Microsoft にサポートを問い合わせる

Microsoft からのサポートがさらに必要な場合は、@dmasupport にお問い合わせください。 既定のログ ディレクトリのログを添付していただくと、迅速な処理ができます。