クラウドでのバックアップ作成によるオンプレミス・データベースのOracle Cloud Infrastructureへの移行

ノート

このトピックは、Exadata DBシステムには適用できません。

Oracle Cloud Infrastructure Databaseサービスでオンプレミス・データベースのバックアップを作成することで、オンプレミス・データベースをOracle Cloud Infrastructureに移行することができます。

Oracleには、データベースのバックアップを作成するPythonスクリプトが用意されています。このスクリプトがAPIコールを呼び出してバックアップを作成してから、Oracle Cloud Infrastructureにバックアップを配置します。その後、コンソールまたはAPIを使用して、バックアップから新しいデータベースまたはDBシステムを作成できます。このトピックの手順を使用して作成したバックアップは、コンソールの「スタンドアロン・バックアップ」の下に表示されます。

Pythonスクリプトは、Oracle Cloud Infrastructure CLIインストールの一部としてバンドルされています。移行スクリプトおよび関連するファイルは無料で提供されます。通常のオブジェクト・ストレージ料金が、Oracle Cloud Infrastructureでのバックアップの格納に適用されます。

互換性:

スクリプトによる移行プロセスは、次のベア・メタルおよび仮想マシンのDBシステム構成と互換性があります:

構成 バージョンまたはタイプ ノート
データベース・バージョン

19.x

18.x

12.2.0.1

12.1.0.2

11.2.0.4

  • バージョン19c、18c、12.2.0.1および12.1.0.2の場合:
    • コンテナ・データベース(CDB)のみサポートされています。スクリプト移行プロセスはこれらのデータベース・バージョンのCDB以外のデータベースでも動作する場合がありますが、このトピックで説明するスクリプトを使用したCDB以外のデータベースの移行はサポートされません。

      Oracle Database 19cで非CDBをクローニングしてオンプレミス・プラガブル・データベース(PDB)を作成する方法の詳細は、非CDBのクローニングについてを参照してください。Oracle Database 19cのマルチテナント・アーキテクチャの概要は、マルチテナント・アーキテクチャの紹介を参照してください。

      Oracle Database 12cリリース2 (12.2)で非CDBデータベースからオンプレミス・プラガブル・データベース(PDB)を作成する方法の詳細は、CDBでの非CDB Oracle DatabaseのPDBへのアップグレードを参照してください。12cリリース2でのマルチテナント・アーキテクチャの概要は、マルチテナント環境の管理の概要を参照してください。

    • Oracle Cloud Infrastructure Databaseサービスは、datapatchを実行しようとしますが、これには読取り/書込みモードが必要です。プラガブル・データベース(PDB)が存在する場合は、そこでもdatapatchを実行できるように、読取り/書込みモードであることが必要です。
  • バージョン11.2.0.4では、ソース・データベースのパッチ・レベルによりますが、場合によっては移行前にパッチをロールバックする必要があります。詳細は、バージョン11.2のデータベースでのパッチのロールバックを参照してください。
  • オンプレミス・データベースに個別パッチ(以前はワンオフ・パッチと呼ばれていた)がある場合、Oracle Cloud Infrastructureでのパッチの適用の詳細は、データベースの更新を参照してください。
ソース・データベース・プラットフォーム

Oracle Enterprise Linux / Red Hat Enterprise Linux 5.x

Oracle Linux / Red Hat Enterprise Linux 6.x

Oracle Linux / Red Hat Enterprise 7.x

  • このトピックで説明するスクリプト移行はMicrosoft Windows環境で動作する場合がありますが、現在、Windowsでのこのスクリプトのサポートは提供していません。
  • Oracle Linux 6.xユーザーは、Oracle Linux 6を構成してPythonをインストールを参照して、互換性があるPythonバージョンをインストールするようにオペレーティング・システムを構成します。Oracle Linux 6の詳細は、CLIのインストールを参照してください。
暗号化

TDE

TDE以外

  • TDE以外の構成では、RMAN暗号化パスワードが必要です。
  • Oracleでは、暗号化されていないオンプレミス・データベースを、Oracle Cloud Infrastructureにリストアした後に暗号化する必要があります。格納されるRMANスタンドアロン・バックアップは常に暗号化されます。
ターゲット・データベース・エディション

Standard Edition

Enterprise Edition

Enterprise Edition - High Performance

Enterprise Edition - Extreme Performance

 
クラスタ

シングル

RAC

 

前提条件

