ヘッダーをスキップ

Oracle Database バックアップおよびリカバリ基礎
10gリリース2(10.2)

B19193-02
目次
目次
索引
索引

戻る 次へ

3 バックアップおよびリカバリの設定と構成

この章では、Recovery Managerクライアントの起動方法と操作方法、およびバックアップおよびリカバリ計画を実施するために必要なRecovery Manager環境の準備作業について説明します。

この章では、次の項目について説明します。

Recovery Managerクライアントの操作の概要

この項では、Recovery Managerクライアントの起動と終了、コマンド・プロンプトでのコマンドの入力、コマンドライン引数の使用など、Recovery Managerクライアントの基本的な操作方法について説明します。この項では次の項目を取り上げます。

Recovery Managerの起動および終了

Recovery Managerの起動には、次の基本的なオプションがあります。

Recovery Managerやプログラムを終了するには、Recovery ManagerプロンプトでEXITまたはQUITと入力します。次に例を示します。

RMAN> EXIT

Recovery Managerのグローバリゼーション・サポート環境変数の設定

Recovery Managerを起動する前に、環境変数NLS_DATE_FORMATおよびNLS_LANGを設定しておくと役に立つ場合があります。これらの変数は、RESTORERECOVERREPORTなどのRecovery Managerコマンドの時間パラメータで使用される書式を決定します。

次の例は、言語および日付書式の代表的な設定を示しています。

NLS_LANG=american
NLS_DATE_FORMAT='Mon DD YYYY HH24:MI:SS'

Recovery Managerを使用してマウントされていないデータベースに接続し、その後、Recovery Managerが接続された状態でそのデータベースをマウントする場合は、NLS_LANG環境変数にデータベースが使用するキャラクタ・セットを指定してください。

マウントされていないデータベースのキャラクタ・セットは、デフォルトのUS7ASCIIとみなされます。キャラクタ・セットがデフォルトと異なる場合、データベースをマウントするとRecovery Managerはエラーを戻します。たとえば、キャラクタ・セットがWE8DECである場合、NLS_LANGパラメータは次のように設定できます。

NLS_LANG=american_america.we8dec

NLS_LANGおよびNLS_DATE_FORMATは、使用されるNLS_DATE_FORMATに対して設定する必要があります。

参照

  • NLS_LANGおよびNLS_DATE_FORMATパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

  • 『Oracle Databaseグローバリゼーション・サポート・ガイド』

 

コマンド・プロンプトでのRecovery Managerコマンドの入力

Recovery Managerクライアントがコマンド入力可能な状態になると、コマンド・プロンプトが表示されます。次に例を示します。

RMAN> 

実行するRecovery Managerコマンドを入力します。次に例を示します。

RMAN> CONNECT TARGET / 
RMAN> CONNECT CATALOG rman/rman@inst2

RMAN> BACKUP DATABASE ;

ほとんどのRecovery Managerコマンドは複数のパラメータを取ります。また、コマンドの末尾にセミコロンを入力する必要があります。(STARTUP、SHUTDOWN、CONNECTなど、いくつかの例外は、セミコロンの有無に関係なく使用できます。)

不完全なコマンドのテキスト文を入力すると、行番号が表示され、コマンドの続きを入力するように求められます。次に例を示します。

RMAN> BACKUP DATABASE
2> INCLUDE CURRENT 
3> CONTROLFILE
4> ;

Recovery Managerでのコマンド・ファイルの使用

繰返し作業の場合は、Recovery Managerコマンドを含むテキスト・ファイルを作成し、@引数の後にファイル名を続けてRecovery Managerクライアントを起動します。たとえば、現行のディレクトリに次のテキスト行を含むテキスト・ファイルcmdfile1を作成します。

BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;

このコマンド・ファイルをコマンドラインから実行すると、ファイルに含まれるコマンドが実行されます。次に例を示します。

% rman TARGET / @cmdfile1

コマンドが完了するとRecovery Managerは終了します。

Recovery Managerコマンド・プロンプトで@コマンドを使用して、Recovery Managerセッション中にコマンド・ファイルの内容を実行することもできます。Recovery Managerは、ファイルを読み取り、ファイル内のコマンドを実行します。次に例を示します。

RMAN> @cmdfile1

Recovery Managerは、コマンド・ファイル内のコマンドの実行後、次のメッセージを表示します。

RMAN>  **end-of-file**

オペレーティング・システムのコマンドラインからコマンド・ファイルを実行した場合と異なり、Recovery Managerは終了しません。

参照:

@およびコマンド・ファイルを使用する方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 

Recovery Managerコマンドおよびコマンド・ファイルの構文のチェック: CHECKSYNTAX

コマンド・プロンプトにRecovery Managerコマンドを入力するか、またはコマンド・ファイルからコマンドを読み取って、コマンドを実行せずに、そのコマンドの構文が正しいかどうかをテストする必要がある場合があります。その場合、コマンドライン引数CHECKSYNTAXを使用してRecovery Managerクライアントを起動します。このモードでは、Recovery Managerは入力されたコマンドの解析のみを行い、不正なRecovery Managerコマンド構文にRMAN-00558エラーを戻します。

コマンドラインでのRecovery Managerコマンド構文のチェックの例

コマンドラインでコマンドをテストするには、CHECKSYNTAXパラメータを指定してRecovery Managerを起動し、テストするコマンドを入力します。次に例を示します。

% rman CHECKSYNTAX
Recovery Manager: Release 10.2.0.1.0 - Production on Sun Jun 12 02:41:03 2005
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
RMAN> run [ backup database; ] 
 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01006: error signalled during parse
 
 RMAN-02001: unrecognized punctuation symbol "["
 
RMAN> run { backup database; }

The command has no syntax errors

RMAN>

コマンド・ファイル内のRecovery Managerコマンド構文のチェックの例

コマンド・ファイル内のコマンドをテストするには、CHECKSYNTAXパラメータを指定してRecovery Managerを起動し、@引数を使用して解析するコマンド・ファイルを指定します。たとえば、テキスト・エディタを使用して次の内容のコマンド・ファイル/tmp/goodcmdfileを作成します。

#command file with legal syntax
restore database; 
recover database;

さらに、次の内容のコマンド・ファイル/tmp/badcmdfileを作成します。

#command file with bad syntax commands
restore database
recover database

CHECKSYNTAXを指定してからRecovery Managerコマンド・ファイルを実行すると、出力は次のようになります。

% rman CHECKSYNTAX @/tmp/goodcmdfile
Recovery Manager: Release 10.2.0.1.0 - Production on Sun Jun 12 02:41:03 2005
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
RMAN> # command file with legal syntax
2> restore database;
3> recover database;
4>
The cmdfile has no syntax errors
 
Recovery Manager complete.


