2 前提条件

次に示すZero Downtime Migrationの要件を満たします。

2.1 Zero Downtime Migrationサービス・ホストの要件

要件 説明 コメント
Zero Downtime Migrationサービス・ホスト

Zero Downtime Migrationソフトウェアには、Oracle Linux 7以降で実行する空き記憶域領域が100GBあるLinuxホストが必要です。

Zero Downtime Migrationサービス・ホストは、rootユーザーまたはSSH鍵でソースとターゲットのデータベース・サーバーに接続できる必要があります。

データベースの移行は、Zero Downtime Migrationサービス・ホストからソース・データベース・サーバーへの接続と、Zero Downtime Migrationサービス・ホストからターゲット・データベース・サーバーへの接続が確立されていないと実行できません。そのため、「Zero Downtime Migrationサービス・ホストからソースおよびターゲットのデータベース・サーバーへの接続の構成」の要件を必ず満たしておいてください。

2.2 ソース・データベースとターゲット・データベースの要件

要件 説明 コメント
サポートされるデータベースのリリース

Zero Downtime Migrationは、Oracle Database 11gリリース2 (11.2.0.4)移行をサポートしています。

ソースとターゲットのデータベース・リリースは、どちらも同じにする必要があります。

ソース・データベースの要件
  1. ソース・データベースはアーカイブ・ログ・モードで稼働している必要があります。
  2. Oracle Database 12cリリース2以降では、ソース・データベースで透過的データ暗号化(TDE)が有効になっていない場合、移行を開始する前にTDEウォレットを構成する必要があります。WALLET_TYPEは、AUTOLOGIN (優先)またはPASSWORDベースのいずれかです。
  3. ウォレットのSTATUSOPENになっていることと、WALLET_TYPEAUTOLOGIN (AUTOLOGINウォレット・タイプの場合)またはWALLET_TYPEPASSWORD (PASSWORDベースのウォレット・タイプの場合)になっていることを確認します。マルチテナント・データーベースの場合は、すべてのPDBおよびCDBでウォレットがオープンされており、マスター鍵がすべてのPDBおよびCDBに設定されていることを確認します。

    SQL> SELECT * FROM v$encryption_wallet;

  4. ソースがOracle RACデータベースで、SNAPSHOT CONTROLFILEが共有の場所にない場合、Oracle Object Storeへのバックアップ中にORA-00245エラーが発生しないように、すべてのOracle RACノード上にある共有の場所を指すようSNAPSHOT CONTROLFILEを構成します。
  5. ソースとターゲットのデータベース・サーバー・ノードのポート22で、Zero Downtime Migrationサービス・ホストからの着信接続要求が許可されることを確認します。
  6. ソース・データベース・サーバーのSCANリスナー・ポート(1521など)でターゲット・データベース・サーバーからの着信接続要求が許可されることと、その逆も同様であることを確認します。

    ファイアウォールでSCANリスナー・ポートを使用する着信リモート接続がブロックされる場合は、代替SQL接続を使用可能にする必要があります。

  7. 移行時、すべてのRMANスクリプト(cronジョブなど)を無効にして複数のRMANバックアップを回避します。
  • ソース・データベースがOracleリリース12.2以降の場合、TDEは有効化されていないため、「透過的データ暗号化ウォレットの設定」を参照してTDEを有効にしてください。

  • ステップ4で、データベースがASMストレージにデプロイされている場合は、次のようにします。

    $ rman target / RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DATA/snapcf_matrix.f';

    データベースがACFSファイル・システムにデプロイされている場合は、前述のコマンドに共有のACFSの場所を指定します。