ソース・データベース・ホスト:

  • Pythonパッケージをインストールしたりyumインストールを実行するためのアウトバウンド・インターネット接続、およびOracle Cloud Infrastructure APIとオブジェクト・ストレージへのアクセス。
  • controlfileおよびspfileを自動バックアップするためのRMAN構成

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
    ノート

    スクリプトを実行する前に、RMANの構成変更を完了する必要があります。スクリプトは、バックアップと移行のタスクを完了するために、必要に応じてRMANパラメータを変更する場合があります。

スタンドアロン・バックアップを使用してオンプレミス・データベースを移行するには

ソース・データベース・ホストで次のタスクを実行します:

  1. /home/oracle/migrateという名前のディレクトリを作成します。

    ヒント

    ディレクトリ・パスのmigrate部分には、任意の名前を付けることができます。別の名前を使用する場合は、それに応じて、このタスクで示されるすべてのパスを調整する必要があります。次の例では、明確でわかりやすくするためにmigrateという名前を使用しています。
  2. rootとして、ステップ1で作成したディレクトリでCLIインストーラを実行します。(たとえば、/home/oracle/migrate。)WindowsまたはBash環境(MacOS、LinuxおよびUNIXの場合)でインストーラ・スクリプトを実行する手順は、CLIのインストールを参照してください。

    Python 2.7またはPython 3.6のどちらもマシンに存在しない場合、インストーラによってPython 3.6.0がインストールされます。インストーラでは、オンプレミス・データベースからスタンドアロン・バックアップを作成して移行するために必要なPythonスクリプトもインストールされます。

    通常、Oracle Linux 6では、新しいバージョンのPython (Python 3.6.0など)が必要です。次の手順を使用して、バックアップ・スクリプトを実行する前にOracle Linux 6を構成します。

  3. 次のファイルを新規ディレクトリにコピーします:

  4. 次のように、プロンプトに応答します:

    
    (yum install)
    Is this ok [y/N]: y
    
    ===> Missing native dependencies. Continue and install the following dependencies: gcc, libffi-devel, python36u-devel, openssl-devel? (Y/n): Y
    
    ===> In what directory would you like to place the install? (leave blank to use '/root/lib/oracle-cli'): /home/oracle/migrate/lib/oracle-cli
    
    ===> In what directory would you like to place the 'oci' executable? (leave blank to use '/root/bin'): /home/oracle/migrate/bin
    
    ===> In what directory would you like to place the OCI scripts? (leave blank to use '/root/bin/oci-cli-scripts'): /home/oracle/migrate/bin/oci-cli-scripts
    
    ===> Currently supported optional packages are: ['db (will install cx_Oracle)'] What optional CLI packages would you like to be installed (comma separated names; press enter if you don't need any optional packages)?: db
    
    ===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): Y
    
    ===> Enter a path to an rc file to update (leave blank to use '/root/.bashrc'): /home/oracle/.bashrc
  5. 次のファイル操作を実行します:

    
    
    # mv /home/oracle/migrate/lib/oracle-cli/lib/python<version>/site-packages/oci_cli/scripts/dbaas.py /home/oracle/migrate/lib/oracle-cli/lib/python<version>/site-packages/oci_cli/scripts/dbaas_orig.py
    # cp /home/oracle/migrate/dbaas_0704.py /home/oracle/migrate/lib/oracle-cli/lib/python<version>/site-packages/oci_cli/scripts/dbaas.py
    
    
    # chown -R oracle:oinstall /home/oracle/migrate
  6. /home/oracle/migrate/config.txtファイルを編集します

    [DEFAULT]
    tenancy=<your_tenancy_OCID>
    user=<your_user_OCID>
    fingerprint=<fingerprint>
    key_file=/home/oracle/migrate/<your_api_key>.pem
    region=<region>

    API署名キーのフィンガープリントが不明な場合は、キーのフィンガープリントの取得方法を参照してください。

  7. oracle user (rootではない)として、移行するデータベースのタイプに応じて、次のいずれかのコマンド・セットを実行します。

    TDE以外のデータベースの場合:

    export AD=<destination_availability_domain>
    export C=<destination_compartment_OCID>
    export ORACLE_SID=<ORACLE_SID>
    export ORACLE_HOME=<ORACLE_HOME>
    export PATH=$PATH:$ORACLE_HOME/bin
    export LC_ALL=en_US.UTF-8
    export ORACLE_UNQNAME=<source_DB_unique_name>
    rm -rf /home/oracle/migrate/onprem_upload
    cd /home/oracle/migrate/bin/oci-cli-scripts/
    ./create_backup_from_onprem --config-file /home/oracle/migrate/config.txt --display-name <example_display_name> --availability-domain $AD --edition ENTERPRISE_EDITION_EXTREME_PERFORMANCE --opc-installer-dir /home/oracle/migrate --tmp-dir /home/oracle/migrate/onprem_upload --compartment-id $C --rman-password <password>

    TDE対応データベースの場合:

    export AD=<destination_availability_domain>
    export C=<destination_compartment_OCID>
    export ORACLE_SID=<ORACLE_SID>
    export ORACLE_HOME=<ORACLE_HOME>
    export PATH=$PATH:$ORACLE_HOME/bin
    rm -rf /home/oracle/migrate/onprem_upload
    cd /home/oracle/migrate/bin/oci-cli-scripts/
    ./create_backup_from_onprem --config-file /home/oracle/migrate/config.txt --display-name <example_display_name> --availability-domain $AD --edition ENTERPRISE_EDITION_EXTREME_PERFORMANCE --opc-installer-dir /home/oracle/migrate --tmp-dir /home/oracle/migrate/onprem_upload --compartment-id $C

    詳細は、スクリプトで使用されるパラメータの次のリストを参照してください。

  8. 前のステップで作成したバックアップを使用して、新しいDBシステムを起動します。バックアップからの新規DBシステムの作成の詳細は、コンソールを使用したバックアップからのDBシステムの作成を参照してください。

