RMANを使用したオブジェクト・ストレージへのデータベースのバックアップ
この記事では、Recovery Manager (RMAN)を使用して、DBシステム・データベースの独自のObject Storageへのバックアップを管理する方法について説明します。
サービスにバックアップするには、バックアップ用のオブジェクト・ストレージ・バケットを作成し、サービスのパスワードを生成し、Oracle Database Cloudバックアップ・モジュールをインストールしてから、サービスにバックアップを送信するようにRMANを構成する必要があります。 このバックアップ・モジュールは、RMANと緊密に統合されているテープへのシステム・バックアップ(SBT)インタフェースであるため、使い慣れたRMANコマンドを使用してバックアップおよびリカバリ操作を実行できます。
コンソールおよびサービスのエンドポイントURLでSwiftが説明されています。 これは、バックアップ・モジュールは通常、OpenStack Swiftオブジェクト・ストアであるOracle Database Backup Cloud Serviceへのバックアップに使用されるためです。
ヒント:
DBシステムでは、DBCLIを使用してオブジェクト・ストレージにバックアップできます。 これは、バックアップ・モジュールをインストールし、バックアップにRMANを使用する代替手段です。 詳細は、「Objectstoreswiftコマンド」を参照してください。前提条件
次のことが必要になります:
- バックアップするDBシステムとデータベース。
- DBシステム・クラウド・ネットワーク(VCN)は、オブジェクト・ストレージへのアクセスが構成されている必要があります:
- DBシステムと同じリージョンのオブジェクト・ストレージ・アクセス用: Oracleでは、サービス・ゲートウェイを使用することをお薦めします。
- DBシステムとは異なるリージョンのオブジェクト・ストレージ・アクセス用: インターネット・ゲートウェイを使用します。 DBシステムとObject Storageの間のネットワーク・トラフィックは、クラウドから退出せず、パブリック・インターネットに到達しないことに注意してください。
詳細は、「VCNとサブネット」を参照してください。
- バックアップの保存先として使用する既存のオブジェクト・ストレージ・バケット。 コンソールまたはObject Storage APIを使用してバケットを作成できます。
詳細は、「バケットの管理」を参照してください。
- OCIによって生成された認証トークン。 コンソールまたはIAM APIを使用してパスワードを生成できます。
詳細は、「ユーザー資格証明の管理」の「認証トークンの操作」を参照してください。
-
ユーザー名(バックアップ・モジュールをインストールして使用するときに指定)には、オブジェクト・ストレージへのテナンシ・レベルのアクセス権が必要です。 これを行う簡単な方法は、ユーザー名をAdministratorsグループに追加することです。 ただし、これはクラウド・サービスの「すべて」へのアクセスを許可します。 かわりに、管理者は、次のようなポリシーを作成し、データベースのバックアップおよびリストアに必要なオブジェクト・ストレージのリソースにのみアクセスを制限する必要があります:
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システムへのバックアップ・モジュールのインストール
- DBシステムにSSHを実行します。
ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname> opcユーザーとしてログインします。login as: opcoracleユーザーへのsudo。sudo su - oracle- バックアップ・モジュールの
opc_install.jarファイルを含むディレクトリに移動します。cd /opt/oracle/oak/pkgrepos/oss/odbcs - 次のコマンド構文を使用して、バックアップ・モジュールをインストールします。
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/<object_storage_namespace>パラメータは次のとおりです。
パラメータ 説明 -opcIdOracle Cloud Infrastructureユーザー・アカウントのユーザー名。たとえば:
-opcId <username>@<example>.com。これは、コンソールへのサインインに使用するユーザー名です。
ユーザー名は、「前提条件」セクションで説明されている管理者グループのメンバーである必要があります。
ユーザー名を一重引用符で囲んで指定することもできます。 たとえば、名前に特殊文字が含まれている場合は、これが必要になることがあります:
-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)のホーム・ディレクトリにウォレットを作成します。-libDirSBTライブラリが格納されているディレクトリ。 コマンドを実行する前に、ディレクトリがすでに存在している必要があります。 このパラメータにより、最新の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/<object_storage_namespace>ここで、
object_storage_namespaceはテナンシのオブジェクト・ストレージ・ネームスペースです。 詳細は、「オブジェクト・ストレージのネームスペースについて」を参照してください。オブジェクト・ストレージ・ネームスペースの後にスラッシュを追加しないでください。
リージョン名を参照するには、「リージョンと可用性ドメイン」を参照してください。
RMANの構成
このトピックでは、デフォルトのバックアップの保存先としてバケットを使用するようにRMANを構成する方法について説明します。 次では、まだDBシステムにログインしていることを前提としています。
- DBシステムで、
oraenvユーティリティを使用してORACLE_HOMEおよびORACLE_SID環境変数を設定します。. oraenv - RMANを使用してデータベースに接続します。
rman target / - SBTデバイスを使用するようにRMANを構成し、バックアップ・モジュールのインストール時に作成された
configファイルを指します。 バージョン12データベースのサンプル・コマンドを次に示します。CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)'; - デフォルトでSBT_TAPEを使用するようにRMANを構成します。 次のサンプルは、制御ファイルおよびspfileの自動バックアップをSBT_TAPEに有効化し、暗号化を構成します。 圧縮、使用するバックアップおよびリカバリ・チャネルの数、バックアップ保存ポリシー、アーカイブ・ログ削除ポリシーなど、インストールに適用されるその他の設定があります。 適切な設定の選択の詳細は、使用しているバージョンのOracleのOracle Backup and Recoveryのドキュメントを参照してください。
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; CONFIGURE ENCRYPTION FOR DATABASE ON;ノート:
バックアップは暗号化する必要があります。 バックアップの実行時に暗号化を指定します。 バックアップが暗号化されていない場合、エラーが発生します。
RMAN構成が完了したら、テープ・バックアップに定期的に使用するものと同じRMANコマンドを使用できます。
データベースのバックアップ
このトピックでは、一般的に使用されるバックアップ・コマンドの例を示します。
- データベース暗号化を設定します:
SET ENCRYPTION IDENTIFIED BY "password" ONLY;この設定は永続的ではありません。新しいRMANセッションごとに設定する必要があります。
- データベースおよびアーカイブ・ログをバックアップします。 コマンドの例を次に示します。 ニーズを満たすバックアップ手順の選択の詳細は、使用しているバージョンのOracleのOracle Backup and Recoveryのドキュメントを参照してください。 潜在的なデータ損失を最小限に抑え、常にspfileおよび制御ファイルのコピーを含めるように、定期的にバックアップしてください。 次の例では、12cで導入された機能である複数セクションの増分バックアップを使用しています。 11gを使用する場合は、
section size句を省略します。BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG; - アーカイブ・ログを頻繁にバックアップして、データ損失の可能性を最小限に抑え、複数のバックアップ・コピーを予防措置として保持します。
BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;
バックアップ・ジョブが完了したら、「オブジェクト・ストレージ」を選択して、「ストレージ」ページのコンソールにバケット内のバックアップ・ファイルを表示できます。