% rman checksyntax @/tmp/badcmdfile
Recovery Manager: Release 10.2.0.1.0 - Production on Sun Jun 12 02:41:03 2005
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
RMAN> #command file with syntax error
2> restore database
3> recover
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01005: syntax error: found "recover": expecting one of: "archivelog, 
      channel, check, controlfile, clone, database, datafile, device, 
      from, force, high, (, preview, ;, skip, spfile, standby, tablespace, 
      until, validate"
RMAN-01007: at line 3 column 1 file: /tmp/badcmdfile

Recovery Managerを使用したデータベースの起動および停止

Recovery Managerのプロシージャでデータベースを起動または停止したり、MOUNTまたはNOMOUNT状態にする必要がある場合は、Recovery Managerクライアントを使用してターゲット・データベースを起動および停止することができます。次の例では、Recovery ManagerのSHUTDOWNおよびSTARTUPコマンドを使用して、ターゲット・データベースを正常に停止した後、バックアップ準備用にマウントします。

% rman TARGET /
RMAN> SHUTDOWN IMMEDIATE # closes database consistently
RMAN> STARTUP MOUNT

NOMOUNTまたはMOUNT状態のターゲット・データベースの状態を変更するには、SQL*PlusまたはRecovery ManagerのSQLコマンドを使用してSQL文を発行する必要があります。次に例を示します。

RMAN> SQL 'ALTER DATABASE OPEN';

RMAN> SQL 'ALTER DATABASE OPEN';

RMAN> SQL 'ALTER DATABASE OPEN';

データベースへのRecovery Managerクライアントの接続

この項では、Recovery Managerクライアントをターゲット・データベースに接続する方法について説明します。この項では次の項目を取り上げます。

この項の例で使用される一般的な値の意味は、次のとおりです。

例で使用される値  意味 

SYS 

SYSDBA権限を持つユーザー 

oracle 

ターゲット・データベースのorapwdファイルに指定されたSYSDBAで接続する場合のパスワード 

trgt 

ターゲット・データベースのネット・サービス名 

Recovery Managerで使用するデータベース接続のタイプ

適切な作業を行うために、Recovery Managerクライアントをターゲット・データベース(バックアップまたはリカバリ対象のデータベース)に接続する必要があります。実行する作業や特定のバックアップ計画によっては、Recovery Managerクライアントをさらに次の2つのデータベースに接続する場合もあります。

データベース接続の認証

ターゲット・データベースまたは補助データベースに接続するには、SYSDBA権限が必要です。

パスワード・ファイルまたはオペレーティング・システム認証を使用して、SYSDBAとして接続できます。


注意:

SQL*Plusとは異なり、Recovery Managerではデータベースへの接続時にSYSDBA権限を指定する必要はありません。これは、すべてのRecovery Managerデータベースへの接続にはSYSDBA権限が必要であり、Recovery Managerは常に暗黙的にこの権限で接続しようとするためです。 


ターゲット・データベースがパスワード・ファイルを使用している場合は、パスワードを使用して接続できます。ローカルまたはリモート・アクセスのいずれかで、パスワード・ファイルを使用してください。ネット・サービス名を指定してSYSDBAでリモート接続する場合は、パスワード・ファイルを使用する必要があります。

オペレーティング・システム認証を使用してデータベースに接続する場合は、Oracle SIDを指定する環境変数を設定する必要があります。たとえば、SIDをtrgtに設定するには、UNIXのコマンドラインで次のように入力します。

% ORACLE_SID=trgt; export ORACLE_SID

リカバリ・カタログへの接続では、SYSDBA権限は必要ありません。スキーマの所有者には、RECOVERY_CATALOG_OWNERロールを付与する必要があります。

自動補助インスタンスについては、Recovery Managerによって、インスタンスの設定時にSYSDBA権限を持っているかどうかが確認されます。

参照:

データベースでのユーザーの認証方法は、『Oracle Database管理者ガイド』を参照してください。 

コマンドラインからのターゲット・データベースへの接続

オペレーティング・システムのコマンドラインからターゲット・データベースに接続するには、次のように入力します。

# example of operating system authentication
% rman TARGET / NOCATALOG   
# example of Oracle Net authentication
% rman TARGET SYS/oracle@trgt NOCATALOG   

また、NOCATALOGCATALOGを指定せずにRecovery Managerを起動することもできます。

# example of operating system authentication
% rman TARGET /   
# example of Oracle Net authentication
% rman TARGET SYS/oracle@trgt   

コマンドラインでNOCATALOGを指定しなかった場合や、Recovery Managerを起動した後CONNECT CATALOGを指定していない場合は、Recovery Managerリポジトリを使用する必要があるコマンドを初めて実行したときに、Recovery ManagerはNOCATALOGモードで操作を開始します。


注意:

NOCATALOGモードでRecovery Managerリポジトリを使用するコマンドを実行した後は、Recovery Managerを終了して再起動しないと、リカバリ・カタログに接続できません。 


オペレーティング・システムのコマンドラインでターゲット・データベースに接続した場合は、Recovery Managerプロンプトが表示されるとコマンドの実行が可能になります。

Recovery Managerプロンプトからのターゲット・データベースへの接続

ターゲット・データベースに接続せずにRecovery Managerを起動した場合、ターゲット・データベースに接続して適切な作業の実行を開始するには、Recovery ManagerプロンプトでCONNECT TARGETコマンドを発行する必要があります。この例では、オペレーティング・システム認証を使用してターゲット・データベースに接続します。

% rman
RMAN> CONNECT TARGET /

この例では、データベースレベルの資格証明を使用してターゲット・データベースに接続します。

% rman
RMAN> connect target SYS/oracle@trgt

Recovery Managerバックアップ用のデータベースの設定

Recovery Managerでのデータベースのバックアップは単純です。そのため、Recovery Managerバックアップで必要なほとんどのパラメータには、詳細に構成しなくても基本的なバックアップおよびリカバリを実行できる有効なデフォルト値があります。

ただし、Recovery Managerベースのバックアップ計画を実装する場合、一般的に使用可能なオプションについて理解しておくと、Recovery Managerをより有効に使用できます。これらのほとんどのオプションはRecovery Manager環境に永続的に設定できます。そのため、コマンドを発行するたびに同じオプションを指定する必要はありません。

次に、Recovery Managerのデフォルトの動作をバックアップおよびリカバリ環境と計画に合わせて変更する方法、および主な設定項目とその値について説明します。

この項では、次の項目について説明します。

永続的な構成設定: Recovery Managerの動作の制御

Recovery Managerを使用して継続的に行うバックアップおよびリカバリを簡略化するには、各ターゲット・データベースに対して永続的な構成を設定します。これらの設定によって、バックアップ保存方針、デフォルトのバックアップ先(テープまたはディスク)、デフォルトのバックアップ・デバイス・タイプ(テープまたはディスク)など、データベースで作業する際のRecovery Managerの多くの動作が制御されます。

これらの構成設定のデフォルト値を使用すると、構成設定を変更することなくRecovery Managerを有効に使用できます。ただし、より高度なバックアップおよびリカバリ計画を立てる場合は、これらの設定を変更してその計画を実装する必要があります。Recovery ManagerのSHOWおよびCONFIGUREコマンドを使用すると、Recovery Managerの構成設定を参照および変更できます。

参照:

CONFIGURE構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 

Recovery Managerの現行の構成設定の表示: SHOW

SHOWコマンドを使用して、Recovery Managerの構成設定の1つまたはすべての現行の値と、これらが現在デフォルト値に設定されているかどうかを表示します。

ターゲット・データベースとリカバリ・カタログ(使用している場合)に接続してから、表示する設定の名前を指定してSHOWコマンドを実行します。次に例を示します。

RMAN> SHOW RETENTION POLICY;
RMAN> SHOW DEFAULT DEVICE TYPE;

SHOW ALLコマンドは、CONFIGUREコマンドで設定可能なすべてのパラメータの現行の設定を表示します。変更したパラメータとRecovery Managerのデフォルト設定のままのパラメータがどちらも表示されます。

すべての構成設定を表示するには、Recovery ManagerのSHOW ALLコマンドを実行します。次に例を示します。

RMAN> SHOW ALL;    # shows all CONFIGURE settings, both user-entered and default

SHOW ALLの出力例を、次に示します。

RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS  'SBT_
LIBRARY=mylibrary.disksbt,ENV=(BACKUP_PARAM=value)';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/disk1/oracle/dbs/snapcf_ev.f'; # default

構成の再作成に必要となる一連のRecovery Managerコマンドが表示されます。SHOW ALLの出力をテキスト・ファイルに保存して、そのコマンド・ファイルを使用して同じターゲット・データベースまたは別のターゲット・データベース上で構成を再作成することができます。

参照:

SHOW構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 

Recovery Managerのデフォルトの構成設定のリストア: CONFIGURE... CLEAR

CONFIGURE... CLEARを使用すると、任意の設定をデフォルト値に戻すことができます。次に例を示します。

RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
RMAN> CONFIGURE RETENTION POLICY CLEAR;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;

バックアップ用のデフォルト・デバイス・タイプの構成

デフォルトでは、Recovery Managerはディスク上のオペレーティング・システム固有のディレクトリにバックアップをすべて送信します。テープなどのメディアにバックアップするようにRecovery Managerを構成することもできます。

メディア管理ベンダーのマニュアルの指示に従って、sbt(テープまたはメディア管理)デバイスを構成してから、メディア・マネージャをデフォルトのデバイスに設定できます。

CONFIGURE DEFAULT DEVICE TYPE TO sbt;

デフォルト・デバイス・タイプを構成すると、バックアップ先のデバイス・タイプを指定せずにBACKUPコマンドを実行して作成されたバックアップは、デフォルト・デバイス・タイプに構成されます。たとえば、次のコマンドを実行すると、テープに一連のバックアップが生成されます。

CONFIGURE DEFAULT DEVICE TYPE TO sbt;
BACKUP DATABASE;
BACKUP DATAFILE 3;
BACKUP DATABASE PLUS ARCHIVELOG;

ディスクをバックアップ用のデフォルト・デバイスとして構成するには、CONFIGURE... CLEARを使用してデフォルト設定をリストアするか、または次のように明示的にデフォルト・デバイスを構成します。

CONFIGURE DEFAULT DEVICE TYPE TO DISK;


注意:

BACKUPコマンドのDEVICE TYPE句を使用すると、特定のデバイス・タイプ(DISKまたはSBTのいずれか)に常にバックアップを行うことができます。次に例を示します。

BACKUP DEVICE TYPE sbt DATABASE;
BACKUP DEVICE TYPE DISK DATABASE;

DEVICE TYPE句を指定したBACKUPコマンドを使用する方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。 


ディスク・バックアップ用のデフォルト・バックアップ・タイプの構成

次のいずれかのコマンドを使用して、バックアップ・セットまたはイメージ・コピーをデフォルトとして構成できます。

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; # image copies
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; # uncompressed

ディスクおよびテープへのバックアップのデフォルトはバックアップ・セットです。Recovery Managerが、バックアップ・セットとしてのメディア・マネージャ・デバイスに対して実行できるのはバックアップの書込みのみであるため、メディア・マネージャ・デバイスには同様のオプションがないことに注意してください。

テープまたはディスクに対する圧縮バックアップ・セットのデフォルトの構成

次の例に示すように、BACKUP TYPE TO COMPRESSED BACKUPSETオプションを指定したCONFIGURE DEVICE TYPEコマンドを使用して、特定のデバイス・タイプに対して圧縮バックアップ・セットをデフォルトで使用するように、Recovery Managerを構成することができます。

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET; 
RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO COMPRESSED BACKUPSET; 

圧縮バックアップを無効にするには、その他の設定を指定する引数とともにCONFIGURE DEVICE TYPEコマンドを使用します。ただし、COMPRESSEDキーワードは指定しません。次に例を示します。

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; 
RMAN> CONFIGURE DEVICE TYPE sbt BACKUP TYPE TO BACKUPSET; 

ディスク・デバイスとチャネルの構成

Recovery Managerチャネル(ターゲット・データベース上のサーバー・セッションへの接続)は、すべてのRecovery Managerタスクを実行します。デフォルトでは、Recovery Managerはすべての処理に対して1つのディスク・チャネルを割り当てます。

次のコマンドは、/backupディレクトリにディスクのバックアップを書き込むようにRecovery Managerを構成しています(詳細は、「Recovery Managerを使用したデータベース・ファイルおよびアーカイブ・ログのバックアップ」を参照)。

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/ora_df%t_s%s_s%p';

書式指定子の%tは4バイトのタイム・スタンプ、%sはバックアップ・セット番号、%pはバックアップ・ピース番号に置き換えられます。

次の例のように、自動ストレージ管理ディスク・グループを宛先として構成することもできます。

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+dgroup1';


注意:

フラッシュ・リカバリ領域を構成済の場合に、ディスク・チャネルの明示的な形式を構成すると、フラッシュ・リカバリ領域にバックアップされなくなります。フラッシュ・リカバリ領域のディスク領域管理機能が失われます。 


テープ・デバイスとチャネルの構成

メディア・マネージャによっては、CONFIGUREコマンドにPARMS文字列を指定して、構成設定を渡す必要がある場合があります。

CONFIGURE CHANNEL DEVICE TYPE sbt PARMS='ENV=mml_env_settings';

PARMS文字列の内容は、ご使用のメディア管理ライブラリに応じて異なります。詳細は、メディア・マネージャのマニュアルを参照してください。

CONFIGURE DEVICE TYPE SBTを使用して、SBTデバイスの並列化の設定、バックアップ・セットの圧縮およびその他のオプションを構成できます。(デバイス・タイプに対するこれらの設定は、前述の例のデバイス・セットのチャネル構成に関係なく設定されます。)次のコマンドでは、Recovery Managerのジョブで使用する2つのsbtチャネルを構成します。

CONFIGURE DEVICE TYPE sbt PARALLELISM 2;
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters are successfully stored

RMAN> configure device type sbt backup type to backupset;
 
old RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO BACKUPSET PARALLELISM 2;
new RMAN configuration parameters are successfully stored

この例で使用されている並列化およびバックアップ・タイプを設定するためのCONFIGUREコマンドは、指定していない設定の値には影響しないことに注意してください。つまり、CONFIGURE DEVICE TYPE SBT PARALLELISM 1コマンド実行しても、圧縮バックアップ・セットのデフォルトのバックアップ・タイプは変更されません。

制御ファイルおよびサーバー・パラメータ・ファイルの自動バックアップの構成

制御ファイル内のデータベースの構造メタデータが変更されたり、バックアップ・レコードが追加されると、Recovery Managerは、制御ファイルおよびサーバー・パラメータ・ファイルを自動的にバックアップするように構成できます。制御ファイル、カタログおよびサーバー・パラメータ・ファイルが消失した場合でも、自動バックアップを使用して、Recovery Managerはデータベースをリカバリできます。

自動バックアップのファイル名には既知の書式が使用されるため、Recovery Managerはリポジトリにアクセスすることなく自動バックアップを検索し、サーバー・パラメータ・ファイルをリストアできます。サーバー・パラメータ・ファイルをリストアしてインスタンスを起動すると、Recovery Managerは自動バックアップから制御ファイルをリストアできます。制御ファイルをマウントした後、Recovery Managerリポジトリが有効になり、Recovery Managerによってデータ・ファイルのリストアおよびアーカイブREDOログの検索が可能になります。

次のコマンドを実行すると、自動バックアップ機能が有効になります。

CONFIGURE CONTROLFILE AUTOBACKUP ON;

次のコマンドを実行すると、自動バックアップ機能が無効になります。

CONFIGURE CONTROLFILE AUTOBACKUP OFF;

参照:

  • 制御ファイルの自動バックアップの概要については、『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』を参照してください。

  • CONFIGURE構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

 

制御ファイルの自動バックアップ書式の構成

すべての構成済デバイスに対する自動バックアップ・ファイルの書式は、デフォルトでは置換変数%Fになります。この変数の書式は、c-IIIIIIIIII-YYYYMMDD-QQに変換されます。この各部分の意味は、次のとおりです。

次のコマンドを使用して、デフォルトの書式を変更できます。この場合、deviceSpecifierには、DISKsbtなどの有効なデバイスを指定します。また、'string'には、置換変数%Fを含む(他の置換変数は含まれません)、デバイスに対して有効なハンドルを指定します。

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT 
  FOR DEVICE TYPE deviceSpecifier TO 'string';

たとえば、次のコマンドを実行できます。

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT 
  FOR DEVICE TYPE DISK TO '?/oradata/cf_%F';

次の例では、自動ストレージ管理ディスク・グループに自動バックアップを書き込むように構成します。

CONFIGURE CONTROLFILE AUTOBACKUP 
  FOR DEVICE TYPE DISK TO '+dgroup1/%F';

デバイスの制御ファイルの自動バックアップ書式を削除するには、次のコマンドを使用します。

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE sbt CLEAR;

データベースにフラッシュ・リカバリ領域を設定済の場合、ディスクの制御ファイルの自動バックアップ書式を削除することによって、制御ファイルの自動バックアップ先をフラッシュ・リカバリ領域に指定できます。

制御ファイルの構成済自動バックアップ書式の変更

RUNブロックまたはRecovery Managerプロンプトのいずれかで指定可能なSET CONTROLFILE AUTOBACKUP FORMATコマンドを使用すると、現行のセッションのみで構成済の自動バックアップ書式を変更できます。

優先順位は次のとおりです。

  1. SET CONTROLFILE AUTOBACKUP FORMATRUNブロック内

  2. SET CONTROLFILE AUTOBACKUP FORMATRMANプロンプト)

  3. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT

次の例では、2つの形式のSET CONTROLFILE AUTOBACKUP FORMATの相互作用を示します。

RMAN> SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'controlfile_%F';
RMAN> BACKUP AS COPY DATABASE;
RMAN> RUN { 
       SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F.bck'; 
       BACKUP AS BACKUPSET DEVICE TYPE DISK DATABASE;
      }

最初のSET CONTROLFILE AUTOBACKUP FORMATは、制御ファイルのすべての構成済自動バックアップ書式より優先され、Recovery Managerクライアントが終了するまで制御ファイルの自動バックアップの名前を制御します。RUNブロックのSET CONTROFILE AUTOBACKUP FORMATは、RUNブロックが存在する間は、RUNブロック以外のSET CONTROLFILE AUTOBACKUP FORMATより優先されます。

Recovery Manager用のフラッシュ・リカバリ領域の設定

「自動ディスク・ベース・バックアップおよびリカバリ: フラッシュ・リカバリ領域」で説明したとおり、フラッシュ・リカバリ領域の機能によって、データベースがリカバリに関連する各種ファイルの作成および管理に使用できるディスクの位置を設定できます。

フラッシュ・リカバリ領域を使用すると、リカバリ関連ファイルを命名したり、リストアおよびリカバリ操作に必要な間はそのファイルを保持しておく操作を自動化できます。また、データベースのリストアにそれらのファイルが不要になった場合や、他のバックアップおよびリカバリ関連操作で領域が必要になった場合に、不要なファイルを削除する操作を自動化することもできます。これによって、継続して行うデータベースの管理を簡略化できます。

