2 保護されたデータベースの管理者のための移行に関する考慮事項
この章では、既存のバックアップ計画からリカバリ・アプライアンスを使用するバックアップ計画に移行するための計画について説明します。
この章の内容は次のとおりです。
保護されたデータベースをリカバリ・アプライアンスに移行するための計画
Recovery Manager (RMAN)を使用した基本的なバックアップ計画は、指定の間隔で実行するようにスケジュールされた一連のバックアップ・スクリプトで構成されます。データ保護にリカバリ・アプライアンスを使用することが決まったら、既存のバックアップ計画からリカバリ・アプライアンスを使用するバックアップ計画に移行するための計画を立てる必要があります。
この項では、保護されたデータベースの既存のバックアップ計画をリカバリ・アプライアンスに移行する場合に必要なタスクの概要について説明します。各タスクの実行手順の詳細は、後続の項で説明します。
保護されたデータベースのデータ保護にリカバリ・アプライアンスを使用し始めている場合は、「保護されたデータベースの構成」にスキップしてください。
ステップ: 保護されたデータベースをリカバリ・アプライアンスに移行するための計画
-
既存のバックアップ計画のリカバリ・アプライアンスへの適応
リカバリ・アプライアンスでは、すべてのRMANコマンドを使用できます(ただし、サポートされないRMANコマンドに示されているコマンドを除く)。既存のRMANバックアップ計画をリカバリ・アプライアンスに適応させるには、計画の一部を変更する必要があります。
-
バックアップ・メタデータのリカバリ・アプライアンス・カタログへの移行
既存のバックアップ計画では、RMANリカバリ・カタログを使用して、保護されたデータベースのバックアップ・メタデータを格納している場合があります。保護されたデータベースの既存のバックアップ・メタデータは、リカバリ・アプライアンス・カタログに移行できます。
-
保護されたデータベースの既存のバックアップのリカバリ・アプライアンスへの移行
構成済のリカバリ・ウィンドウ目標内の有効なデータベース・バックアップは、リカバリ・アプライアンスに移行できます。また、保護されたデータベースの既存のバックアップを移行せずに、リカバリ・アプライアンスへのバックアップを開始することも可能です。
既存のバックアップ計画のリカバリ・アプライアンスへの適応
既存のバックアップ計画からリカバリ・アプライアンスを使用する計画に移行してデータ保護に対応することが決まったら、既存の計画を一部変更する必要があります。現在使用中のすべてのRMANバックアップおよびリカバリ・スクリプトは、少し変更することによりリカバリ・アプライアンス環境で使用できるようになります。
RMANバックアップおよびリカバリの既存のスクリプトをリカバリ・アプライアンスで使用できるように適応させるには、次の変更が必要です。
-
ディスク・チャネルやテープ・チャネルのかわりにZero Data Loss Recovery Applianceバックアップ・モジュール(リカバリ・アプライアンス・バックアップ・モジュール)に対応するSBTチャネルを使用するよう、RMANチャネルの構成またはチャネルの割当てを変更します。
-
RMANバックアップ・スクリプトを変更し、リカバリ・アプライアンスでは動作が異なるコマンドを削除します。
-
リカバリ・アプライアンス環境では不要なコマンドを削除して、既存のRMANスクリプトをシンプルにします。
RMANチャネル構成の変更
RMANのチャネルは、バックアップ・デバイスに対する1つの双方向ストリームを表します。チャネルは、入力デバイスからデータを読み取り、処理して出力デバイスに書き込みます。RMANでは次の種類のチャネル構成をサポートしています。
-
DISK (バックアップをディスクに格納)
-
SBT
バックアップは、テープ(Oracle Secure Backupなどのメディア管理ソフトウェアを使用)、リカバリ・アプライアンス(リカバリ・アプライアンス・バックアップ・モジュールを使用)、またはOracle Cloudのいずれかに格納されます。
既存のRMANスクリプトでは、DISKチャネル(ディスクへバックアップ)またはSBTチャネル(テープへバックアップ)を使用しているはずです。リカバリ・アプライアンスにバックアップまたはリカバリ・アプライアンスからリストアするには、保護されたデータベースのホストにインストールされているリカバリ・アプライアンス・バックアップ・モジュールに対応するSBTチャネルの使用を構成する必要があります。リカバリ・アプライアンス環境では、バックアップおよびリカバリ・スクリプトでリカバリ・アプライアンス・バックアップ・モジュールを指しているSBT_LIBRARY
パラメータを使用して、SBTチャネルを割り当てる必要があります。
関連項目:
リカバリ・アプライアンスで使用するRMANチャネルの割当てまたは構成方法の例は、「リカバリ・アプライアンスのバックアップおよびリカバリ操作でのRMANチャネルの使用方法」を参照してください
RMANバックアップおよびリカバリ・スクリプトの変更
リカバリ・アプライアンスで機能が少し異なるRMANコマンド(サポートされないRMANコマンドのリストを参照)がバックアップ・スクリプトで使用されている場合は、スクリプトを変更して該当するコマンドを適切な新しいコマンドで置き換える必要があります。たとえば、RMAN UNREGISTER DATABASE
コマンドの機能は、リカバリ・アプライアンスでは異なる動作を示します。したがって、既存のRMANスクリプトを変更して、UNREGISTER DATABASE
コマンドを置き換える必要があります。UNREGISTER DATABASE
のかわりに使用する必要のあるDBMS_RA.DELETE_DB
プロシージャは、SQL*Plusからのみ使用できます(RMANでは使用できません)。
既存のバックアップ計画でRMAN増分更新バックアップ計画を使用し、初期イメージ・コピー・バックアップに後続のレベル1の増分バックアップをマージしている場合は、リカバリ・アプライアンスの永久的増分バックアップ計画を使用するようにRMANコマンドを変更します。
関連項目:
-
DBMS_RA.DELETE_DB
プロシージャの使用方法の詳細は、『Zero Data Loss Recovery Appliance管理者ガイド』を参照してください。
不要なRMANコマンドの削除
通常、RMANバックアップおよびリカバリ・スクリプトにはバックアップを検証するためのコマンドが含まれています。これには、VALIDATE
やCROSSCHECK
などのコマンドがあります。リカバリ・アプライアンスでは、保護されたデータベースからのすべてのバックアップを自動的に検証してから記憶域に書き込むため、既存のデータ保護計画からリカバリ・アプライアンスを使用する計画に移行した後は、これらのコマンドは必要なくなります。リカバリ・アプライアンスを使用するように既存の計画を適応させる際に、スクリプトからVALIDATE
およびCROSSCHECK
コマンドを削除してください。
また、リカバリ・アプライアンス側で実行されるようになった操作(テープへのバックアップ、不要なバックアップの削除など)も、既存のバックアップ計画から削除する必要があります。
バックアップ・メタデータのリカバリ・アプライアンス・カタログへの移行
通常、既存のRMANバックアップ計画には、バックアップ・メタデータをRMANリカバリ・カタログに格納する処理が含まれています。リカバリ・アプライアンスを使用するデータ保護計画に移行する場合は、RMANリカバリ・カタログに格納されている既存のバックアップ・メタデータを管理できる計画が必要です。
関連項目:
-
リカバリ・アプライアンス・カタログの詳細は、『Zero Data Loss Recovery Appliance管理者ガイド』を参照してください。
-
RMANリカバリ・カタログの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
リカバリ・アプライアンスへの移行時に既存のバックアップ・メタデータを管理するには、次のいずれかの方法を使用します。
-
保護されたデータベースの既存のバックアップ・メタデータをリカバリ・アプライアンス・カタログにインポートする方法
RMANリカバリ・カタログに格納されているバックアップ・メタデータをインポートすることにより、保護されたデータベースの既存のバックアップ・メタデータをリカバリ・アプライアンス・カタログに含めることができます。
-
既存のバックアップ・メタデータをRMANリカバリ・カタログに保持し、リカバリ・アプライアンスに作成されたバックアップのメタデータをリカバリ・アプライアンス・カタログに格納する方法
RMANリカバリ・カタログとリカバリ・アプライアンス・カタログを並行して管理する必要があります。ローカル・バックアップを作成してそのバックアップ・メタデータをRMANリカバリ・カタログに格納するには、「ローカル・バックアップの作成」で説明しているステップを使用してください。リカバリ・アプライアンスにバックアップを作成するには、保護されたデータベースを構成してから、リカバリ・アプライアンスにバックアップしてください。
CLIを使用した保護されたデータベースとリカバリ・アプライアンスへの接続
リカバリ・アプライアンスを使用して保護されたデータベースのバックアップまたはリカバリ操作を実行するには、保護されたデータベースとリカバリ・アプライアンス・カタログに接続する必要があります。保護されたデータベースへの接続は、オペレーティング・システム認証またはパスワード・ファイル認証を使用してターゲットとして確立されます。リカバリ・アプライアンス・カタログへの接続は、カタログとして確立される必要があります。保護されたデータベースがプラガブル・データベース(PDB)の場合は、マルチテナント・コンテナ・データベース(CDB)のルートにTARGET
として接続する必要があります。
保護されたデータベース(非CDB)およびリカバリ・アプライアンスに接続するには:
-
RMANを起動します。
% rman
-
CONNECT
コマンドを使用して、保護されたデータベースにはTARGET
として、リカバリ・アプライアンス・カタログにはCATALOG
として接続します。次のコマンドでは、保護されたデータベースに
SYS
ユーザーとして接続します。ra_rman_user
は、保護されたデータベースがリカバリ・アプライアンスとの認証で使用するリカバリ・アプライアンス・ユーザーです。ra1
は、Oracleウォレットに構成されているターゲット・リカバリ・アプライアンスのネット・サービス名です。指示に従って両方のユーザーのパスワードを入力します。RMAN> CONNECT TARGET sys as sysdba; RMAN> CONNECT CATALOG ra_rman_user@ra1;
保護されたデータベース(CDB)およびリカバリ・アプライアンスに接続するには:
保護されたデータベースのメタデータのリカバリ・アプライアンス・カタログへのインポート
保護されたデータベースのデータ保護にリカバリ・アプライアンスを使用するには、これらの保護されたデータベースのメタデータがRMANリカバリ・カタログではなくリカバリ・アプライアンス・カタログに格納されている必要があります。RMANリカバリ・カタログに現在格納されている既存のバックアップ・メタデータは、リカバリ・アプライアンス・カタログにインポートできます。既存のリカバリ・カタログをリカバリ・アプライアンス・カタログにインポートすることをお薦めします。
RMANリカバリ・カタログには、1つ以上の保護されたデータベースに関するメタデータを格納できます。RMANリカバリ・カタログをリカバリ・アプライアンス・カタログにインポートする際は、一部のデータベースのみに関連するメタデータ、またはRMANリカバリ・カタログ内のすべてのメタデータをインポートできます。
既存のカタログをリカバリ・アプライアンス・カタログにインポートする場合、バックアップ・メタデータのみがコピーされます。カタログのインポート時に、既存のバックアップ自体はリカバリ・アプライアンスにコピーされません。必要な場合は、「既存のバックアップのリカバリ・アプライアンスへの移行」の説明に従って、既存のバックアップを別途コピーする必要があります。
保護されたデータベースのメタデータをリカバリ・アプライアンスにインポートするステップ
-
「RMANリカバリ・カタログをリカバリ・アプライアンスにインポートするための準備」で説明している準備ステップを完了します。
-
「IMPORT CATALOGコマンドを使用した保護されたデータベースのメタデータのインポート」の説明に従って、リカバリ・アプライアンスに移行する保護されたデータベースのメタデータが格納されているRMANリカバリ・カタログをインポートします。
RMANリカバリ・カタログをリカバリ・アプライアンスにインポートするための準備
保護されたデータベースのメタデータをRMANリカバリ・カタログからリカバリ・アプライアンス・カタログにインポートする前に、保護されたデータベースとリカバリ・アプライアンスの両方でいくつかの操作を実行する必要があります。
-
リカバリ・アプライアンスで次のステップを実行します。
-
メタデータを移行する対象の保護されたデータベースで使用するリカバリ・アプライアンス・ユーザーを作成します。保護されたデータベースでは、このリカバリ・アプライアンス・ユーザーを使用して、リカバリ・アプライアンスとの認証を行います。
-
メタデータを移行する対象の保護されたデータベースに使用する保護ポリシーを作成します。
移行対象の保護されたデータベースの要件を満たせば、既存の保護ポリシーを使用しても構いません。
-
メタデータを移行する対象の保護されたデータベースをリカバリ・アプライアンスに登録します。
関連項目:
これらのステップを実行する方法の詳細は、『Zero Data Loss Recovery Appliance管理者ガイド』を参照してください。
-
-
保護されたデータベースで次のステップを実行します。
-
ソースのRMANリカバリ・カタログを格納しているデータベースがOracle 12cリリース1でない場合は、リカバリ・カタログ・データベースをOracle 12cリリース1にアップグレードします。
関連項目:
データベースをOracle Database 12cリリース1 (12.1)にアップグレードする方法の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。
-
リカバリ・アプライアンス・バックアップ・モジュールをインストールして、リカバリ・アプライアンスへのバックアップ・データの転送に必要な共有ライブラリを作成します。
バックアップ・モジュールをインストールすると、保護されたデータベースとリカバリ・アプライアンスとの認証に使用する資格証明が格納されるOracleウォレットが作成されます。
-
保護されたデータベースには
TARGET
として、保護されたデータベースのメタデータが格納されているRMANリカバリ・カタログにはCATALOG
として接続します。次の例では、保護されたデータベースには
TARGET
として、ソースのRMANリカバリ・カタログにはCATALOG
として接続します。RMANリカバリ・カタログの所有者はrman_cat11
で、dbrcat11
はRMANリカバリ・カタログ・データベースのネット・サービス名です。rmancat11_pswd
をrman_cat11
ユーザーのパスワードに置き換えます。$ rman target / catalog rman_cat11/rmancat11_pswd@dbrcat11
-
保護されたデータベースからRMANリカバリ・カタログに作成中のバックアップがないことを確認します。
次のコマンドでは、ソースのRMANリカバリ・カタログの所有者としてSQL*Plusに接続し、RMANリカバリ・カタログ
rman_cat11
に作成中のバックアップを問い合せます。$ sqlplus rman_cat11/rmancat11_pswd@dbrcat11 SQL> SELECT username, module FROM v$session WHERE username = 'RMAN_CAT11';
この問合せでは結果が返されません。返される行は、進行中のバックアップまたはリストア操作の可能性があるものに対する接続を示します。行が返された場合、接続がないことを確認して問合せを再試行します。
-
保護されたデータベースのカタログに格納されているバックアップ・ピースの数を確認します。
次の例では、保護されたデータベース
MY_PTDB
のバックアップ・ピースの数を表示します。SQL> SELECT db_name, COUNT(*) FROM rc_backup_piece_details WHERE db_name='MY_PTDB';
-
SQL*Plusを終了し、
TARGET
として保護されたデータベースに再接続し、CATALOG
としてソースのRMANリカバリ・カタログに再接続して、リカバリ・カタログ内のバックアップが有効で、正常なリカバリ操作に使用できることを確認します。$ rman target / catalog rman_cat11/rmancat11_pswd@dbrcat11
バックアップを検証するには、バックアップをリストアするか、
RESTORE ... VALIDATE
コマンドを使用します。関連項目:
RESTORE ... VALIDATE
コマンドの使用方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 -
ソースのRMANリカバリ・カタログの所有者としてSQL*Plusに接続し、
dbmsrmansys.sql
スクリプトを実行します。このスクリプトでは、RECOVERY_CATALOG_OWNER
ロールに必要な追加権限を付与します。$ sqlplus rman_cat11/rmancat11_pswd@dbrcat11 SQL> $ORACLE_HOME/rdbms/admin/dbmsrmansys.sql SQL> exit
rman_cat11
ユーザーはRMANリカバリ・カタログの所有者で、リカバリ・カタログ・データベースのネット・サービス名はdbrcat11
です。rmancat11_pswd
をrman_cat11
ユーザーのパスワードに置き換えます。 -
リカバリ・アプライアンスでRMANセッションを開始し、
RASYS
ユーザーを使用してリカバリ・アプライアンスにはTARGET
として、ソースのRMANリカバリ・カタログにはCATALOG
として接続します。次のコマンドでは、リカバリ・アプライアンスには
TARGET
として、ソースのRMANリカバリ・カタログにはCATALOG
として接続します。$ rman target rasys/rasys_pswd RMAN> CONNECT CATALOG rman_cat11/rmancat11_pswd@dbrcat11
RASYS
はリカバリ・アプライアンス・カタログの所有者です。rasys_pswd
をrasys
ユーザーのパスワードに置き換えます。ソースのRMANリカバリ・カタログの所有者はrman_cat11
で、リカバリ・カタログ・データベースのサービス名はdbrcat11
です。rmancat11_pswd
をrman_cat11
ユーザーのパスワードに置き換えます。 -
ソースのRMANリカバリ・カタログをOracle Database 12cリリース1 (12.1.0.2)にアップグレードします。
UPGRADE CATALOG
コマンドは、確認用に2回入力する必要があります。UPGRADE CATALOG; UPGRADE CATALOG;
-
アップグレード済のソースのRMANリカバリ・カタログでステップ2.dから2.fを繰り返し、アップグレード済のカタログが正常で、保護されたデータベースのリカバリに使用できることを確認します。
-
IMPORT CATALOGコマンドを使用した保護されたデータベースのメタデータのインポート
RMANリカバリ・カタログのメタデータをリカバリ・アプライアンス・カタログにインポートするには、RMAN IMPORT CATALOG
コマンドを使用します。
ソースRMANリカバリ・カタログ・スキーマのバージョンは、リカバリ・アプライアンスのリカバリ・カタログ・スキーマ(12.1.0.2)の現在のバージョンと同じである必要があります。必要に応じて、ソース・リカバリ・カタログ・スキーマを12.1.0.2にアップグレードします。
保護されたデータベースのメタデータをリカバリ・アプライアンス・カタログにインポートするには:
関連項目:
IMPORT CATALOG
コマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
既存のバックアップのリカバリ・アプライアンスへの移行
既存のバックアップ計画では、保護されたデータベースのバックアップがローカル・ディスクの場所や共有ディスクに格納される場合があります。保護されたデータベースのバックアップのメタデータをリカバリ・アプライアンス・カタログにインポートした後、リカバリ・ウィンドウ目標内の既存のバックアップをリカバリ・アプライアンスの記憶域に移行する必要があります。移行可能なバックアップは、インポートされたRMANリカバリ・カタログに格納されている保護されたデータベースのサブセットに関するものに限定されます。ただし、インポートされたカタログに示されているすべてのデータベースで、リカバリ・アプライアンス・カタログをリカバリ・カタログとして使用し始めることができます。
ノート:
リカバリ・アプライアンスを使用した永久的増分バックアップ計画の使用を開始するには、最初にレベル0の増分バックアップを送信する必要があります。特定の保護されたデータベースに最近のレベル0の増分バックアップがすでに存在する場合は、レベル0のバックアップをデータベースから新たに取得するよりも、その既存のバックアップをリカバリ・アプライアンスに移行する方が簡単な場合があります。レベル0のバックアップ、必要な既存のレベル1のバックアップおよびアーカイブ・ログ・ファイルを移行した後で、レベル1の増分バックアップとアーカイブ・ログ・ファイルを送信することにより、永久的増分計画を開始できます。
推奨される方法は、既存のバックアップをすべて移行し、リカバリ・アプライアンスにただちに切り替える方法です。既存のバックアップを移行した後で作成されたバックアップは、リカバリ・アプライアンスに格納する必要があります。
次のいずれかの手法を使用して、ディスク上に格納されている保護されたデータベースの既存のバックアップをリカバリ・アプライアンスに移行します。
-
保護されたデータベースの既存のバックアップをすべて配置可能なバックアップのポーリング位置を構成します。次に、この位置をポーリングして保護されたデータベースのバックアップを取得するようにリカバリ・アプライアンスを設定します。
「既存のバックアップをリカバリ・アプライアンスに移行するためのバックアップのポーリング設定」を参照してください。
既存のバックアップがテープに格納されている場合は、「テープ・バックアップをリカバリ・アプライアンスで使用できるようにする方法」で説明しているステップを実行します。
-
RMAN
BACKUP AS BACKUPSET COPY OF DATABASE
コマンドを使用して、ローカル・ディスク記憶域に格納されているイメージ・コピーをバックアップ・セットとしてリカバリ・アプライアンスにバックアップします。このコマンドを実行する前に、「リカバリ・アプライアンスで使用するRMAN SBTチャネルの構成」の説明に従って、リカバリ・アプライアンス・バックアップ・モジュールに対応するSBTチャネルを構成する必要があります。
関連項目:
-
BACKUP AS BACKUPSET
コマンド構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
既存のバックアップをリカバリ・アプライアンスに移行するためのバックアップのポーリング設定
この項では、現在ポーリング位置に格納されている保護されたデータベースのバックアップをリカバリ・アプライアンスの記憶域に移行する方法について説明します。ポーリング位置とは、リカバリ・アプライアンスの外部にある共有記憶域のファイル・システム・ディレクトリのことで、保護されたデータベースのバックアップ・ピースとアーカイブREDOログ・ファイルが格納されます。リカバリ・アプライアンスは、この位置を指定の間隔でポーリングし、新しいバックアップがある場合はそれを取得してリカバリ・アプライアンスに格納します。
ポーリング位置を構成して、既存のバックアップ・セットをインポートするには:
テープ・バックアップをリカバリ・アプライアンスで使用できるようにする方法
現在のテープ・バックアップ計画でサード・パーティ製メディア管理ソフトウェアを使用している場合は、これらのテープ・バックアップをリカバリ・アプライアンスで使用できるようにすることが可能です。これらのテープ・バックアップのメタデータをリカバリ・アプライアンス・カタログにインポートする必要があります。
テープ・バックアップをリカバリ・アプライアンスで使用できるようにするには:
ローカル・バックアップの作成
保護されたデータベースのバックアップをローカル・ディスク記憶域に作成する場合、これらのバックアップに関するメタデータはRMANリカバリ・カタログに格納されます。RMANリカバリ・カタログが構成されていないか、カタログに接続しない場合、メタデータは保護されたデータベースの制御ファイルに格納されます。
保護されたデータベースのローカル・バックアップを作成するには: