ノート:
- このチュートリアルでは、Oracle Cloudへのアクセス権が必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了したら、これらの値をクラウド環境に固有の値に置き換えてください。
オンライン移行でのOracle Cloud Infrastructure Database Migrationを使用したOracle Databasesの移行
イントロダクション
Oracle Cloud Infrastructure Database Migrationは、シームレスなデータベース移行のための高パフォーマンスのセルフサービス・エクスペリエンスを提供します。主な機能は次のとおりです:
- MySQLまたはOracleデータベースからOracle Cloud Infrastructure (OCI)への同種の移行。
- GoldenGateのデータ・レプリケーション・テクノロジを活用して、最小限のダウンタイムでエンタープライズ・グレードの論理オンラインおよびオフライン移行を実現します。
バックグラウンドで、OCI Database MigrationはOracle Zero Downtime Migrationツールを利用し、インフラストラクチャの構成が不要になります。
移行モード
-
オフライン移行:ソース・データベースのポイントインタイム・スナップショットがターゲット・データベースにコピーされるため、移行中にアプリケーションをオフラインのままにする必要があります。
-
オンライン移行:初期スナップショットがコピーされ、その後に変更のリアルタイム・レプリケーションが行われるため、移行中もアプリケーションがオンラインおよび動作状態を維持できます。
サポートされている移行:
-
Oracleソース・データベースは、オンプレミス、サードパーティ・クラウド、またはOCIに存在できます。
-
サポートされているターゲット・データベースには、Oracle Autonomous Database、Oracle Base Database ServiceおよびOracle Exadata Database Serviceが含まれます。
OCI Database Migrationのアーキテクチャ
OCI Database Migrationは、セキュアな通信のためにプライベート・エンドポイントを利用して、テナンシやリソースとは別のマネージド・クラウド・サービスとして動作します。オンプレミス、サードパーティ・クラウド、OCIなど、さまざまなソースからOracleデータベースを移行できます。このサービスは、次のような複数のOracleターゲットへの移行をサポートしています。
- Oracle Autonomous Database (共有または専用)。
- Oracle Base Database Service
- Oracle Exadata Database Service on Dedicated Infrastructure
OCI Database Migrationは、ユーザーのテナンシやリソースとは無関係に、フルマネージド・クラウド・サービスとして動作します。専用のOCIデータベース移行テナンシ内のマルチテナント・サービスとして機能し、プライベート・エンドポイントを使用してユーザー・リソースと通信します。これらのプライベート・エンドポイントは、OCI Database Migrationによって管理され、ユーザーにシームレスなエクスペリエンスを提供します。
-
DMSコントロール・プレーン:ユーザーは、OCI Database MigrationコンソールおよびREST APIを介して移行オブジェクトおよびデータベース接続オブジェクトを管理でき、シームレスな移行管理のための一元化されたインタフェースが提供されます。
-
DMSデータ・プレーン: OCIデータベース移行コントロール・プレーンによって管理されるOCIデータベース移行データ・プレーンは、ユーザーに対して透過的に動作します。進行中の移行ジョブを監督し、プライベート・エンドポイントを介してユーザー・データベースおよびOCI GoldenGateインスタンスと通信します。特に、OCI Database Migration Data Planeは、ユーザーのテナンシ内のOCI GoldenGateとOracle Data Pumpを直接流れるため、顧客データを格納しません。
-
移行: OCI Database Migrationでの移行は、単一のデータベースを移行するためのメタデータを保持する集中型オブジェクトです。これには、ソース、ターゲットおよび移行方法の詳細が含まれます。ユーザーは、移行を作成し、環境の正確性を検証してから、移行を実行してデータベース・データおよびスキーマ・メタデータをソースからターゲットに転送できます。
-
移行ジョブ: OCIデータベース移行の移行ジョブは、検証または実際の移行のいずれの場合でも、移行の実行状態を表します。ジョブは順次フェーズに進むため、ユーザーはフェーズ後に一時停止し、次のフェーズに進む準備ができたら手動で再開できます。
-
データベース接続: OCI Database Migrationのデータベース接続には、接続資格証明や認証資格証明など、ソースまたはターゲット・データベースに関する詳細が格納され、資格証明記憶域にOCI Vaultを安全に利用します。この接続は、複数の移行にわたって再利用でき、プロセスを合理化できます。
目的
- オンライン移行でOCI Database Migrationを使用して、Oracleデータベースを移行します。
前提条件
デモを容易にするために(名前で)次のリソースが設定されています。
- Vault (
DMSVAULT
)および暗号化キー(DMSKEY
)。 - デフォルト・セキュリティ・リスト表にイングレス・ルールとしてポート
1521
、1522
および443
が追加されたVirtual Cloud Network (VCN)(VCN01
)。 - OCIオブジェクト・ストレージ・バケット(
DMSBUCKET
)。 - Oracle Database 19cマルチテナント・データベース(
DMSOURCE
)。 - Oracle Autonomous Databaseターゲット・データベース(
DMSTARGETAUTONOMUS
)。
タスク1: ソース・データベースの準備
OCI GoldenGateを使用してオンライン移行用にソース・データベースを準備するには、次のステップに従います。
コンテナに共通ユーザーC##GGADMIN
を作成し、プラガブル・データベースにローカル・ユーザーGGADMIN
を作成します。これらのユーザーは、OCI Database Migrationコンソールでソース・データベース接続を作成するために使用されます。
準備の自動化
-
MOS Note 2953866.1.sから
dms-db-prep-v2.sh
スクリプトをダウンロードします。 -
このスクリプトを実行して、
dms_prep_db.sql
ファイルを生成します。 -
生成されたSQLファイルを
CDB$ROOT
レベルで実行します。コンテナ・レベルで
dms_prep_db.sql
ファイルを実行すると、DMS_Configuration.sql
ファイルが生成されます。このファイルは、コンテナ・レベルで実行する前にレビューおよび潜在的な変更が必要です。
タスク2: ソース・プラガブル・データベース(PDB)でのサンプル・ユーザーの作成と同じデータのロード
OCIデータベース移行機能をテストするには、サンプル・ユーザーTESTUSER
、表EMPL
を作成し、移行をテストするためにデータを移入する必要があります。これが完了したら、次のタスクに進むことをお薦めします。
タスク3: ターゲット・データベースの準備
ターゲットOracle Autonomous Transaction Processing (ATP)でggadmin
ユーザーのパスワードを設定し、ロックを解除します。
タスク4: OCIデータベース移行コンソールでのソース・コンテナ・データベース(CDB)、ソースPDBおよびターゲット・データベース(ATP)の接続の作成
-
ソースCDBの接続を作成します。
-
OCIコンソールに移動し、「移行およびディザスタ・リカバリ」、「データベース移行」、「データベース接続」に移動して、「接続の作成」をクリックします。
-
次の情報を入力します
- 名前:
SRCCDB
と入力します。 - コンパートメント:必要な権限がある独自のコンパートメントを選択します。
- タイプ: 「Oracle Database」を選択します。
- Vault:「前提条件」で作成した
DMSVAULT
を選択します。 - 暗号化キー:
DMSKEY
を選択します。
接続の詳細:
- 初期ロード・データベース・ユーザー名は、
DATAPUMP_EXP_FULL_DATABASE
ロールを持つユーザーである必要があります。 - データベース・ウォレットはオプションです。
- プライベート・エンドポイントの作成:データベースがプライベート・サブネットで起動されている場合は、同じをクリックし、ドロップダウン・メニューからプライベート・サブネット名を入力します。そうでない場合は、「プライベート・エンドポイントの作成」を選択する必要はありません。
- 「拡張設定」をクリックします。
- SSHデータベース・サーバーのホスト名:ソース・データベースのパブリックIP。
- SSH秘密キー:ソース・データベースの作成時にダウンロードしたRSA形式の秘密キー。
- SSH username:
opc
と入力します。 - 「作成」をクリックします。
- 接続が作成されたら、成功する接続をテストします。
- 名前:
-
-
ソースPDBの接続を作成します。
名前(
SRCPDB
)を入力し、残りはすべてSRCCDB
接続詳細と同じになりますが、レプリケーション・データベース・ユーザー名はPDBの場合はGGADMIN
になります。 -
ターゲットPDB (ATP)の接続を作成します。
-
次の情報を入力します
- 名前:
TRGATP
と入力します。 - コンパートメント:必要な権限がある独自のコンパートメントを入力します。
- タイプ: 「Oracle Autonomous Database」をクリックします。
- Vault:「前提条件」で作成した
DMSVAULT
を入力します。 - 暗号化キー:
DMSKEY
を選択します。
接続の詳細:
- データベース:
DMSTARGETARGETAUTONOMOUS
と入力します。 - 初期ロード・データベース・ユーザー名:
Admin
と入力します。 - 「レプリケーションに別の資格証明を使用します」を選択します。
- レプリケーション・データベース・ユーザー名:
ggadmin
と入力します。 - レプリケーション・データベースのパスワード:タスク3と同じパスワードを入力します。
- プライベート・エンドポイントの作成:データベースがプライベート・サブネットで起動されている場合は、同じをクリックし、ドロップダウン・メニューからプライベート・サブネット名を入力します。そうでない場合は、「プライベート・エンドポイントの作成」を選択する必要はありません。
- 名前:
-
「作成」をクリックし、作成が完了したら「接続のテスト」をクリックします。それは成功するはずです。
-
これで、ソースCDB、ソースPDBおよびターゲットATPデータベースへの接続の作成が完了しました。
タスク5: 移行の作成
-
「移行」、「移行の作成」の順にクリックし、次の情報を入力します。
- 名前:
POCMIGRATION
と入力します。 - データベース接続:ソース・データベースとして「SRCPDB」を選択します。
- 「データベースはプラガブル・データベース(PDB)」を選択します。
- コンテナ・データベース接続: 「SRCCDB」を選択します。
- 名前:
-
ターゲット・データベースの情報を入力します。
- ターゲット・データベース: 「TRGATP」を選択します。
- 初期ロードの転送メディア: 「オブジェクト・ストレージを介したデータ・ポンプ」を選択します。
- ソース・データベース:
- ディレクトリ・オブジェクト名のエクスポート:ソース・データベースに作成されたdumpdirを入力します。
- エクスポート・ディレクトリ・オブジェクト・パス:ソース・データベースに作成された
/u01/app/oracle/dumpdir
を入力します。
- オブジェクト・ストレージ・バケット: 「DMSBUCKET」を選択します。
-
「拡張オプションの表示」をクリックし、「検証」で「検証中に移行前アドバイザを実行」を選択します。
「拡張オプション」セクションで、様々なタブを確認して移行設定をカスタマイズします。特に、「レプリケーション」タブでは、以前にマーケットプレイスからテナンシにプロビジョニングしている場合は、OCI GoldenGateマーケットプレイス・インスタンスも使用できます。
タスク6: 移行タスクの検証
「作成」をクリックします。作成後、移行を検証します。検証を続行する前に、ソースPDB、ソースCDBおよびターゲットATPの接続を再度テストできます。デフォルト・オプションを使用します。
検証ジョブを開始したら、「詳細の表示」をクリックして進捗をモニターし、詳細を確認します。
OCIデータベース移行検証ジョブが失敗した場合は、次のイメージに示すように、OCIデータベース移行ログをダウンロードできます。
タスク7: 移行タスクの開始
-
「スタート」をクリックします移行を一時停止するステージを選択するように求められます。デフォルト・オプションは「レプリケーション・ラグのモニター」で、ソース・スキーマに加えられた変更がリアルタイムで追跡、取得およびターゲット・データベースと同期されます。
移行プロセスには複数のフェーズが含まれます。デフォルトでは、ジョブはレプリケーション・ラグのモニターで一時停止し、ソース・データベースとターゲット・データベース間の変更を追跡および同期します。
カットオーバー日に、アプリケーションを停止して移行ジョブを再開する必要があります。このフェーズの後およびカットオーバーが完了するまで、ソース・データベースで新しいトランザクションが発生しないようにする必要があります。その後、ジョブはターゲット・データベースへのスイッチオーバーをファイナライズし、クリーンアップを実行します。
-
スイッチオーバーを完了するには、「ジョブの再開」ウィンドウでスイッチオーバー・フェーズを選択し、「再開」をクリックします。このフェーズでは、レプリケーションが停止され、ターゲット・アプリケーションがターゲット・データベースでトランザクションを開始するようにリダイレクトされます。
-
ジョブが再開され、スイッチオーバー・フェーズが完了したら、「再開」を再度クリックします。次に、最終フェーズを選択してクリーンアップし、「再開」をクリックして移行プロセスを完了します。
関連リンク
確認
- 著者 - Kaushik Mukherjee (Oracle India、シニア・プリンシパル・コンサルタント- バンガロール)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Migrate Oracle Databases using Oracle Cloud Infrastructure Database Migration with Online Migration
G33890-01
Copyright ©2025, Oracle and/or its affiliates.