フラッシュ・リカバリ領域を使用すると、長期バックアップおよびリカバリ管理を大幅に簡略化できるため、フラッシュ・リカバリ領域を使用することをお薦めします。バックアップ計画を実装する際の最初の手順の1つとして、フラッシュ・リカバリ領域を設定します。

この項では、フラッシュ・リカバリ領域の機能の概要と、この領域に格納されるファイルおよびそのファイルの管理方法の規則について説明します。また、最も重要な構成オプションも説明します。

フラッシュ・リカバリ領域の位置の選択

フラッシュ・リカバリ領域を設定する場合、ファイルを保持する位置(ディレクトリまたは自動ストレージ管理ディスク・グループ)を選択する必要があります。フラッシュ・リカバリ領域をRAWファイル・システムに格納することはできません。

また、フラッシュ・リカバリ領域のディスク割当て制限(フラッシュ・リカバリ領域に格納されたすべてのファイルが使用する領域の最大値)を決定する必要もあります。必要なディスク割当て制限に適応できるだけの十分な大きさの領域を選択してください。ディスク領域の制限に達すると、Oracleは、保存方針の制限に従って、重要でないファイルを削除して新規ファイル用の領域を確保します。

フラッシュ・リカバリ領域は、データ・ファイル、制御ファイル、オンラインREDOログなどのアクティブなデータベース・ファイルが格納されているデータベース領域とは異なるディスク上に確保してください。データベース領域と同じディスク上にフラッシュ・リカバリ領域を保持すると、メディア障害が発生した場合に、使用中のデータベース・ファイルとバックアップの両方が失われることになります。


注意:

RAC環境でフラッシュ・リカバリ領域の位置を選択する場合は、特別に注意が必要です。クラスタ・ファイル・システム、ASM、またはNFSを介して構成された共有ディレクトリの位置を選択する必要があります。位置およびディスク割当て制限は、すべてのインスタンスで同一である必要があります。 


