プライマリ・コンテンツに移動
Oracle® Database 2日でデータベース管理者
12c リリース1 (12.1)
B71307-08
目次へ移動
目次
索引へ移動
索引

前
次

9.4.2.2 推奨バックアップ計画の使用

オラクル社が推奨するバックアップ計画は、データを保護し、ユーザー指定のリカバリ期間の任意の時点までの有効なリカバリ可能ポイントを提供する、スケジュールされたディスク・バックアップ計画です。この計画では増分的に更新されたバックアップ機能を使用し、データベース全体のバックアップよりも早いバックアップ、および最後に実行された全体バックアップに複数の増分バックアップを適用する場合よりも早いリカバリ可能性を提供します。

この項で説明されている次のタスクを完了して、推奨バックアップ計画を実装する日次バックアップをスケジュールします。

9.4.2.2.1 オラクル社が推奨するバックアップ計画について

オラクル社が推奨するバックアップ計画は増分的に更新されたバックアップに基づいています。この計画では、まず各データファイルのイメージ・コピーを作成し、レベル1の増分バックアップを適用して、イメージ・コピーを毎日ロールフォワードします。

各データファイルについて、バックアップに必要な計画は次のとおりです。

  • 計画(最初にスケジュールを設定したジョブが実際に実行される時間)の1日目のはじめに、Oracle Recovery Manager (RMAN)は増分レベル0のイメージ・コピーを作成します。これには1日目のはじめのデータファイル・コンテンツが含まれます。

    リカバリが必要な場合は、1日目からのアーカイブREDOログ・ファイルを使用して、1日目の任意の時点にリカバリできます。

  • 2日目のはじめに、1日目に変更されたブロックを含む差分増分レベル1のバックアップをRMANが作成します。

    リカバリが必要な場合は、RMANはこの増分レベル1を適用して、レベル0のバックアップを2日目のはじめにロールフォワードできます。RMANでは、アーカイブREDOログ・ファイルを使用して2日目の任意の時点にリカバリできます。

  • 3日目およびそれ以降のn日目のはじめに、RMANはn-1日目のはじめのレベル1のバックアップからレベル0のバックアップを適用します。このアクションによりn-1日目のはじめの状態のデータファイルのコピーができます。次に、RMANはn-1日の間に変更されたブロックを含むレベル1のバックアップを新しく作成します。

    リカバリが必要な場合は、RMANはn-1日から n日のはじめにロールフォワードされたデータファイルに増分レベル1のバックアップを適用できます。RMANでは、アーカイブREDOログ・ファイルを使用してデータベースをn日の任意の時点にリカバリできます。

オラクル社が推奨するこのバックアップ計画では、データファイルのイメージ・コピーとレベル1の増分バックアップで同じタグを共有します。オラクル社が推奨するバックアップ計画を妨げることなく、他のバックアップ計画を安全に実装できます。

オラクル社が推奨するバックアップ計画では、ディスク・バックアップとともにテープ・バックアップを使用しますが、この項では扱いません。

9.4.2.2.2 タスク1 - 推奨バックアップ計画を使用するための準備

推奨バックアップ計画を使用するためには、次のことを確認します。

  • データベースがARCHIVELOGモードであるかどうか。

  • 高速リカバリ領域サイズが構成されている、またはバックアップを格納するためのデフォルト・デバイスが構成されているかどうか。

  • オペレーティング・システム認証のためのOSBACKUPDBAオペレーティング・システム・グループにデータベース・ホスト・ユーザーが追加されているかどうか。

9.4.2.2.3 タスク2 - バックアップ・スクリプトの作成(UNIXおよびLinux)

このバックアップ・スクリプトは、推奨バックアップ計画を実装しており、過去24時間の任意の時点にすばやくリカバリすることが可能です。このスクリプトを使用して、非CDBまたはマルチテナント・コンテナ・データベース(CDB)全体をバックアップできます。

UNIXおよびLinuxのバックアップ・スクリプトを作成するには、次の手順を実行します。

  • テキスト・エディタを起動し、次の内容のファイルを保存します。ファイルは、Oracle Databaseソフトウェアにアクセス可能で、Oracleソフトウェアの所有者が読取り権限を持つディレクトリに保存します。

    注意:

    次のスクリプトでは、ORACLE_HOMEおよびORACLE_SID環境変数にインストール用の適切な値を設定します。

    #!/bin/sh
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
    export ORACLE_SID=orcl
    PATH=$ORACLE_HOME/bin:$PATH
    rman <<EOF
    connect target /
    RUN {
     ALLOCATE CHANNEL disk_iub DEVICE TYPE DISK;
     RECOVER COPY OF DATABASE WITH TAG daily_iub;
     BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG daily_iub DATABASE;
    }
    exit
    EOF

9.4.2.2.4 タスク3 - バックアップ・スクリプトのテスト

スケジュール設定する前に、スクリプトを手動で実行してエラーを確認することをお薦めします。手動によるスクリプトの実行は、すべてのデータファイルの増分レベル0のイメージ・コピーを作成する、計画の1日目に開始します。

バックアップ・スクリプトをテストするには、次の手順を実行します。

  1. OSBACKUPDBAオペレーティング・システム・グループ(通常、backupdbaグループ)のメンバーであるユーザーとして、データベース・ホストにログインします。
  2. コマンド・ウィンドウで、次のコマンドを入力します。
    full-script-path
    

    ここで、full-script-pathは、タスク2で作成したスクリプトのフルパスおよびファイル名です。

    たとえば、スクリプトがファイル/u01/app/oracle/rman/daily_backup.shにある場合、次のコマンドを入力します。

    /u01/app/oracle/rman/daily_backup.sh
    

Oracle Recovery Manager (RMAN)が起動され、バックアップが開始されます。RMANからの出力には、次のような警告メッセージが含まれます。

...
no copy of datafile 1 found to recover
no copy of datafile 2 found to recover
...
no parent backup or copy of datafile 1 found
no parent backup or copy of datafile 2 found
...

これらは最初にスクリプトを実行した場合の通常のメッセージです。

注意:

2回目にスクリプトを実行すると、出力には次の警告メッセージのみが含まれます。

no copy of datafile 1 found to recover
no copy of datafile 2 found to recover
...

これらもまた通常のメッセージです。3回目以降のスクリプトの実行では、これ以上の警告メッセージは出力されません。

9.4.2.2.5 タスク4 - 日次バックアップのスケジュール設定(UNIXおよびLinux)

次の手順では、cronユーティリティを使用して、データベースの日次バックアップを2:00 amにスケジュールします。

ディスクの推奨バックアップ計画をスケジュールするには、次の手順を実行します。

  1. OSBACKUPDBAオペレーティング・システム・グループ(通常、backupdbaグループ)のメンバーであるユーザーとして、データベース・ホストにログインしていることを確認します。

    cronジョブはこのホスト・ユーザーとして実行されます。

  2. テキスト・エディタを起動し、次の内容のファイルをホーム・ディレクトリに保存します。ファイル.crontabに名前を付けます。(ファイル名の先頭に期間を記録してください。)
    MAILTO=first.last@example.com
    # MI HH DD MM DAY CMD
      00  2  *  *  *  full-script-path
    

    ここで、full-script-pathは、タスク2で作成したスクリプトのフルパスおよびファイル名です。

    たとえば、スクリプトがファイル/u01/app/oracle/rman/daily_backup.shにある場合、.crontabファイルには次を含める必要があります。

    MAILTO=first.last@example.com
    # MI HH DD MM DAY CMD
      00  2  *  *  *  /u01/app/oracle/rman/daily_backup.sh

    注意:

    MAILTO行に必要な電子メール・アドレスを指定します。この行はオプションです。ジョブの完了時に、cronジョブによってstdoutに書き込まれた内容がこのアドレスに電子メールで送信されます。

  3. コマンド・ウィンドウで、ディレクトリをホーム・ディレクトリに変更し、次のコマンドを入力します。
    crontab .crontab
    

    これにより、.crontabの内容からこのユーザーのcrontabファイルが作成されます。

    注意:

    このユーザーの既存のcrontabファイルは上書きされます。このファイルの内容を保持し、この新しいジョブを追加する場合は、このコマンドを使用すると、既存のファイルを編集できるようになります。

    crontab -e
  4. (オプション)次のコマンドを使用して、このユーザーのcrontabファイルの内容を確認します。
    crontab -l
    
    MAILTO=first.last@example.com
    # MI HH DD MM DAY CMD
      00  2  *  *  *  /u01/app/oracle/rman/daily_backup.sh

関連項目:

crontabコマンドおよびcrontabファイルの説明は、オペレーティング・システムのドキュメントを参照してください。