PythonをインストールするためのOracle Linux 6の構成

Oracle Linux 6で、互換性のあるバージョンのPythonがまだインストールされていない場合は、次の/etc/yum.repos.d/ol6.repoファイルを使用して、互換性のあるバージョンのPythonがスクリプトによって確実にインストールされるようにします。./install.shコマンドを使用してスクリプトを実行する前に、このファイルを含めてください。


[ol6_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1						
スクリプトで使用されるパラメータ
パラメータ 説明 必須
--config-file

oci-cli構成ファイルのパス。デフォルト・パスは~/.oci/configです

いいえ
--profile ロードする構成ファイルのプロファイル。このプロファイルは、OCI CLI固有の構成ファイルで指定されているデフォルトのパラメータ値を特定する場合にも使用されます。デフォルト値はDEFAULTです。 いいえ
--compartment-id スタンドアロン・バックアップが格納されるOracle Cloud Infrastructureコンパートメント のコンパートメントOCID。 はい
--display-name

バックアップの名前。OCIコンソールで「スタンドアロン・バックアップ」の下に表示されます。機密情報の入力は避けてください。

はい

--availability-domain

バックアップが格納される可用性ドメイン

はい
--edition

スタンドアロン・バックアップから作成されるデータベースを含むOracle Cloud Infrastructure DBシステムのエディション。オンプレミス・データベースと同じエディションか、オンプレミス・データベースよりも上位のエディションを選択できます。選択肢は、下位から順に次のとおりです:

  • STANDARD_EDITION
  • ENTERPRISE_EDITION
  • ENTERPRISE_EDITION_HIGH_PERFORMANCE
  • ENTERPRISE_EDITION_EXTREME_PERFORMANCE
はい
--opc-installer-dir

opc_installer.jarファイルが含まれるディレクトリ。これは、この手順のステップ1で作成したディレクトリです。

はい
--additional-opc-args opcインストーラに追加できるオプション引数。 いいえ
--tmp-dir 中間ファイルのためのオプションの一時ディレクトリ。 いいえ
--rman-password スタンドアロン・バックアップに使用するRMANパスワード。パスワードは8文字以上にする必要があります。 TDEに対応していない場合は必須
--rman-channels RMANチャネル。デフォルト値は5です。 いいえ
--help OCI-CLI環境でスクリプトのインライン・ヘルプを表示します。 いいえ

このスクリプトによって、オンプレミス・データベースのスタンドアロン・バックアップがOracle Cloud Infrastructureテナンシに生成されます。バックアップをコンソールで確認するには、データベース・サービスの「ベア・メタル、VMおよびExadata」の下で「スタンドアロン・バックアップ」ページを表示します。

ヒント

バックアップ・スクリプトのコマンドライン・ヘルプにアクセスするには、次のコマンドを/home/oracle/migrate/bin/oci-cli-scripts/ディレクトリで実行します: create_backup_from_onprem --help