フラッシュ・リカバリ領域、自動ストレージ管理およびOracle Managed Files

フラッシュ・リカバリ領域は、Oracleの機能であるOracle Managed Filesおよび自動ストレージ管理と密接に関係し、これらの機能とともに使用できます。

Oracle Managed Files(OMF)は、いくつかの初期化パラメータに基づいて、制御ファイル、REDOログ・ファイル、データ・ファイルなどのデータベース・ファイルの命名、配置、作成および削除を自動化するサービスです。各操作ごとに詳細に独自の方針を検討する必要がなくなり、多くの面でDBAの作業を簡略化できます。

フラッシュ・リカバリ領域はOMFの最上位に構築されます。このため、Oracle管理ファイルを格納できる任意の場所に、フラッシュ・リカバリ領域を確保できます。Oracle Managed Filesは、従来のファイル・システム(VxFS、ODMなど)の最上位で使用されます。

また、フラッシュ・リカバリ領域は、Oracleの自動ストレージ管理(ASM)でも使用できます。ASMは、ストレージ・デバイスを管理ディスク・グループに簡単に統合し、サード・パーティ製の論理ボリューム・マネージャを使用せずにミラー化やストライプ化などを行えるというメリットがあります。

ASM記憶域にフラッシュ・リカバリ領域を設定しないように選択している場合でも、Oracle Managed Filesを使用してASMディスク・グループのバックアップ・ファイルを管理するこができます。より新しいバックアップのために領域が必要になった場合、リカバリ可能性の目的に合わなくなったファイルを自動削除するという、フラッシュ・リカバリ領域の主なメリットの1つがなくなります。ただし、その他のOMFの自動機能は使用できます。


注意:

バックアップ・ファイルを格納する場合、フラッシュ・リカバリ領域を使用せずに、自動ストレージ管理の最上位でOMFを使用することは可能ですが、お薦めする方法ではありません。これは、自動ストレージ管理下のファイルは直接操作しにくいためです。 


フラッシュ・リカバリ領域に格納できるファイル

フラッシュ・リカバリ領域内のファイルは、永続的なもの一時的なものに分類できます。永続ファイルは、現行の制御ファイルとオンラインREDOログの多重化コピーのみです(ただし、これらのファイルがフラッシュ・リカバリ領域に格納されるように構成していることを前提とします)。これらのファイルを削除すると、インスタンスに障害が発生します。これ以外のファイルはすべて一時ファイルです。通常、これらのファイルは、保存方針のもと不要になった後やテープにバックアップされた時点で、最終的には削除されるためです。一時ファイルには、アーカイブREDOログ、データ・ファイルのコピー、制御ファイルのコピー、制御ファイルの自動バックアップおよびバックアップ・ピースが含まれます。


注意:

Point-in-Timeリカバリに代わるOracle Flashback Databaseの機能によって、フラッシュバック・ログが生成されます。このログは、一時ファイルとみなされ、フラッシュ・リカバリ領域に格納される必要があります。ただし、他の一時ファイルとは異なり、フラッシュバック・ログは他のメディアにバックアップすることはできません。これらは、フラッシュ・リカバリ領域で他のファイルのために領域が必要になった場合に自動的に削除されます。Oracle Flashback Databaseの詳細は、第5章「リストア・ポイントおよびOracle Flashback Databaseを使用したデータ保護」を参照してください。 


フラッシュ・リカバリ領域のサイズの計画

フラッシュ・リカバリ領域は、大きいほど有効です。次のすべてのファイルを格納できるだけの十分な大きさにすることをお薦めします。

この大きな領域が現実的でない場合は、最も重要な表領域のバックアップと、まだテープにコピーされていないすべてのアーカイブ・ログを保持できるだけの領域を作成するようにしてください。少なくとも、テープにまだコピーされていないアーカイブ・ログを格納できる大きさは確保してください。

フラッシュ・リカバリ領域のディスク割当て制限と現行のディスク使用量を確認するには、 V$RECOVERY_FILE_DESTビューを問い合せます。

有効なフラッシュ・リカバリ領域のサイズを見積もるための式は、次に示すバックアップおよびリカバリ計画のいくつかの要因によって異なります。

様々なバックアップ計画に固有の式については、付録A「Recovery Managerベースのディスクおよびテープのバックアップ計画の例」を参照してください。Oracle Flashback Databaseを使用する場合、フラッシュ・リカバリ領域用に記憶域を追加する必要があります(「フラッシュバック・ログを格納するためのフラッシュ・リカバリ領域のサイズ設定」を参照)。

フラッシュ・リカバリ領域のサイズと位置の初期化パラメータの設定

フラッシュ・リカバリ領域を有効にするには、2つの初期化パラメータDB_RECOVERY_FILE_DEST_SIZE(ディスク割当て制限またはこのデータベースのフラッシュ・リカバリ領域のファイルが使用する領域の最大値を指定)およびDB_RECOVERY_FILE_DEST(フラッシュ・リカバリ領域の位置を指定)を設定する必要があります。


注意:

  • DB_RECOVERY_FILE_DEST_SIZEは、DB_RECOVERY_FILE_DEST.を指定する前に指定する必要があります。

  • RACデータベースのすべてのインスタンスでは、これらのパラメータに同一の値を指定する必要があります。

 

初期化パラメータは次のいずれかの方法で指定できます。

フラッシュ・リカバリ領域の現在の位置を確認するには、V$RECOVERY_FILE_DESTを問い合せます。

参照:

ALTER SYSTEM構文の詳細は、『Oracle Database SQLリファレンス』を参照してください。 

フラッシュ・リカバリ領域のサイズ: DB_RECOVERY_FILE_DEST_SIZE

この初期化パラメータは、このデータベースのフラッシュ・リカバリ領域で使用するデータの記憶域の最大値をバイト単位で指定します。


注意:

指定した値には、特定の種類のディスクのオーバーヘッドは含まれません。

  • ブロック0または各OracleファイルのOSブロック・ヘッダーは、このサイズに含まれません。フラッシュ・リカバリ領域で必要な実際のディスク使用量を計算する場合、このデータ用に10%多く見積もります。

  • 基礎となるファイル・システムがミラー化または圧縮されている場合、あるいはOracleでは認識されないオーバーヘッドの影響を受けている場合、DB_RECOVERY_FILE_DEST_SIZEは、ディスクで占有される実際のサイズではありません。たとえば、通常の冗長性(双方向のミラー化)ASMディスク・グループにフラッシュ・リカバリ領域を構成する場合、Xバイトの各ファイルがASMディスク・グループの2Xバイトを占有します。このような場合、DB_RECOVERY_FILE_DEST_SIZEには、ASMディスク・グループのディスクの1/2未満のサイズを設定する必要があります。同様に、高度な冗長性(3方向のミラー化)ASMディスク・グループを使用する場合、DB_RECOVERY_FILE_DEST_SIZEには、ディスク・グループのディスクの1/3未満のサイズを指定する必要があります。

 

フラッシュ・リカバリ領域の位置: 初期化パラメータDB_RECOVERY_FILE_DEST

