Oracle Cloud Infrastructureドキュメント

RMANを使用したデータベースの「オブジェクト・ストレージ」へのバックアップ

ノート

このトピックは、Exadata DBシステムには適用されません。 Exadata DBシステムの場合は、「Exadata Databaseのバックアップ」を参照してください。

このトピックでは、Recovery Manager (RMAN)を使用して、ベア・メタルまたは仮想マシンDBシステム・データベースのバックアップを独自のオブジェクト・ストレージに管理する方法について説明します。 Oracle Cloud Infrastructureで管理されるバックアップについては、「Oracle Cloud Infrastructure Object Storageへのデータベースのバックアップ」を参照してください。

サービスにバックアップするには、バックアップ用のオブジェクト・ストレージ・バケットを作成し、サービスのパスワードを生成し、Oracle Database Cloud Backupモジュールをインストールしてから、バックアップをサービスに送信するようにRMANを構成する必要があります。 バックアップ・モジュールは、RMANと緊密に統合されたシステム・バックアップ・ツー・テープ(SBT)インタフェースであるため、おなじみのRMANコマンドを使用してバックアップおよびリカバリ操作を実行できます。

コンソールとそのサービスのエンドポイントURLに記載されているSwiftに気づくでしょう。 これは、通常、バックアップ・モジュールがOpenStack Swiftオブジェクト・ストアであるOracle Database Backup Cloud Serviceにバックアップするために使用されるためです。

ヒント

1-node DBシステムでは、データベース・コマンド・ライン・インタフェース(dbcli)を使用して、オブジェクト・ストレージにバックアップできます。 これは、バックアップ・モジュールをインストールし、バックアップにRMANを使用する代わりの方法です。 詳細は、「Objectstoreswiftコマンド」を参照してください。 2ノードのRAC DBシステムでは、dbcliコマンドを使用できないことに注意してください。

前提条件

次のものが必要になります:

  • バックアップするDBシステムとデータベース。 詳細は、「ベア・メタルおよび仮想マシンDBシステムの管理」を参照してください。
  • DBシステム・クラウド・ネットワーク(VCN)は、オブジェクト・ストレージへのアクセス権を使用して構成する必要があります:
    • DBシステムと同じリージョン内のオブジェクト・ストレージ・アクセス: Oracleでは、サービス・ゲートウェイの使用をお薦めします。 詳細は、「VCNのサービス・ゲートウェイ」を参照してください。
    • DBシステムとは異なるリージョンでのオブジェクト・ストレージ・アクセス: インターネット・ゲートウェイを使用します。 DBシステムとオブジェクト・ストレージの間のネットワーク・トラフィックは、クラウドから移動せず、パブリック・インターネットに到達することもありません。 詳細は、「インターネット・ゲートウェイ」を参照してください。
  • バックアップ先として使用する既存のオブジェクト・ストレージ・バケット。 コンソール APIまたはオブジェクト・ストレージ APIを使用してバケットを作成できます。 詳細は、「バケットの管理」を参照してください。
  • Oracle Cloud Infrastructureによって生成された「認証トークン」 コンソールまたはIAM APIを使用してパスワードを生成することができます。 詳細については、「認証トークンの操作」を参照してください。
  • ユーザー名(バックアップ・モジュールのインストール時および使用時に指定)には、オブジェクト・ストレージへのテナンシレベルのアクセス権が必要です。 これを行う簡単な方法は、ユーザー名をAdministratorsグループに追加することです。 ただし、クラウド・サービスのallへのアクセスを許可します。 かわりに、管理者は、オブジェクト・ストレージ内の必要なリソースのみにアクセスを制限してデータベースのバックアップとリストアを行うようなポリシーを作成する必要があります。

    Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>'

    Allow group <group_name> to read buckets in compartment <compartment_name>

    ユーザーをグループに追加する方法の詳細については、「グループの管理」を参照してください。 ポリシーの詳細については、「ポリシーの開始」を参照してください。

