Oracle Zero Downtime Migrationのプロビジョニング

Oracle Zero Downtime Migrationをインストールおよび構成します。

Zero Downtime Migrationの前提条件について

データベース移行のためにZero Downtime Migrationユーティリティを実行する前に、特定の前提条件を満たす必要があります。

Zero Downtime Migrationサービス・ホストでは、データベースの移行中にソースおよびターゲットのデータベース・サーバーにアクセスする必要があります。そのため、Oracle Autonomous Database on Dedicated Exadata Infrastructureへの移行を実行するために、ゼロ・ダウンタイム移行サービス・ホストには、ソース・データベース・サーバーのいずれかに対するルート・ユーザー・アクセスまたはSSHキー・ベースのアクセスも必要です。続行する前に、ネットワーク・ルートおよび接続に関するこれらの要件が満たされていることを確認してください。

ゼロ・ダウンタイム移行ホストのインストール

Oracleでは、Oracle Linux 7または8で実行されている別のホストにZero Downtime Migrationをインストールすることをお薦めします。ソース・データベース・データ・センターでプロビジョニングすることも、OCIで構成することもできます。この例では、Zero Downtime Migrationサービス・ホストがOCIに構成されています。
  1. 最小100 GBのストレージでOracle Linuxにホストをプロビジョニングします。
  2. 次の必須パッケージが使用可能であることを確認します。
    • glibc-devel
    • expect
    • unzip
    • libaio
    • oraclelinux-developer-release-el7

    ノート:

    Oracle Linux 8などの上位バージョンでは、パッケージlibnslおよびncurses-compat-libsも必要です。
  3. 次のコマンドを実行します:
    [root@zdmhost ~]# yum install glibc-devel expect unzip libaio oraclelinux-developer-release-el7 -y
  4. 次のコマンドを実行して、zdmというグループと、グループに追加されるzdmuserというユーザーを作成します。
    [root@zdmhost ~]# groupadd zdm
    [root@zdmhost ~]# useradd zdmuser -g zdm
    [root@zdmhost ~]# mkdir -p /home/zdmuser/zdminstall
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmhome
    [root@zdmhost ~]# mkdir /home/zdmuser/zdmbase
    [root@zdmhost ~]# chown -R zdmuser:zdm /home/zdmuser/
  5. 次のコマンドを実行して、zdmuserに必要な環境変数を更新し、ZDMサービス・ホストにZDMをインストールします。
    echo "ORACLE_HOME=/home/zdmuser/zdmhome; export ORACLE_HOME" >> ~/.bashrc
    echo "ORACLE_BASE=/home/zdmuser/zdmbase; export ORACLE_BASE" >> ~/.bashrc
    echo "ZDM_BASE=\$ORACLE_BASE; export ZDM_BASE" >> ~/.bashrc
    echo "ZDM_HOME=/home/zdmuser/zdmhome; export ZDM_HOME" >> ~/.bashrc
    echo "ZDM_INSTALL_LOC=/home/zdmuser/zdminstall; export ZDM_INSTALL_LOC" >> ~/.bashrc

ZDMホストへの追加ツールのインストール

  1. OCIコマンドライン・インタフェース(OCI CLI)をZDMサービス・ホストにrootとしてインストールします。
    [root@zdmhost ~]# yum install python36-oci-cli
  2. Oracle Database SQLクライアントをZDMホストにインストールして、ソース・データベースおよびターゲット・データベースへの接続を確立します。
  3. Oracle Instant ClientのRPMパッケージをダウンロードしたことを確認します(ソフトウェア・パッケージのダウンロードの項を参照)。
    • 基本パッケージ(RPM)
    • SQL*Plusパッケージ(RPM)
    • ツールパッケージ(RPM)
  4. 次のコマンドを実行して、RPMパッケージをrootユーザーとして「基本」、「SQL*Plus」、「ツール」の順にインストールします。
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-basic-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-sqlplus-19.20.0.0.0-1.x86_64.rpm
    [root@zdmhost software]# yum install -y oracle-instantclient19.20-tools-19.20.0.0.0-1.x86_64.rpm
  5. コマンドを実行して、TNS_ADMINおよびPATHのzdmuserの環境変数を更新します。
    TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
    PATH=/usr/lib/oracle/19.20/client64/bin:$PATH; export PATH

ホストにゼロ・ダウンタイム移行をインストール