このパラメータは、ファイルを作成するためのディスク上の有効な位置を指定します。ファイル・システム上のディレクトリまたは自動ストレージ管理ディスク・グループを指定できます。

複数のデータベース間でのフラッシュ・リカバリ領域の共有

次のいずれかの条件を満たす場合、複数のデータベースでDB_RECOVERY_FILE_DESTに同じ値を指定できます。

このようにしてデータベースが単一のフラッシュ・リカバリ領域を共有する場合、フラッシュ・リカバリ領域を保持しているファイル・システムまたはASMディスク・グループには、すべてのデータベースのすべてのリカバリ・ファイルを保持できる十分な大きさが必要です。 別のデータベースのDB_RECOVERY_FILE_DEST_SIZEのすべての値を追加した後、「フラッシュ・リカバリ領域のサイズ: DB_RECOVERY_FILE_DEST_SIZE」で説明するように、実際のディスク領域を割り当てる際のミラー化や圧縮などのオーバーヘッドについて考慮します。

フラッシュ・リカバリ領域使用時の初期化パラメータの制限

フラッシュ・リカバリ領域を使用する際は、その他の初期化パラメータの影響を受けます。

既存データベースへのフラッシュ・リカバリ領域の追加

フラッシュ・リカバリ領域を作成するには、初期化パラメータ・ファイル(PFILE)に必要なパラメータを設定し、データベースを再起動します。また、この例に示すとおり、ALTER SYSTEMを使用してDB_RECOVERY_FILE_DESTおよびDB_RECOVERY_FILE_DEST_SIZE初期化パラメータを設定して、オープン状態のデータベースにフラッシュ・リカバリ領域を追加することもできます。


注意:

DB_RECOVERY_FILE_DEST_SIZEは、DB_RECOVERY_FILE_DESTを指定する前に指定する必要があります。 


  1. SQL*Plusを起動してデータベースに接続してから、フラッシュ・リカバリ領域のサイズを設定します。たとえば、10GBに設定します。

    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH SID='*';
    
    

    SCOPEBOTHを設定して、メモリーとサーバー・パラメータ・ファイルの両方に変更を適用しています。(シングル・インスタンス・データベースではSIDを「*」に設定しても影響はありませんが、RACデータベースではすべてのインスタンスで変更が有効になります。)

  2. フラッシュ・リカバリ領域の位置を設定します。たとえば、フラッシュ・リカバリ領域の位置がファイル・システム・ディレクトリ/disk1/flash_recovery_areaである場合は、次のように設定できます。

    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/disk1/flash_recovery_area' 
    SCOPE=BOTH SID='*';
    
    

    フラッシュ・リカバリ領域の位置が自動ストレージ管理ディスク・グループdisk1である場合は、次のように設定できます。

    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '+disk1' SCOPE=BOTH SID='*';
    

V$RECOVERY_FILE_DESTおよびV$FLASH_RECOVERY_AREA_USAGEの使用

V$RECOVERY_FILE_DESTおよびV$FLASH_RECOVERY_AREA_USAGEビューを使用すると、フラッシュ・リカバリ領域に十分な領域を割り当てているかどうかを判断できます。

V$RECOVERY_FILE_DESTビューを問い合せて、フラッシュ・リカバリ領域の現在の位置、ディスク割当て制限、使用領域、ファイル削除による再利用可能な領域、およびファイルの合計数を確認します。

SQL> SELECT * FROM V$RECOVERY_FILE_DEST;

NAME            SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
--------------  ----------- ---------- ----------------- ---------------
/mydisk/rcva     5368709120 109240320             256000              28

V$FLASH_RECOVERY_AREA_USAGEビューを問い合せて、ファイルのタイプごとに使用されているディスク割当て制限の合計の割合、および各タイプのファイルの領域で、不要なファイル、冗長なファイルまたはテープにバックアップ済であるファイルを削除することによって再利用可能となるサイズを確認できます。

SQL> SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                   0                         0               0
ONLINELOG                     2                         0              22
ARCHIVELOG                 4.05                      2.01              31
BACKUPPIECE                3.94                      3.86               8
IMAGECOPY                 15.64                     10.43              66
FLASHBACKLOG                .08                         0               1

V$RECOVERY_FILE_DESTおよびV$FLASH_RECOVERY_AREAビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

フラッシュ・リカバリ領域の無効化

フラッシュ・リカバリ領域を無効にするには、DB_RECOVERY_FILE_DEST初期化パラメータをNULL文字列に設定します。たとえば、次のSQL*Plus文を使用して、稼働中のデータベースのパラメータを変更します。

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='' SCOPE=BOTH SID="*";

これで、データベースは以前のDB_RECOVERY_FILE_DESTの位置に格納されているファイルにフラッシュ・リカバリ領域の領域管理機能を提供しなくなります。ただし、ファイルはRecovery Managerリポジトリに認識され、バックアップおよびリストア操作を実行できます。

バックアップ保存方針の構成

バックアップ保存方針では、データのリカバリ要件に従って、保存する必要があるバックアップを指定します。この方針は、リカバリ期間(リカバリ可能な過去の最大日数)または冗長性(保持するバックアップ・ファイルのコピーの数)に基づいています。

保存方針を設定するには、CONFIGUREコマンドを使用します。

参照:

  • CONFIGURE構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

 

リカバリ期間ベースの保存方針の構成

CONFIGUREコマンドのRECOVERY WINDOWパラメータでは、現時点と最初のリカバリ可能ポイント間の日数を指定します。Recovery Managerは、リカバリ期間内の全体バックアップやレベル0の増分バックアップを必要なものとみなします。また、すべてのアーカイブ・ログと、期間内の任意の時点にリカバリする必要のあるレベル1の増分バックアップも保持します。

Recovery ManagerプロンプトでCONFIGURE RETENTION POLICYコマンドを実行します。次の例では、データベースを過去1週間のどの時点の状態にでもリカバリできます。

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

Recovery Managerは、リカバリ期間によって不要となったバックアップを自動的には削除しません。かわりに、REPORT OBSOLETEの出力やV$OBSOLETE_BACKUP_FILESOBSOLETE列に、OBSOLETEとして表示します。DELETE OBSOLETE コマンドを実行すると、Recovery Managerは不要なファイルを削除します。

冗長性ベースの保存方針の構成

CONFIGURE RETENTION POLICYコマンドのREDUNDANCYパラメータでは、Recovery Managerが保持する必要がある各データ・ファイルおよび制御ファイルのバックアップの数を指定します。つまり、特定のデータ・ファイルまたは制御ファイルのバックアップの数がREDUNDANCYの設定を超えると、Recovery Managerは余分なバックアップを不要とみなします。デフォルトの保存方針は、REDUNDANCY=1です。

さらにバックアップが作成されると、Recovery Managerは保存するバックアップと不要なバックアップを追跡します。Recovery Managerは、すべてのアーカイブ・ログと、必要なバックアップのリカバリに必要な増分バックアップを保持します。

