SQL Server (OracleToSQL) に Oracle のデータの移行

変換されたオブジェクトを SQL Server と正常に同期したら、Oracle から SQL Server にデータを移行できます。

重要

使用されているエンジンがサーバー側のデータ移行エンジンである場合、データを移行する前に、SSMA を実行しているコンピュータに SSMA for Oracle Extension Pack と Oracle プロバイダーをインストールする必要があります。 SQL Server エージェント サービスも実行されている必要があります。 拡張機能パックをインストールする方法の詳細については、「サーバー コンポーネントのインストール (OracleToSQL)」を参照してください

Note

Microsoft Entra ID はAzure Active Directory (Azure AD) の新しい名前ですが、既存の環境の中断を防ぐために、UI フィールド、接続プロバイダー、エラー コード、コマンドレットなど、ハードコーディングされた一部の要素でAzure AD が残ります。 この記事では、2 つの名前は交換可能です。

移行オプションの設定

SQL Server にデータを移行する前に、[Project Settings] (プロジェクト設定) ダイアログ ボックスでプロジェクトの移行オプションをレビューします。

  • このダイアログ ボックスを使用することで、移行バッチ サイズ、テーブル ロック、制約チェック、null 値の処理、ID 値の処理などのオプションを設定できます。 プロジェクト移行設定の詳細については、「プロジェクト設定 (移行) (OracleToSQL)」を参照してください。

  • [Project Settings] (プロジェクト設定) ダイアログ ボックスの [Migration Engine] (移行エンジン) を使用すると、次の 2 種類のデータ移行エンジンを使用して移行プロセスを実行できます。

    1. クライアント側のデータ移行エンジン

    2. サーバー側のデータ移行エンジン

クライアント側データの移行:

  • クライアント側のデータ移行を開始するには、 [Project Settings] (プロジェクトの設定) ダイアログ ボックスで [Client Side Data Migration Engine](クライアント側のデータ移行エンジン) オプションを選択します。

  • 既定では、[Project Settings] (プロジェクト設定)[Client Side Data Migration Engine] (クライアント側のデータ移行エンジン) オプションが設定されています。

    Note

    クライアント側のデータ移行エンジンは SSMA アプリケーション内に存在するため、拡張機能パックの可用性に依存しません。

サーバー側データの移行:

  • サーバー側のデータ移行中、エンジンはターゲットのデータベースに存在します。 拡張機能パックを使用することで、エンジンがインストールされます。 拡張機能パックをインストールする方法の詳細については、「SQL Server でのサーバー コンポーネントのインストール」を参照してください

  • サーバー側のデータ移行を実行するには、 [Project Settings] (プロジェクトの設定) ダイアログ ボックスで [Server Side Data Migration Engine](サーバー側のデータ移行エンジン) オプションを選択します。

SQL Server へのデータの移行

データの移行は、トランザクション内で Oracle テーブルのデータの行を SQL Server に移動する一括読み込み操作です。 各トランザクションで SQL Server に読み込まれる行数は、プロジェクトの設定で構成されます。

移行メッセージを表示するには、[Output] (出力) ウィンドウが表示されていることを確認します。 [View] (表示) メニューの [Output] (出力) を選択します。