ホストの準備ができたら、Zero Downtime Migrationをインストールします。

  1. バイナリが「ソフトウェア・パッケージのダウンロード」セクションから以前にダウンロードされたことを確認し、Zero Downtime Migrationサービス・ホストに転送します。
  2. 次のコマンドを実行して、ホストでパッケージzdmuserを解凍します。
    • [zdmuser@zdmhost ~]$ cd $ZDM_INSTALL_LOC
    • [zdmuser@zdmhost zdminstall]$ unzip /tmp/V1037236-01.zip
    • [zdmuser@zdmhost zdminstall]$ ls -rlt
  3. [zdmuser@zdmhost zdm21.4.1]$ ./zdminstall.sh setup oraclehome=$ZDM_HOME oraclebase=$ZDM_BASE ziploc=./zdm_home.zip -zdmコマンドを実行して、ホストにZero Downtime Migrationをzdmuserとしてインストールします。
  4. [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice startコマンドを実行して、ホストでZero Downtime Migrationサービスを起動します。
  5. 次のコマンドを実行して、ステータスを確認します。
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmcli -build
    • [zdmuser@zdmhost ~]$ $ZDM_HOME/bin/zdmservice status
    Zero Downtime Migrationが実行されている場合、Runningtrueである必要があります。

ゼロ・ダウンタイム移行の構成

  1. Zero Downtime Migrationサービス・ホストで/etc/hostsファイルを構成し、ソース・データベース情報をrootユーザーとして追加することで、Zero Downtime Migrationサービス・ホストとソース・データベース間の接続を保証します。
    [root@zdmhost ~]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.1.179 hr9246.appsubnet.exadatainfrastr.oraclevcn.com hr9246
    10.0.1.78 zdmhost.appsubnet.exadatainfrastr.oraclevcn.com zdmhost
    [root@zdmhost ~]#
  2. パスフレーズのないSSHキーに基づいて、Zero Downtime Migrationホストからソース・データベースへのSSH接続をzdmuserとして構成します。
    1. zdmuserとして、次のコマンドを実行してSSHキーを生成します。
      • [zdmuser@zdmhost~]$ ssh-keygen -t rsa
      • [zdmuser@zdmhost~]$ cd ~/.ssh
      • [zdmuser@zdmhost~]$ cat id_rsa.pub>>authorized keys
      • [zdmuser@zdmhost~]$ chmod 600 authorized keys
    2. ソース・データベース・サーバーのopc_user_home/.ssh/authorized_keysファイルに/home/zdmuser/.ssh/id_rsa.pubファイルの内容を追加して、認可キー・ファイルを更新します。
    3. Zero Downtime MigrationホストからPSFTホストへのSSH接続を検証します。

APIアクセスの構成

  1. 次のコマンドを実行して、zdmuserとして公開キーを生成します。
    [zdmuser@zdmhost ~]$ mkdir zdmhome/.oci
    [zdmuser@zdmhost ~]$ cd zdmhome/.oci
    [zdmuser@zdmhost .oci]$ openssl genrsa -out /home/zdmuser/zdmhome/.oci/oci_api_key.pem 2048
    [zdmuser@zdmhost .oci]$ openssl rsa -pubout -in /home/zdmuser/zdmhome/.oci/oci_api_key.pem -out /home/zdmuser/zdmhome/.oci/oci_api_key_public.pem
  2. OCIコンソールにAPIキーを追加します。
    1. Oracle Cloudダッシュボードで、プロファイル・アイコンをクリックし、自分のアカウント(電子メール)をクリックします。
    2. 「APIキー」をクリックします。
    3. 「APIキーの追加」をクリックします。
    4. 「公開キーの貼付け」を選択します。
    5. 「公開キー」フィールドに、oci_api_key_public.pemと入力します
    6. 「追加」をクリックします
  3. 対応するAPIキーの構成ファイルの内容をコピーします。
  4. zdmuserとして、構成ファイルを作成し、秘密キー・ファイル・パスを使用してkey_fileパスを更新します。
  5. OCI認証トークンを生成します。
    CLIのトークンベース認証を使用すると、一時セッショントークンを作成して CLIコマンド要求を認証できます。

SSHの構成

SSH接続を構成し、SSHキー・ペアを生成して、認可されたキー・ファイルを更新します。

  1. Zero Downtime Migrationホストで、zdmuserとして、パスフレーズなしでSSHキーに基づいてソース・データベース・ホストへのSSH接続を構成します。
  2. zdmuserとしてSSHキーを生成します。
    [zdmuser@zdmhost ~]$ ssh-keygen -t rsa
    [zdmuser@zdmhost ~]$ cd ~/.ssh
    [zdmuser@zdmhost .ssh]$ cat id_rsa.pub >> authorized_keys
    [zdmuser@zdmhost .ssh]$ chmod 600 authorized_keys
  3. /home/zdmuser/.ssh/id_rsa.pubファイルの内容をソース・データベース・サーバーのopc_user_home/.ssh/authorized_keysファイルに追加します。