データ・ファイル7を月曜日、火曜日、水曜日および木曜日にバックアップすると仮定します。データ・ファイルのバックアップは4つ作成されます。REDUNDANCY2の場合、月曜日と火曜日のバックアップは不要になります。金曜日にさらにバックアップを作成すると、水曜日のバックアップが不要になります。

次の例のように、Recovery ManagerプロンプトでCONFIGURE RETENTION POLICYコマンドを実行します。

CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

現在のバックアップ保存方針の表示

SHOW RETENTION POLICYコマンドを使用して、現在の構成済の保存方針を表示できます。出力例は次のとおりです。

RMAN> SHOW RETENTION POLICY;

RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

保存方針の無効化

保存方針を無効にすると、Recovery Managerはすべてのバックアップを必要とみなします。

保存方針を無効にするには、次のコマンドを実行します。

CONFIGURE RETENTION POLICY TO NONE;

保存方針をNONEに構成することは、保存方針を消去することとは異なります。保存方針を消去すると、デフォルトのREDUNDANCY=1の設定に戻りますが、NONEでは保存方針が完全に無効になります。

保存方針を無効にし、コマンドに保存方針のオプションを指定せずにREPORT OBSOLETEまたはDELETE OBSOLETEを実行した場合、不要なバックアップを判断するための保存方針が存在しないため、Recovery Managerはエラーを発行します。


注意:

フラッシュ・リカバリ領域を使用している場合、保存方針が無効な状態でデータベースを稼働しないでください。ファイルが必要であるとみなされていると、ディスクの他の位置や、テープなど3次ストレージ・デバイスにファイルをバックアップ済の場合は、フラッシュ・リカバリ領域からファイルを削除できます。これによって、リカバリ領域のすべての領域が使用される可能性があります。データベースの通常の操作への影響については、「フラッシュ・リカバリ領域で領域が使用不可の場合」を参照してください。 


フラッシュ・リカバリ領域におけるOracleのディスク領域の管理方法

他の目的のために領域を再利用する必要がないかぎり、削除対象のファイルはフラッシュ・リカバリ領域からは削除されません。そのため、最近テープに移動されたファイルはディスク上に存在するため、リカバリで使用可能です。リカバリ領域は、テープに対するキャッシュの一種として使用できます。フラッシュ・リカバリ領域の使用率が100%になると、Oracleは対象ファイルを自動的に削除し、必要に応じてフラッシュ・リカバリ領域を再利用します。

フラッシュ・リカバリ領域のファイルが削除の対象となる場合

フラッシュ・リカバリ領域から削除するファイルを決定する規則は、比較的単純です。

フラッシュ・リカバリ領域で領域が使用不可の場合

たとえば、Recovery Managerの保存方針でフラッシュ・リカバリ領域のディスク割当て制限よりも大きいバックアップのセットを保持する必要がある場合、または保存方針がNONEに設定されている場合、フラッシュ・リカバリ領域は、再利用可能な領域がない状態で、領域を100%使用することができます。

再利用可能な領域が15%未満になると警告アラートが発行され、3%未満になると重大アラートが発行されます。この状況をDBAに警告するために、アラート・ログおよびDBA_OUTSTANDING_ALERTS表(Enterprise Managerで使用)にエントリが追加されます。ただし、データベースはフラッシュ・リカバリ領域内に再利用可能な領域がなくなるまで領域を使い続けます。

リカバリ領域が完全に一杯になると、次のエラー・メッセージが表示されます。

ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim nnnnn bytes disk space from mmmmm limit

nnnnnは必要なバイト数、mmmmはフラッシュ・リカバリ領域のディスク割当て制限です。

再利用可能な領域が不足しているフラッシュ・リカバリ領域は、一杯になった状態のディスクと同じように処理されます。通常はデータベースがハングアップしますが、これ以外の場合もあります。たとえば、必須のREDOログのアーカイブ先の1つであるフラッシュ・リカバリ領域が一杯になったために新しいログをアーカイブできない場合、構成によっては、リカバリ領域に空き領域が確保されるまで、アーカイバがリカバリを定期的に再試行することがあります。一杯になった状態のディスクに対してOracleの特定の機能がどのように応答するかについては、その機能に関するマニュアルを参照してください。

参照:

 

ディスク・ベースのバックアップ用のフラッシュ・リカバリ領域の構成: 例

ここで示す例では、データベースが次のように構成されています。

この例のバックアップ計画は、増分バックアップに基づいています。制御ファイルは、フラッシュ・リカバリ領域に自動的にバックアップされます。

フラッシュ・リカバリ領域のサイズは、10GBに指定されています。これは、制御ファイルの自動バックアップ、データベース全体のレベル0の増分バックアップ(3GBのデータ・ファイルのイメージ・コピーで構成される)の他に、いくつかのレベル1の増分バックアップを格納するのに十分な大きさです。

この計画を実装するため、パラメータ・ファイルには次のエントリが含まれます。

DB_NAME=sample
# set location for current datafiles:
DB_CREATE_FILE_DEST = '/u02/oradata/wrk_area'
# set location for control files and online redo logs:
DB_CREATE_ONLINE_LOG_DEST_1 = '/u03/oradata/wrk_area'
DB_CREATE_ONLINE_LOG_DEST_2 = '/u04/oradata/wrk_area'
# set flash recovery area location and size
DB_RECOVERY_FILE_DEST = '/u01/oradata/rcv_area'
DB_RECOVERY_FILE_DEST_SIZE = 10G

このパラメータ・ファイルではLOG_ARCHIVE_DEST_nパラメータのいずれも設定されていないため、アーカイブ・ログはフラッシュ・リカバリ領域にのみ送信されます。

ターゲット・データベースを起動すると、次のRecovery Managerコマンドによって、保存方針、バックアップの最適化および制御ファイルの自動バックアップが構成されます。


RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

これで、すべてのディスクベースのバックアップがフラッシュ・リカバリ領域に保存されます。

参照:

この環境で実行可能なバックアップ・ジョブの例は、「ディスク専用バックアップのスクリプト作成」を参照してください。 

フラッシュ・リカバリ領域での多重化ファイルを使用したデータベースの作成: 例

次のプロパティを持つデータベースを作成すると想定します。

