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 種類のデータ移行エンジンを使用して移行プロセスを実行できます。
クライアント側のデータ移行エンジン
サーバー側のデータ移行エンジン
クライアント側データの移行:
クライアント側のデータ移行を開始するには、 [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] (出力) を選択します。
データを移行するには
次の点を確認します。
Oracle プロバイダーは、SSMA を実行しているコンピュータにインストールされます。
変換されたオブジェクトを SQL Server データベースと同期しています。
Oracle メタデータ エクスプローラーで、移行するデータを含むオブジェクトを選択します。
すべてのスキーマのデータを移行するには、[Schema] (スキーマ) の横にあるチェック ボックスをオンにします。
個々のテーブルからデータを移行するには、データベースを展開し、 [Tables] (テーブル) を展開して、テーブルの横にあるチェック ボックスをオンにします。
データを移行するには、次の 2 つのケースが発生します。
クライアント側データの移行:
- クライアント側のデータ移行を実行するには、[プロジェクトの設定] ダイアログ ボックスで [Client Side Data Migration Engine]\(クライアント側のデータ移行エンジン\) オプションを選びます。
サーバー側データの移行:
サーバー側でデータ移行を実行する前に、次のことを確保します。
SSMA for MySQL Extension Pack が、SQL Server のインスタンスにインストールされています。
SQL Server エージェント サービスが、SQL Server のインスタンスで実行されている。
サーバー側のデータ移行を実行するには、[プロジェクトの設定] ダイアログ ボックスで [サーバー側のデータ移行エンジン] オプションを選びます。
Oracle メタデータ エクスプローラーで [Schemas] (スキーマ) を右クリックし、[Migrate Data] (データの移行) をクリックします。 データは個々のオブジェクトごとに、またはオブジェクトのカテゴリごとに移行することができます。オブジェクトまたはその親フォルダーを右クリックし、[Migrate Data] (データの移行) オプションを選択します。
Note
SSMA for Oracle 拡張機能パックが SQL Server のインスタンスにインストールされておらず、[Server Side Data Miration Engine] (サーバー側のデータ移行エンジン) が選択されている場合、ターゲット データベースへのデータの移行中に、次のエラーが発生します。「SQL Server に SSMA データ移行コンポーネントが見つかりません。サーバー側のデータ移行はできません。 拡張機能パックが正しくインストールされていることを確認してください」。 [Cancel] (キャンセル) をクリックしてデータ移行を終了します。
[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 にデータが移行されます。
大規模なオフライン移行の場合は、[Migrate data at scale] (大規模なデータの移行) をクリックします。
認証用に Microsoft Entra Azure AD アカウントを指定します。 ユーザー名を入力したら、[接続] を選択します。
Azure SQL VM または Azure SQL データベースまたは Managed Instance が既に構成されているテナントとサブスクリプションを選択し、[Next] (次へ) をクリックします。
移行ワークフローの次の手順は、データ ソースの資格情報の後にターゲット SQL 資格情報を指定することです。
この移行では、既存の Azure リソース (リソース グループとデータ ファクトリ名) を使用するか、[New] (新規) をクリックして移行用のリソース グループと Azure Data Factory を作成できます。
外部データ ソースを移行するには、統合ランタイムが必要です。 [New] (新規) をクリックし、手順に従って統合ランタイムを作成するか、既存の統合サービスを使用します。 統合サービスを作成するには、ゲートウェイのインストールを構成する必要があり、統合ランタイムを構成するためのキーを指定する必要があります。
最後に、一意のデータ移行名を指定します。 移行名には、文字と数値を使用できます。 特殊文字は使用しないでください。
ターゲット テーブルにデータが含まれている場合は、切り詰められ、リロードするされます。 警告ダイアログ ボックスが表示されます。 [OK] を選択して続行するか、切り詰めおよび読み込みを回避するには、[Cancel] (キャンセル) を選択します。
Azure Data Factory コンポーネントの作成には数分かかります。 ステータス バーには、パイプライン作成の進行状況が表示されます。 パイプラインが正常に作成されると、「A data factory pipeline [PipelineName] is created for the data migration activity.」(データ ファクトリ パイプライン [PipelineName] がデータ移行アクティビティ用に作成されました) というメッセージが出力ログに書き込まれます。
データ移行を監視するには、監視 URL をクリックするか、Azure portal のデータ ファクトリのモニター ページに移動します。