DBシステムへのバックアップ・モジュールのインストール

  1. SSHをDBシステムに追加し、opcとしてログインし、oracleユーザーにsudoします。

    ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname>
    login as: opc
    sudo su - oracle
  2. バックアップ・モジュールopc_install.jarファイルを含むディレクトリに移動します。

    cd /opt/oracle/oak/pkgrepos/oss/odbcs
  3. バックアップ・モジュールをインストールするには、次のコマンド構文を使用します。

    java -jar opc_install.jar -opcId <user_id> -opcPass '<auth_token>' -container <bucket_name> -walletDir ~/hsbtwallet/ -libDir ~/lib/ -configfile ~/config -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<tenant>

    パラメータは次のとおりです。

    パラメータ 説明
    -opcId Oracle Cloud Infrastructureユーザー・アカウントのユーザー名。たとえば、次のようになります:

    -opcId <username>@<example>.com

    これは、コンソールにサインインするために使用するユーザー名です。

    ユーザー名は、「前提条件」で説明されているように、Administratorsグループのメンバーである必要があります。

    また、ユーザー名を一重引用符で指定することもできます。 名前に特殊文字が含まれている場合は、次のようにする必要があります:

    -opcId 'j~smith@<example>.com'

    斜めのアポストロフィではなく、一重引用符を使用してください。

    -opcPass

    コンソールまたはIAM APIを使用して生成された「認証トークン」は、単一引用符で囲みます。たとえば、次のようになります:

    -opcPass '<password>'

    斜めのアポストロフィではなく、一重引用符を使用してください。

    詳細は、「ユーザー資格証明の管理」を参照してください。

    これはOracle Cloud Infrastructureユーザーのパスワードではありません。

    -container

    バックアップ先として使用するオブジェクト・ストレージ内の既存のバケットの名前。たとえば、次のようになります:

    -container DBBackups

    -walletDir

    インストール・ツールが作成するディレクトリで、Oracle Cloud Infrastructureユーザー名と「認証トークン」を含むOracle Walletが作成されます。

    -walletDir ~/hsbtwalletは、現行のユーザー(oracle)ホーム・ディレクトリにウォレットを作成します。

    -libDir

    SBTライブラリが保管されているディレクトリ。 コマンドを実行する前に、ディレクトリが存在している必要があります。 このパラメータを使用すると、最新のSBTライブラリがダウンロードされます。

    -libDir ~/lib/は、libopc.soファイルを現在のユーザーのホーム・ディレクトリ(/home/oracle/lib/libopc.soなど)にダウンロードします。

    -configfile

    インストール・ツールによって作成される初期化パラメータ・ファイルの名前。 このファイルは、RMANジョブによって参照されます。

    -configfile ~/configは、現在のユーザーのホーム・ディレクトリにファイルを作成します(例:/home/oracle/config)。

    -host

    バックアップを送信するエンドポイントURL:

    https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<tenant>

    コンソールにサインインするときに指定するlowercaseテナント名は、<tenant>となります。次に例を示します。

    https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/companyabc

    テナント名の後にスラッシュを追加しないでください。

    リージョン名を調べるには「リージョンと可用性ドメイン」を参照してください。

RMANの構成

この項では、バケットをデフォルトのバックアップ先として使用するようにRMANを構成する方法について説明します。 以下は、まだDBシステムにログインしていることを前提としています。

  1. DBシステムで、oraenvユーティリティを使用してORACLE_HOMEおよびORACLE_SID環境変数を設定します。

    . oraenv
  2. RMANを使用してデータベースに接続します。

    rman target /
  3. SBTデバイスを使用し、バックアップ・モジュールのインストール時に作成されたconfigファイルを指すようにRMANを構成します。 バージョン12データベースのサンプル・コマンドがここに表示されます。

    RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
  4. デフォルトでSBT_TAPEを使用するようにRMANを構成します。 次のサンプルは、制御ファイルとspfileの自動バックアップをSBT_TAPEに有効にし、暗号化を構成します(推奨)。 圧縮、使用するバックアップおよびリカバリ・チャネルの数、バックアップ保持ポリシー、アーカイブ・ログの削除ポリシーなど、インストールに適用されるその他の設定があります。 適切な設定の選択の詳細は、使用しているOracleのバージョンのOracle Backup and Recoveryのマニュアルを参照してください。

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
    RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
    RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;

RMAN構成が完了したら、テープ・バックアップに定期的に使用するのと同じRMANコマンドを使用できます。

データベースのバックアップ

このセクションでは、よく使用されるバックアップ・コマンドの例を示します。

  1. データベースの暗号化を設定する:

    RMAN> SET ENCRYPTION IDENTIFIED BY "password" ONLY;

    この設定は永続的ではありません。新しいRMANセッションごとに設定する必要があります。

  2. データベースとアーカイブ・ログをバックアップします。 以下にいくつかのコマンドの例を示します。 必要に応じてバックアップ手順を選択する方法の詳細については、ご使用のOracleのバージョンのOracle Backup and Recoveryのマニュアルを参照してください。 潜在的なデータ損失を最小限に抑えるために定期的にバックアップし、常にspfileとcontrolfileのコピーを含めてください。 以下の例では、12cで導入された機能であるマルチセクション増分バックアップが使用されています。 11gを使用する場合は、section size句を省略してください。

    RMAN> BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    RMAN> BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    
  3. アーカイブ・ログを頻繁にバックアップして、潜在的なデータ損失を最小限に抑え、複数のバックアップ・コピーを予防措置として保持します。

    RMAN> BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;

バックアップ・ジョブが完了したら、Storageページのコンソール・ページにバケット内のバックアップ・ファイルを表示し、オブジェクト・ストレージを選択します。

次のステップ

「オブジェクト・ストレージからのデータベースのリカバリ」を参照してください。