フラッシュ・リカバリ領域でデータベースを作成する方法

  1. フラッシュ・リカバリ領域を使用するために必要な初期化パラメータを含むデータベースのPFILEを作成し、オンライン・ログ、アーカイブ・ログおよび制御ファイルのコピーを指定します。次のように設定するとします。

    # set DB_NAME
    DB_NAME=sample
    # set destination for OMF datafiles, control file and online redo logs
    DB_CREATE_FILE_DEST = /u01/oradata/wrk_area/
    # set log archiving destinations to a file system location 
    # and the flash recovery area 
    LOG_ARCHIVE_DEST_1 = 'LOCATION=/arc_dest1'
    LOG_ARCHIVE_DEST_2 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST'
    # multiplexed copies of control file and online logs in flash recovery area
    # rman backups also go here
    DB_RECOVERY_FILE_DEST = 'LOCATION=/u01/oradata/rcv_area'
    DB_RECOVERY_FILE_DEST_SIZE = 10G
    
    

    DB_CREATE_FILE_DESTパラメータでは、すべてのデータ・ファイル、オンライン・ログおよび制御ファイルのデフォルト・ディレクトリを設定します。制御ファイルおよびオンライン・ログのもう1つのコピーは、フラッシュ・リカバリ領域に作成されます。

  2. 初期化パラメータの設定後、データベースを作成します。たとえば、SQL*Plusを起動し、次のように入力します。

    SQL> CREATE DATABASE sample;
    
    

    この文の結果を次に示します。

    • データ・ファイルが、DB_CREATE_FILE_DESTにOracle管理ファイルとして作成されます。

    • LOGFILE句が含まれていなかったため、デフォルトでオンライン・ログ・グループが作成されます。各グループが2つのメンバーで構成されます。1つはDB_CREATE_FILE_DESTで、もう1つはDB_RECOVERY_FILE_DESTにあります。

    • CONTROL_FILESパラメータが設定されていなかったため、OracleはDB_CREATE_FILE_DEST(プライマリ)とDB_RECOVERY_FILE_DEST(多重化コピー)に制御ファイルを作成します。Linuxシステムでは、ファイル名は次のようになります。

      /u02/oradata/wrk_area/SAMPLE/controlfile/o1_mf_3ajeikm_.ctl #primary ctlfile
      /u01/oradata/rcv_area/SAMPLE/controlfile/o1_mf_6adjkid_.ctl #ctl file copy
      /u02/oradata/wrk_area/SAMPLE/logfile/o1_mf_0_orrm31z_.log #log grp1, mem 1
      /u01/oradata/rcv_area/SAMPLE/logfile/o1_mf_1_ixfvm8w9).log #log grp 1 mem 2
      /u02/oradata/wrk_area/SAMPLE/logfile/o1_mf_2_2xyz16am_.log # log grp2, mem 1
      /u01/oradata/rcv_area/SAMPLE/logfile/o1_mf_2_q89tmp28_.log #log grp 2, mem 2
      
      
    • REDOログのアーカイブ先として、LOG_ARCHIVE_DEST_1およびLOG_ARCHIVE_DEST_2を使用します。LOG_ARCHIVE_DEST_2がフラッシュ・リカバリ領域として構成されているため、アーカイブREDOログ・ファイルはフラッシュ・リカバリ領域に作成されます。

      ローカルのREDOログのアーカイブ先を使用可能にしたため、Oracleは、自動的にはLOG_ARCHIVE_DEST_10をフラッシュ・リカバリ領域には設定しません。

      フラッシュ・リカバリ領域のアーカイブREDOログのファイル名は、LOG_ARCHIVE_FORMATパラメータには基づかない、Oracle管理のファイル名になります。たとえば、次のようにアーカイブ・ログを作成します。

      ALTER SYSTEM ARCHIVE LOG CURRENT;
      
      

      アーカイブ・ログ・ファイルは、プライマリのアーカイブ先の他に、次のフラッシュ・リカバリ領域のサブディレクトリにも作成されます。

      /u01/oradata/rcv_area/SAMPLE/archivelog/YYYY_MM_DD
      

      YYYY_MM_DDは作成日の書式です。

  3. このデータベースに対し、さらにオンラインREDOログ・グループを作成することもできます。これを行うには、SQL*PlusでALTER DATABASE ADD LOGFILE文を使用します。ファイル名を指定しないと、すでに指定済のオンライン・ログのアーカイブ先(フラッシュ・リカバリ領域を含む)にログ・ファイル・メンバーがもう1つ作成されます。たとえば、次の文では、DB_CREATE_FILE_DESTに1つとDB_RECOVERY_FILE_DESTに1つのメンバーを持つ新しいログ・グループが作成されます。

    ALTER DATABASE ADD LOGFILE;
    

フラッシュ・リカバリ領域でのアーカイブ・ログのみを使用したデータベースの作成: 例

単一のファイル・システム・ディレクトリに、Oracle管理ファイルの制御ファイル、データ・ファイルおよびオンラインREDOログで構成されるデータベースを作成すると仮定します。さらに、次の作業も実行する必要があると仮定します。

フラッシュ・リカバリ領域でデータベースを作成する方法

  1. 関連する初期化パラメータを設定します。次のように設定するとします。

    DB_NAME=sample
    DB_CREATE_FILE_DEST = '/u02/oradata/wrk_area'
    DB_RECOVERY_FILE_DEST = '/u01/oradata/rcv_area'
    DB_RECOVERY_FILE_DEST_SIZE = 10G
    # if you set the following parameters, then the online redo logs *and*
    # current control file are located here
    DB_CREATE_ONLINE_LOG_DEST_1 = '/u03/oradata/wrk_area'
    DB_CREATE_ONLINE_LOG_DEST_2 = '/u04/oradata/wrk_area'
    
    

    DB_CREATE_FILE_DESTパラメータでは、データ・ファイルのデフォルトのファイル・システム・ディレクトリを設定します。DB_CREATE_ONLINE_LOG_DEST_nパラメータでは、オンラインREDOログと制御ファイルのデフォルトのファイル・システム・ディレクトリを設定します。DB_RECOVERY_FILE_DESTパラメータでは、アーカイブ・ログのファイル・システム・ディレクトリを設定します。

  2. 初期化パラメータの設定後、データベースを作成します。たとえば、SQL*Plusを起動し、次のように入力します。

    CREATE DATABASE sample;
    
    

    オンラインREDOログや制御ファイルの多重化コピーは、フラッシュ・リカバリ領域に作成されません。

  3. フラッシュ・リカバリ領域を使用可能にしたため、Oracleは、自動的にLOG_ARCHIVE_DEST_10をフラッシュ・リカバリ領域に設定します。フラッシュ・リカバリ領域のファイル名は、LOG_ARCHIVE_FORMATパラメータには基づかない、Oracle管理のファイル名になります。たとえば、次のようにアーカイブ・ログを作成します。

    ALTER SYSTEM ARCHIVE LOG CURRENT;
    
    

    Linuxの場合、この文では、次のフラッシュ・リカバリ領域のサブディレクトリにアーカイブ・ログが作成されます。

    /u01/oradata/rcv_area/SAMPLE/archivelog/YYYY_MM_DD
    

    YYYY_MM_DDは作成日の書式)

  4. オンラインREDOログ・グループをさらに追加する必要がある場合は、ALTER DATABASE ADD LOGFILE文を実行します。ファイル名を指定しないと、DB_CREATE_ONLINE_LOG_DEST_nのそれぞれの位置に、別のログ・ファイル・メンバーが作成されます(ただしフラッシュ・リカバリ領域には作成されません)。たとえば、次のように入力します。

    ALTER DATABASE ADD LOGFILE;
    
    

    Linuxの場合、この文では、/u03/oradata/wrk_area/SAMPLE/logfileに1つと/u04/oradata/wrk_area/SAMPLE/logfileに1つのメンバーが作成されます。その他のプラットフォームでは、特定のファイルとディレクトリがプラットフォーム依存の名前になります。


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引