3 必要な接続の構成
Zero Downtime Migrationサービス・ホストとソースおよびターゲットのデータベース・サーバー間に接続を設定する必要があります。
ノート:
ホスト・レベルの認証ユーザーに対するumask設定では、umaskを022に設定する必要があります。たとえば、zdmuser
がソースまたはターゲットに対する認証ユーザーである場合は、zdmuser
のumaskが022に設定されている必要があります。
3.1 SSHアクセスを使用しない論理移行
SSH資格証明を要求せずに、ターゲット・データベース・サーバー・ホストへの論理移行を実行できます。
- ZDMは、ダンプのアップロードおよびダウンロードを処理するSSHアクセスを使用しないで論理ワークフローを実行します。
- Zero Downtime Migrationによってリモートでクラウド移行前アドバイザ・ツール(CPAT)による検証が実行されるようにするには、レスポンス・ファイル・パラメータ
RUNCPATREMOTELY=TRUE
を設定します。「RUNCPATREMOTELY」を参照してください。 - ZDMでは、ソース・データベースまたはターゲット・データベースへのJDBC接続を介して、CPATをZDMノード(前述のZDMサービス・ホストと呼ばれます)からリモートで起動できます。
OSSへのダンプの転送を伴う移行の場合、ZDMはHTTPS経由でダンプを自動転送します。
このHTTPS接続を実現するには、ソース・データベース・ホストで次のステップを実行する必要があります:
- HTTPSアクセス用に
SSL_WALLET
を設定します: 証明書を使用したSSL Walletの作成を参照してください。 DUMPTRANSFERDETAILS_SOURCE_OCIWALLETLOC
パラメータを使用して、ZDMジョブへのこのウォレット・パスを指定します。- ネットワークACLの設定: エクスポートまたはインポートを実行するユーザーは、ソースおよびターゲット・データベース・ホストからネットワークにアクセスするために必要なネットワークACLを付与する必要があります。ネットワークACLの設定方法を参照してください
ソース・データベース・サーバーの場合:
次のパラメータは、ソース・ノードのSSLウォレット・パスを示します:
DUMPTRANSFERDETAILS_SOURCE_NOSSHUPLOADMETHOD
DUMPTRANSFERDETAILS_SOURCE_OCIWALLETLOC
ターゲット・データベース・サーバーの場合:
DUMPTRANSFERDETAILS_TARGET_NOSSHUPLOADMETHOD
DUMPTRANSFERDETAILS_TARGET_OCIWALLETLOC
3.2 SSHアクセスを使用した物理移行および論理移行
database
ユーザーおよびsudo
特権ユーザーによるSSHアクセスを使用して、物理移行および論理移行を実行し、データベースをソースからターゲットに移行できます。
関連トピック
3.2.1 データベース・ユーザー権限による移行
ソースおよびターゲット・データベース・ノードでoracle
ユーザーとして実行されるすべてのアクションにより、データベースをソースからターゲットに移行できます。アクションを実行するために特権ユーザー・アクセスは必要ありません。
dbuser
認証プラグインの使用:
次の引数が必要です:
user
:Oracle db user
- 移行アクションを実行できるOracle Databaseユーザー名を指定します。たとえば、user:oracle
は、物理移行ワークフローの一部として必要なGrid Infrastructure (GI)アクションを実行できます。-
identity_file: Oracle db user SSH private key file
- 指定したソース・ノードまたはターゲット・ノードに対するSSH接続を可能にする、指定したOracle Databaseユーザー名の秘密キー・ファイルを指定します。たとえば、identity_file:/home/zdmnode/keys/source_ssh_private_key.file
です。
- 認証プラグイン
-srcauth
または-tgtauth
をdbuser
として選択し、認証ユーザーを指定します。 - 指定したユーザーがソース・データベース・サーバーまたはターゲット・データベース・サーバーにそれぞれ接続し、移行を実行するためのファイルを特定します。
migrate
コマンドで次の引数を使用して、dbuser
認証プラグインをサポートします:- ソース・ノード・アクセス: ZDMCLI
migrate
コマンドで次のパラメータを指定します:-srcauth dbuser -srcarg1 user:username -srcarg2 identity_file:Oracle user private_ssh_key.file
- ターゲット・ノード・アクセス: ZDMCLI
migrate
コマンドで次のパラメータを指定します:-tgtauth dbuser -tgtarg1 user:target_database_server_login_user_name -tgtarg2 identity_file:Oracle user private_ssh_key.file
- ソース・ノード・アクセス: ZDMCLI
論理移行を実行するためのdbuser
プラグインの使用
ZDMでは、ソースとターゲットの両方のノード・アクセスに対して権限のないユーザーがサポートされます。
ソースおよびターゲット・データベース・サーバーのホストで移行に必要なすべてのアクションを実行するには、認証に指定されたdbuser
を許可する必要があります。
物理移行を実行するためのdbuser
プラグインの使用
- ソース・データベース・サーバー・ホストで移行に必要なすべてのアクションを実行するには、認証に指定された
dbuser
を許可する必要があります。 - OCIターゲット・データベース・サーバーの場合 -
dbuser
認証プラグインはサポートされていません。常に特権ユーザーが必要です。zdmauth
を使用する必要があります。 - 非クラウド・ターゲット・データベース・サーバーの場合、物理移行でターゲット・データベースに
dbuser
を使用するには、Oracle Grid Infrastructure (GI)とOracle Database (DB)が同じユーザーが所有する必要がある場合、ターゲット・データベースは、ロールが分かれていない必要があります。 - ソース・データベース・サーバーの場合、Grid Infrastructureユーザーおよびデータベース・ユーザーにロール分離がない場合、次のいずれかのケースが適用可能であることを確認してください。
dbuser
とgrid user
が同じで、Oracle DatabaseパスワードまたはTDEウォレットがASMにない場合、次のアクションは必要ありません:- Grid Infrastructureおよびデータベースがロール別になっていて、Oracle DatabaseパスワードまたはTDEウォレットがASM上にある場合は、パスワードまたはTDEウォレットをASMから
dbuser
アクセス用のセキュアなローカル・ファイル・システム・パスにコピーします。 - コピーしたウォレットが保護され、
dbuser
のみにアクセスが制限されており、移行アクションの完了後にはウォレットが削除されるようにします。 - TDEウォレットまたはOracle DatabaseをASMからローカル・ファイル・システムにコピーする場合は、
SRC_DB_PASSWORDFILE_LOCSRC_DB_PASSWORDFILE_LOC
およびSRC_DB_TDE_WALLET_LOCSRC_DB_TDE_WALLET_LOC
パラメータにそれぞれパスを指定します。
- Grid Infrastructureおよびデータベースがロール別になっていて、Oracle DatabaseパスワードまたはTDEウォレットがASM上にある場合は、パスワードまたはTDEウォレットをASMから
移行コマンドの例:
$ZDM_HOME/bin/zdmcli migrate database -rsp file_name -sourcesid source_oracle_sid
-sourcenode source_database_server_name
-srcauth dbuser
-srcarg1 user:username
-srcarg2 identity_file:ssh_key_path
-targetnode target_database_server_name
-tgtauth dbuser
-tgtarg1 user:target_database_server_login_user_name
-tgtarg2 identity_file:ZDM_installed_user_private_key_file_location
3.2.2 SUDOユーザー権限による移行
場合によっては、ソースおよびターゲットのデータベース・サーバーでsudo
を使用して操作を実行するための権限を特定のユーザーに付与する必要があります。
SUPERUSER権限昇格なしでsudo
ユーザーとしてソースおよびターゲット・データベース・ノードでのアクションをすべて実行してデータベースをソースからターゲットに移行できます。認証引数user:<auth_user>
で指定されたユーザーは、SSHを介してデータベース・ホストに接続するために使用されます。実行されるアクションでは、SU (スーパーユーザー)アクセス、またはデータベース・ユーザーを介した直接SSHは想定されていません。
ノート:
これはオプションの方法であり、ロール別のケースに適用される「SSHキー・ベースの認証の設定」に代わる方法として使用できます。
これらのステップは、ソースまたはターゲット(あるいはその両方)がSSHキー(共同管理データベース)を使用してアクセスされる物理移行および論理移行に適用できます。これらのステップは、ターゲットがAutonomous Databaseである論理移行では適用できません。
ノート:
新しい認証プラグインsudoasuser
は、論理移行の場合のみ使用できます。
ご使用の環境でデータベース・ユーザーへのSSHアクセスがロックされている場合やスーパーユーザーになるための権限がSudoユーザーに付与されていない場合が対象になります。
ソース・データベース・サーバーの場合:
-
ソース・データベース・サーバーに
root
ユーザーでアクセスする場合、sudo
権限を構成する必要はありません。 -
ソース・データベース・サーバーに
root
以外のユーザー、database
以外のユーザーを介してアクセスする場合は、パスワードを要求されずにdatabase
ユーザーとして移行アクションを実行できるように、sudo
権限を構成します。
ターゲット・データベース・サーバーの場合:
- ターゲット・データベース・サーバーがクラウド上にある場合、
sudo
権限はすでに構成されています。それ以外の場合は、データベース・インストール・ユーザーおよびroot
ユーザーのパスワードを要求されずに実行されるようにすべてのsudo
権限を構成します。ターゲット・データベース・サーバーに
root
以外のユーザー、database
以外のユーザーを介してアクセスする場合は、パスワードを要求されずにdatabase
ユーザーとして移行アクションを実行できるように、sudo
権限を構成します。
論理移行の場合のsudoasuser認証プラグインの使用
SUPERUSER権限昇格なしでsudo
ユーザーとしてソースおよびターゲット・データベース・ノードでのアクションをすべて実行してデータベースをソースからターゲットに移行できます。認証引数user:<auth_user>
で指定されたユーザーは、SSHを介してデータベース・ホストに接続するために使用されます。実行されるアクションでは、SU (スーパーユーザー)アクセス、またはデータベース・ユーザーを介した直接SSHは想定されていません。
このプラグインでは、指定したユーザーがソース・データベース・サーバーに接続しsudoを使用してデータベース・ユーザーになり移行アクションを実行できるようにするために、認証ユーザーasuserを指定する引数、およびアイデンティティ・ファイルを指定する引数が提供されます。
次に、必要な引数を示します
user:<auth_user>
この引数により、リモート・ソース・ノードへの接続に使用する認証ユーザー名を指定します。
'asuser:' <Sudoユーザー>この引数では、sudoの実行によりOracle Databaseユーザーになり移行アクションを実行できるようにする、sudoユーザー名を指定します。たとえば、user:zdmuser
はsudo oracle
を実行できます(物理移行の場合はGridユーザーになります)。物理移行の場合、指定したユーザーは、sudoによってGIユーザーになり、移行ワークフローの一環で必要になるすべてのGrid Infrastructure (GI)アクションを実行できるようになります。
この引数では、指定したソース・ノードに対するSSH接続を許可する指定した認証ユーザー名のための秘密キー・ファイルを指定します。たとえば、identity_file:/home/zdmnode/keys/source_ssh_private_key.file
です。
migrate
コマンドの例を示します:zdmcli migrate database
-sourcedb db_name
-sourcenode source_host_name
-srcauth sudoasuser
-srcarg1 user:source_database_server_login_user_name
-srcarg2 asuser:source_database_server_login_user_name
-srcarg3 identity_file:ZDM_installed_user_private_key_file_location
-srcarg4 sudo_location:/usr/bin/sudo
-targetnode target_host_name
-backupuser Object_store_login_user_name
-rsp response_file_location
-tgtauth zdmauth
-tgtarg1 user:target_database_server_login_user_name
-tgtarg2 identity_file:ZDM_installed_user_private_key_file_location
-tgtarg3 sudo_location:/usr/bin/sudo -tdekeystorepasswd -tgttdekeystorepasswd
certs
を介したホスト・アクセス用のサンプル・コマンドを示します。
ノート:
sudoアクセス権を持つユーザーには-srcauth zdmauth
を使用し、sudo以外のユーザーには-tgtauth dbuser
を使用します(またはその逆にします)。
$ZDM_HOME/bin/zdmcli migrate database
-sourcedb source_db_unique_name_value
-rsp response_file_location
-sourcenode <nodename e.g., dbserver or IP
address>
-srcauth zdmauth
-srcarg1 user:username
-srcarg2 identity_file:<user key path on
zdm host e.g. /keys/id.rsa>
-srcarg3 sudo_location:/usr/bin/sudo
-targetnode target_database_server_name
-tgtauth dbuser
-tgtarg1 user:target_database_server_login_user_name
-tgtarg2 identity_file:ZDM_installed_user_private_key_file_location
3.3 Zero Downtime Migrationのポートの要件
Zero Downtime Migrationサービス・ホスト、ソースおよびターゲットのデータベース・サーバー、Oracle Cloud Object Storeサービス間の通信に必要なポートは、次の表を参照してください。
表3-1 Zero Downtime Migrationの通信ポート
イニシエータ | ターゲット | プロトコル | ポート | 用途 | 説明 |
---|---|---|---|---|---|
Zero Downtime Migrationサービス・ホスト | ソースおよびターゲットのデータベース・サーバー | TCP | 22 | SSH | Zero Downtime Migrationの操作フェーズを実行する認証ベースの操作
ソースおよびターゲットのデータベース・サーバーでは、Zero Downtime Migrationサービス・ホストからの着信接続を受け入れる必要があります。 Autonomous Databaseターゲットには適用できません |
Zero Downtime Migrationサービス・ホスト | ソースおよびターゲットのデータベース・サーバー | TCP | 1521、2484またはデータベースSCANリスナー・ポート | SQL*Net | 論理移行用 |
Zero Downtime Migrationサービス・ホストまたはGoldenGateハブ | ターゲットADB | TCPS | 1522、またはソースかターゲットでTCPSが有効になっている場合は、データベースSCANリスナー・セキュア・ポート | SQL*Net | ADB (サーバーレス)はポート1522を使用するため、ADBテナンシでGoldeGateまたはZDMからの着信接続を許可する必要があります。または、ソースが1522でリスニングしており転送メディアがTCPS経由のDBLINKである場合は、ターゲットからの着信接続を許可する必要があります。 |
Zero Downtime Migrationサービス・ホスト | Oracle Cloud Interface RESTエンドポイント | SSL | 443 | OCI RESTエンドポイント | 論理移行のターゲット検出
ノート: 必要なすべてのプロキシの詳細情報を考慮し、ZDMレスポンス・ファイルに詳細情報を指定してください。 |
ソース・データベース・サーバー | ターゲット・データベース・サーバー | TCP | 1521またはジョブに適用可能なデータベースSCANリスナー・ポート | SQL*Net | OracleのSQL*Netプロトコルを介したデータベースへのOracleクライアント接続を許可する必要があります。
データベース問合せ、Data Guard同期および構成を実行します。 ノート: デフォルト以外のポート番号(ポート1521以外のもの)をローカル・リスナー・アドレスに使用している場合、デフォルト以外のポートへの接続を許可する必要があります。 |
ターゲット・データベース・サーバー | ソース・データベース・サーバー | TCP | 1521または適用可能なデータベースSCANリスナー・ポート | SQL*Net | OracleのSQL*Netプロトコルを介したデータベースへのOracleクライアント接続を許可する必要があります。
スイッチオーバー後にソース・データベースがOracle Cloudの新しいプライマリと同期している必要がある場合に、REDOログの送信を許可します。Oracle Cloudからソース・データベース・サーバーに通信できない場合、この通信を回避するために、レスポンス・ファイルで ノート: デフォルト以外のポート番号(ポート1521以外のもの)をローカル・リスナー・アドレスに使用している場合、デフォルト以外のポートへの接続を許可する必要があります。 |
ソース・データベース・サーバー | Oracle Cloud Object Storeサービス | SSL | 443 | データベース・バックアップ・ストア。 | 選択したバックアップ方法でOracle Cloud Object Storeサービスをバックアップ媒体として使用する場合、記載されたOracle Cloud Object Storeサービスが適合するポートにアクセスします。
ノート: 必要なすべてのプロキシの詳細情報を考慮し、ZDMレスポンス・ファイルに詳細情報を指定してください。 |
ターゲット・データベース・サーバー | Oracle Cloud Object Storeサービス | SSL | 443 | データベース・バックアップ・ストア。 | 選択したバックアップ方法でOracle Cloud Object Storeサービスをバックアップ媒体として使用する場合、記載されたOracle Cloud Object Storeサービスが適合するポートにアクセスします。
ノート: 必要なすべてのプロキシの詳細情報を考慮し、ZDMレスポンス・ファイルに詳細情報を指定してください。 |
ノート:
ソース・データベースへのSSHアクセスがない場合、Zero Downtime Migrationワークフローの一部として次のアクションがスキップされます。- Zero Downtime Migrationでは、データベース・ユーザーがソース・エクスポート・パスに対して書込み可能かどうかは検証されません。
ノート:
ルート資格証明を使用して移行を実行する場合(migrate database -scroot
)、設定フェーズでは、エフェメラル範囲から選択した6つのポート、またはzdmbase/crsdata/zdm_service_host/rhp/conf/rhp.pref
のTRANSFERPORT_RANGE
に設定されたポート範囲からの6つのポートが、Zero Downtime Migrationによって使用されます。指定したポートは、ソースまたはターゲット・データベース・サーバーのZero Downtime Migrationサービス・ホストからの着信接続を受け入れできる必要があります。
3.4 オンライン物理移行のためのデータベース接続の構成
物理移行の場合、ソース・データベースとターゲット・データベースの間でSQL*Netを使用できる必要があります。ソース・データベース・サーバーとターゲット・データベース・サーバー間の接続を構成するには、SCANを使用したSQL*Net接続とSSHの2つのオプションがあります。必要に応じて、ターゲット・データベースとソース・データベース間の接続を構成できます。
ノート:
ソース・データベース・サーバーとターゲット・データベース・サーバー間の接続の構成は、オンラインの物理移行にのみ該当します。3.4.1 SCANを使用したSQL*Net接続
- このオプションを使用するには、ソースがターゲット・データベースのSCANを介してターゲットに接続できること、またはその逆であることを確認します。
ZDMCLI migrate database
コマンドの-sourcenode
パラメータで指定したソース・データベース・サーバーを使用して、ターゲットSCAN経由でそれぞれのSCANポートを介してターゲット・データベース・インスタンスに接続します(その逆も同様です)。- 両側からのSCAN接続により、ソース・データベースとターゲット・データベースはどちらの方向からも同期できます。ソース・データベース・サーバーのSCANがターゲット・データベース・サーバーから解決できない場合は、レスポンス・ファイルで
SKIP_FALLBACK
パラメータをTRUE
に設定する必要があり、スイッチオーバー後はターゲット・データベースとソース・データベース間で同期をとることができません。
接続のテスト
ソース環境からターゲット環境への接続をテストするには、データベース接続記述子にマップするtnsnames.ora
ファイルにTNS別名エントリを追加します。「tnsnames.oraファイル内のローカル・ネーミング・パラメータ」を参照してください。
[oracle@sourcedb ~] tnsping tnsping <TNS_ALIAS>
ターゲット環境からソース環境への接続をテストするには、データベース接続記述子にマップするtnsnames.ora
ファイルにTNS別名エントリを追加します。
[oracle@targetdb ~] tnsping tnsping <TNS_ALIAS>
ノート:
Zero Data Loss Recovery Applianceを使用してOracle Exadata Database Service on Cloud@Customerにデータベースを移行するには、ターゲット・データベース・サーバーからZDLRAへの必須のSQL*Net接続が必要です。