ターゲット・データベースの要件
  1. データベース移行の開始前に、プレースホルダ・ターゲット・データベースを作成する必要があります。

    コンソールから作成するデータベースに選択したシェイプが、ソース・データベースと将来のサイズ変更の要件に対応できることを確認してください。適切なガイドラインは、ソース・データベースと同程度以上のサイズのシェイプを使用することです。

    ターゲット・データベースのdb_nameは、ソース・データベースのdb_nameと同じにする必要があり、ターゲット・データベースのdb_unique_nameパラメータ値は、Oracle Data Guardがターゲットとソース・データベースを異なるデータベースとして識別できるように一意にする必要があります。

  2. SYSパスワードは、ソース・データベースのSYSパスワードと一致している必要があります。
  3. ターゲット・データベース・バージョンをソース・データベース・バージョンと同じにする必要があります。ターゲット・データベースのパッチ・レベルもソース・データベースと同じ(またはそれ以上)にする必要があります。
  4. 透過的データ暗号化(TDE)が有効になっており、ウォレットのSTATUSOPENであり、WALLET_TYPEAUTOLOGIN (AUTOLOGINウォレット・タイプの場合)またはWALLET_TYPEPASSWORD (PASSWORDベースのウォレット・タイプの場合)であることを確認します。

    SQL> SELECT * FROM v$encryption_wallet;

  5. ターゲットがOracle RACデータベースの場合は、OracleユーザーのOracle RACサーバー間にパスフレーズなしのSSH接続を設定する必要があります。
  6. ターゲット・データベースのディスク・グループ(ASMディスク・グループまたはACFSファイル・システム)のサイズおよび使用率をチェックし、十分な記憶域がターゲット・データベース・サーバーでプロビジョニングされ、使用可能であることを確認します。
  7. ソース・データベースのバックアップを収容するのに十分な記憶域がオブジェクト・ストアでプロビジョニングされ、使用可能であることを確認します。
  8. ターゲット・サーバーのポート22と1521が開いていて、ファイアウォールでブロックされていないことを確認します。
  • プレースホルダ・ターゲット・データベースは移行時に上書きされますが、全体の構成は維持されます。
  • ターゲット・データベース環境がソース・データベースよりも高いパッチ・レベルである場合(ソース・データベースがOct 2018 PSU/BPであり、ターゲット・データベースがJan 2019 PSU/BPである場合など)は、データベースの移行後にdatapatchを実行する必要があります。
  • Exadata Cloud Serviceの場合、ターゲット環境は最新のDBaaS Tooling RPMでインストールされている必要があります。
  • 自動バックアップを有効化しないで、コンソールからターゲット・データベースをプロビジョニングします。
    • Oracle Cloud InfrastructureおよびExadata Cloud Serviceの場合は、「Configure database backups」セクションで「Enable automatic backups」オプションを選択しないでください。

    • Exadata Cloud at Customerの場合は、「Configure Backups」セクションで「Backup destination Type」「None」に設定してください。

2.3 Object Storageの要件

要件 説明 コメント
Object Storageの要件 データベース・バックアップを保持するために、Oracle Cloud Object Storageへのアクセスとバケットを作成する権限が必要です。ジョブ発行時には、Object StoreのSwiftトークン・パスワードが必要です。

ソース・データベースのバックアップを収容するのに十分な記憶域がオブジェクト・ストアでプロビジョニングされ、使用可能であることを確認します。

2.4 ソースとターゲットのデータベース・サーバー間のSQL*Net接続

要件 説明 コメント
ソースとターゲットのデータベース・サーバー間のSQL*Net接続

Oracle Data Guardの設定と同期のために、ソース(オンプレミス・データベースまたはOracle Cloud Infrastructure Classicのインスタンス)と、ターゲット・インスタンス(Oracle Cloud Infrastructure、Exadata Cloud at CustomerまたはExadata Cloud Service上のインスタンス)の間にSQL*Net (DBポート、Scanポート)を開きます。たとえば、1521はOracle Cloud Infrastructureターゲットのデータベース・ポートです。

なし

2.5 ポートの要件

イニシエータ ターゲット プロトコル ポート 用途 コメント

Zero Downtime Migrationサービス・ホスト

ソースとターゲット

TCP

22

SSH

Zero Downtime Migrationの操作フェーズを実行する認証ベースの操作ソースとターゲットのノードでは、Zero Downtime Migrationサービス・ホストからの着信接続要求を受け入れる必要があります。

ソース

ターゲット

TCP

1521

SQL*Net

データベースの問合せ、Data Guardの同期および構成を実行するために、OracleのSQL*NetプロトコルによるデータベースへのOracleクライアント接続を許可する必要があります。

注意: デフォルト以外のポート番号(ポート1521以外のもの)をローカル・リスナー・アドレスに使用している場合、デフォルト以外のポートで接続を許可する必要があります。

ターゲット

ソース

TCP

1521

SQL*Net

OracleのSQL*Netプロトコルを介したデータベースへのOracleクライアント接続を許可する必要があります。

スイッチオーバー後にオンプレミス・データベースがOracle Cloudの新しいプライマリと同期している必要がある場合に、REDOログの出荷を許可します。Oracle Cloudからオンプレミス・ホストに通信できない場合、この通信を回避するために、レスポンス・ファイルでSKIP_FALLBACKTRUEに設定します。

注意: デフォルト以外のポート番号(ポート1521以外のもの)をローカル・リスナー・アドレスに使用している場合、デフォルト以外のポートで接続を許可する必要があります。

ソース

Oracle Cloud Object Storeサービス

SSL

443

ソース・データベースのバックアップを指定したOracle Cloud Object Storeバケットに作成します。

選択したバックアップ方法にOracle Cloud Object Storeサービスがバックアップ媒体として含まれる場合、記載されたOracle Cloud Object Storeサービスが適合するポートにアクセスします。

ターゲット

Oracle Cloud Object Storeサービス

SSL

443

ソース・データベースのバックアップを指定したOracle Cloud Object Storeバケットからターゲットにリストアします。

選択したバックアップ方法にOracle Cloud Object Storeサービスがバックアップ媒体として含まれる場合、記載されたOracle Cloud Object Storeサービスが適合するポートにアクセスします。