データを移行するには

  1. 次の点を確認します。

    • Oracle プロバイダーは、SSMA を実行しているコンピュータにインストールされます。

    • 変換されたオブジェクトを SQL Server データベースと同期しています。

  2. Oracle メタデータ エクスプローラーで、移行するデータを含むオブジェクトを選択します。

    • すべてのスキーマのデータを移行するには、[Schema] (スキーマ) の横にあるチェック ボックスをオンにします。

    • 個々のテーブルからデータを移行するには、データベースを展開し、 [Tables] (テーブル) を展開して、テーブルの横にあるチェック ボックスをオンにします。

  3. データを移行するには、次の 2 つのケースが発生します。

    クライアント側データの移行:

    • クライアント側のデータ移行を実行するには、[プロジェクトの設定] ダイアログ ボックスで [Client Side Data Migration Engine]\(クライアント側のデータ移行エンジン\) オプションを選びます。

    サーバー側データの移行:

    • サーバー側でデータ移行を実行する前に、次のことを確保します。

      1. SSMA for MySQL Extension Pack が、SQL Server のインスタンスにインストールされています。

      2. SQL Server エージェント サービスが、SQL Server のインスタンスで実行されている。

    • サーバー側のデータ移行を実行するには、[プロジェクトの設定] ダイアログ ボックスで [サーバー側のデータ移行エンジン] オプションを選びます。

  4. Oracle メタデータ エクスプローラーで [Schemas] (スキーマ) を右クリックし、[Migrate Data] (データの移行) をクリックします。 データは個々のオブジェクトごとに、またはオブジェクトのカテゴリごとに移行することができます。オブジェクトまたはその親フォルダーを右クリックし、[Migrate Data] (データの移行) オプションを選択します。

    Note

    SSMA for Oracle 拡張機能パックが SQL Server のインスタンスにインストールされておらず、[Server Side Data Miration Engine] (サーバー側のデータ移行エンジン) が選択されている場合、ターゲット データベースへのデータの移行中に、次のエラーが発生します。「SQL Server に SSMA データ移行コンポーネントが見つかりません。サーバー側のデータ移行はできません。 拡張機能パックが正しくインストールされていることを確認してください」。 [Cancel] (キャンセル) をクリックしてデータ移行を終了します。

  5. [Connect to Oracle] (Oracle への接続) ダイアログ ボックスで接続資格情報を入力し、[Connect] (接続) をクリックします。 Oracle への接続の詳細については、「Oracle への接続 (OracleToSQL)」を参照してください 。

    ターゲット データベースの SQL Server に接続するには、[Connect to SQL Server] (SQL Server への接続) ダイアログ ボックスに接続資格情報を入力し、[Connect] (接続) をクリックします。 SQL Server への接続について詳しくは、「SQL Server への接続」を参照してください。

    [Output] (出力) ウィンドウにメッセージが表示されます。 移行が完了したら、データ移行レポートが表示されます。 データが移行されなかった場合は、エラーを含む行をクリックし、[Details] (詳細) をクリックします。 レポートを終了するには、[Close] (閉じる) をクリックします。 データ移行レポートについての詳細は、「データ移行レポート (SSMA Common)」を参照してください。

Note

ターゲット データベースとして SQL Express エディションを使用する場合、クライアント側のデータ移行のみが許可され、サーバー側のデータ移行はサポートされません。

大規模なデータの移行 (プレビュー)

大規模なデータを短期間で移行する必要がある場合は、大規模なオフライン移行オプションが適しています。 この機能は、IaaS VM であれ SQL PaaS であれ、Azure Data Factory パイプラインとクラウドのスケーラビリティを使用して、オンプレミスまたは外部の Oracle データ ソースを Azure SQL プラットフォームに移行するものです。 この機能により、データ ファクトリが作成されるか、既存のデータ ファクトリを使用して Azure SQL PaaS または SQL VM にデータが移行されます。

  1. 大規模なオフライン移行の場合は、[Migrate data at scale] (大規模なデータの移行) をクリックします。

  2. 認証用に Microsoft Entra Azure AD アカウントを指定します。 ユーザー名を入力したら、[接続] を選択します。

  3. Azure SQL VM または Azure SQL データベースまたは Managed Instance が既に構成されているテナントとサブスクリプションを選択し、[Next] (次へ) をクリックします。

  4. 移行ワークフローの次の手順は、データ ソースの資格情報の後にターゲット SQL 資格情報を指定することです。

  5. この移行では、既存の Azure リソース (リソース グループとデータ ファクトリ名) を使用するか、[New] (新規) をクリックして移行用のリソース グループと Azure Data Factory を作成できます。

  6. 外部データ ソースを移行するには、統合ランタイムが必要です。 [New] (新規) をクリックし、手順に従って統合ランタイムを作成するか、既存の統合サービスを使用します。 統合サービスを作成するには、ゲートウェイのインストールを構成する必要があり、統合ランタイムを構成するためのキーを指定する必要があります。

  7. 最後に、一意のデータ移行名を指定します。 移行名には、文字と数値を使用できます。 特殊文字は使用しないでください。

  8. ターゲット テーブルにデータが含まれている場合は、切り詰められ、リロードするされます。 警告ダイアログ ボックスが表示されます。 [OK] を選択して続行するか、切り詰めおよび読み込みを回避するには、[Cancel] (キャンセル) を選択します。

  9. Azure Data Factory コンポーネントの作成には数分かかります。 ステータス バーには、パイプライン作成の進行状況が表示されます。 パイプラインが正常に作成されると、「A data factory pipeline [PipelineName] is created for the data migration activity.」(データ ファクトリ パイプライン [PipelineName] がデータ移行アクティビティ用に作成されました) というメッセージが出力ログに書き込まれます。

  10. データ移行を監視するには、監視 URL をクリックするか、Azure portal のデータ ファクトリのモニター ページに移動します。

参照

SQL Server への Oracle データベースの移行 (OracleToSQL)