| Oracle Database バックアップおよびリカバリ基礎 10gリリース2(10.2) B19193-02 |
|
この章では、Recovery Managerクライアントの起動方法と操作方法、およびバックアップおよびリカバリ計画を実施するために必要なRecovery Manager環境の準備作業について説明します。
この章では、次の項目について説明します。
Oracle Flashback Databaseおよび保証付きリストア・ポイントは、真のバックアップではありませんが、データ保護計画の重要な一部です。これらの機能では、いくつかの初期設定が必要な場合があります。この初期設定は、バックアップ計画にこれらの機能をどのように組み込んでいるかによって異なります。これらの機能を使用するためのデータベースの設定方法の詳細は、第5章「リストア・ポイントおよびOracle Flashback Databaseを使用したデータ保護」を参照してください。
注意:
この項では、Recovery Managerクライアントの起動と終了、コマンド・プロンプトでのコマンドの入力、コマンドライン引数の使用など、Recovery Managerクライアントの基本的な操作方法について説明します。この項では次の項目を取り上げます。
Recovery Managerの起動には、次の基本的なオプションがあります。
% rman
% rman TARGET / % rman TARGET SYS/oracle@trgt NOCATALOG % rman TARGET / CATALOG rman/cat@catdb
|
注意: Recovery Managerを1つ以上のターゲット・データベースに接続しないと、ほとんどのRecovery Managerコマンドは適切に動作しません。Recovery Managerを様々なタイプのデータベースに接続する方法の詳細は、「データベースへのRecovery Managerクライアントの接続」を参照してください。 |
Recovery Managerやプログラムを終了するには、Recovery ManagerプロンプトでEXITまたはQUITと入力します。次に例を示します。
RMAN> EXIT
Recovery Managerを起動する前に、環境変数NLS_DATE_FORMATおよびNLS_LANGを設定しておくと役に立つ場合があります。これらの変数は、RESTORE、RECOVER、REPORTなどの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に対して設定する必要があります。
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クライアントを起動します。たとえば、現行のディレクトリに次のテキスト行を含むテキスト・ファイル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は終了しません。
コマンド・プロンプトにRecovery Managerコマンドを入力するか、またはコマンド・ファイルからコマンドを読み取って、コマンドを実行せずに、そのコマンドの構文が正しいかどうかをテストする必要がある場合があります。その場合、コマンドライン引数CHECKSYNTAXを使用してRecovery Managerクライアントを起動します。このモードでは、Recovery Managerは入力されたコマンドの解析のみを行い、不正なRecovery Managerコマンド構文にRMAN-00558エラーを戻します。
コマンドラインでコマンドをテストするには、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>
コマンド・ファイル内のコマンドをテストするには、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のプロシージャでデータベースを起動または停止したり、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クライアントをターゲット・データベース(バックアップまたはリカバリ対象のデータベース)に接続する必要があります。実行する作業や特定のバックアップ計画によっては、Recovery Managerクライアントをさらに次の2つのデータベースに接続する場合もあります。
ターゲット・データベースまたは補助データベースに接続するには、SYSDBA権限が必要です。
パスワード・ファイルまたはオペレーティング・システム認証を使用して、SYSDBAとして接続できます。
ターゲット・データベースがパスワード・ファイルを使用している場合は、パスワードを使用して接続できます。ローカルまたはリモート・アクセスのいずれかで、パスワード・ファイルを使用してください。ネット・サービス名を指定してSYSDBAでリモート接続する場合は、パスワード・ファイルを使用する必要があります。
オペレーティング・システム認証を使用してデータベースに接続する場合は、Oracle SIDを指定する環境変数を設定する必要があります。たとえば、SIDをtrgtに設定するには、UNIXのコマンドラインで次のように入力します。
% ORACLE_SID=trgt; export ORACLE_SID
リカバリ・カタログへの接続では、SYSDBA権限は必要ありません。スキーマの所有者には、RECOVERY_CATALOG_OWNERロールを付与する必要があります。
自動補助インスタンスについては、Recovery Managerによって、インスタンスの設定時にSYSDBA権限を持っているかどうかが確認されます。
オペレーティング・システムのコマンドラインからターゲット・データベースに接続するには、次のように入力します。
# example of operating system authentication % rman TARGET / NOCATALOG # example of Oracle Net authentication % rman TARGET SYS/oracle@trgt NOCATALOG
また、NOCATALOGやCATALOGを指定せずに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モードで操作を開始します。
オペレーティング・システムのコマンドラインでターゲット・データベースに接続した場合は、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のSHOWおよびCONFIGUREコマンドを使用すると、Recovery Managerの構成設定を参照および変更できます。
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の出力をテキスト・ファイルに保存して、そのコマンド・ファイルを使用して同じターゲット・データベースまたは別のターゲット・データベース上で構成を再作成することができます。
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;
次のいずれかのコマンドを使用して、バックアップ・セットまたはイメージ・コピーをデフォルトとして構成できます。
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;
すべての構成済デバイスに対する自動バックアップ・ファイルの書式は、デフォルトでは置換変数%Fになります。この変数の書式は、c-IIIIIIIIII-YYYYMMDD-QQに変換されます。この各部分の意味は、次のとおりです。
次のコマンドを使用して、デフォルトの書式を変更できます。この場合、deviceSpecifierには、DISKやsbtなどの有効なデバイスを指定します。また、'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コマンドを使用すると、現行のセッションのみで構成済の自動バックアップ書式を変更できます。
優先順位は次のとおりです。
SET CONTROLFILE AUTOBACKUP FORMAT(RUNブロック内)
SET CONTROLFILE AUTOBACKUP FORMAT(RMANプロンプト)
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より優先されます。
「自動ディスク・ベース・バックアップおよびリカバリ: フラッシュ・リカバリ領域」で説明したとおり、フラッシュ・リカバリ領域の機能によって、データベースがリカバリに関連する各種ファイルの作成および管理に使用できるディスクの位置を設定できます。
フラッシュ・リカバリ領域を使用すると、リカバリ関連ファイルを命名したり、リストアおよびリカバリ操作に必要な間はそのファイルを保持しておく操作を自動化できます。また、データベースのリストアにそれらのファイルが不要になった場合や、他のバックアップおよびリカバリ関連操作で領域が必要になった場合に、不要なファイルを削除する操作を自動化することもできます。これによって、継続して行うデータベースの管理を簡略化できます。
フラッシュ・リカバリ領域を使用すると、長期バックアップおよびリカバリ管理を大幅に簡略化できるため、フラッシュ・リカバリ領域を使用することをお薦めします。バックアップ計画を実装する際の最初の手順の1つとして、フラッシュ・リカバリ領域を設定します。
この項では、フラッシュ・リカバリ領域の機能の概要と、この領域に格納されるファイルおよびそのファイルの管理方法の規則について説明します。また、最も重要な構成オプションも説明します。
フラッシュ・リカバリ領域を設定する場合、ファイルを保持する位置(ディレクトリまたは自動ストレージ管理ディスク・グループ)を選択する必要があります。フラッシュ・リカバリ領域をRAWファイル・システムに格納することはできません。
また、フラッシュ・リカバリ領域のディスク割当て制限(フラッシュ・リカバリ領域に格納されたすべてのファイルが使用する領域の最大値)を決定する必要もあります。必要なディスク割当て制限に適応できるだけの十分な大きさの領域を選択してください。ディスク領域の制限に達すると、Oracleは、保存方針の制限に従って、重要でないファイルを削除して新規ファイル用の領域を確保します。
フラッシュ・リカバリ領域は、データ・ファイル、制御ファイル、オンラインREDOログなどのアクティブなデータベース・ファイルが格納されているデータベース領域とは異なるディスク上に確保してください。データベース領域と同じディスク上にフラッシュ・リカバリ領域を保持すると、メディア障害が発生した場合に、使用中のデータベース・ファイルとバックアップの両方が失われることになります。
フラッシュ・リカバリ領域は、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の自動機能は使用できます。
フラッシュ・リカバリ領域内のファイルは、永続的なものと一時的なものに分類できます。永続ファイルは、現行の制御ファイルとオンライン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(フラッシュ・リカバリ領域の位置を指定)を設定する必要があります。
初期化パラメータは次のいずれかの方法で指定できます。
フラッシュ・リカバリ領域の現在の位置を確認するには、V$RECOVERY_FILE_DESTを問い合せます。
この初期化パラメータは、このデータベースのフラッシュ・リカバリ領域で使用するデータの記憶域の最大値をバイト単位で指定します。
このパラメータは、ファイルを作成するためのディスク上の有効な位置を指定します。ファイル・システム上のディレクトリまたは自動ストレージ管理ディスク・グループを指定できます。
次のいずれかの条件を満たす場合、複数のデータベースでDB_RECOVERY_FILE_DESTに同じ値を指定できます。
このようにしてデータベースが単一のフラッシュ・リカバリ領域を共有する場合、フラッシュ・リカバリ領域を保持しているファイル・システムまたはASMディスク・グループには、すべてのデータベースのすべてのリカバリ・ファイルを保持できる十分な大きさが必要です。 別のデータベースのDB_RECOVERY_FILE_DEST_SIZEのすべての値を追加した後、「フラッシュ・リカバリ領域のサイズ: DB_RECOVERY_FILE_DEST_SIZE」で説明するように、実際のディスク領域を割り当てる際のミラー化や圧縮などのオーバーヘッドについて考慮します。
フラッシュ・リカバリ領域を使用する際は、その他の初期化パラメータの影響を受けます。
LOG_ARCHIVE_DESTおよびLOG_ARCHIVE_DUPLEX_DESTパラメータを使用することはできません。かわりに、新しいLOG_ARCHIVE_DEST_nパラメータを使用する必要があります。 LOG_ARCHIVE_DEST_nパラメータのセマンティクスについては、『Oracle Databaseリファレンス』を参照してください。
LOG_ARCHIVE_DEST_10は暗黙的に USE_DB_RECOVERY_FILE_DESTに設定されます(アーカイブREDOログ・ファイルはフラッシュ・リカバリ領域に送信されます)。
DB_RECOVERY_FILE_DESTをDB_CREATE_FILE_DESTパラメータ、またはいずれかのDB_CREATE_ONLINE_LOG_DEST_nパラメータと同じ値に設定しないことをお薦めします。DB_RECOVERY_FILE_DESTがこれらのパラメータと同じ場合、アラート・ログに警告が記録されます。
フラッシュ・リカバリ領域を作成するには、初期化パラメータ・ファイル(PFILE)に必要なパラメータを設定し、データベースを再起動します。また、この例に示すとおり、ALTER SYSTEMを使用してDB_RECOVERY_FILE_DESTおよびDB_RECOVERY_FILE_DEST_SIZE初期化パラメータを設定して、オープン状態のデータベースにフラッシュ・リカバリ領域を追加することもできます。
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH SID='*';
SCOPEにBOTHを設定して、メモリーとサーバー・パラメータ・ファイルの両方に変更を適用しています。(シングル・インスタンス・データベースではSIDを「*」に設定しても影響はありませんが、RACデータベースではすべてのインスタンスで変更が有効になります。)
/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ビューを問い合せて、フラッシュ・リカバリ領域の現在の位置、ディスク割当て制限、使用領域、ファイル削除による再利用可能な領域、およびファイルの合計数を確認します。
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コマンドの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_FILESのOBSOLETE列に、OBSOLETEとして表示します。DELETE OBSOLETE コマンドを実行すると、Recovery Managerは不要なファイルを削除します。
CONFIGURE RETENTION POLICYコマンドのREDUNDANCYパラメータでは、Recovery Managerが保持する必要がある各データ・ファイルおよび制御ファイルのバックアップの数を指定します。つまり、特定のデータ・ファイルまたは制御ファイルのバックアップの数がREDUNDANCYの設定を超えると、Recovery Managerは余分なバックアップを不要とみなします。デフォルトの保存方針は、REDUNDANCY=1です。
さらにバックアップが作成されると、Recovery Managerは保存するバックアップと不要なバックアップを追跡します。Recovery Managerは、すべてのアーカイブ・ログと、必要なバックアップのリカバリに必要な増分バックアップを保持します。
データ・ファイル7を月曜日、火曜日、水曜日および木曜日にバックアップすると仮定します。データ・ファイルのバックアップは4つ作成されます。REDUNDANCYが2の場合、月曜日と火曜日のバックアップは不要になります。金曜日にさらにバックアップを作成すると、水曜日のバックアップが不要になります。
次の例のように、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次ストレージ・デバイスにファイルをバックアップ済の場合は、フラッシュ・リカバリ領域からファイルを削除できます。これによって、リカバリ領域のすべての領域が使用される可能性があります。データベースの通常の操作への影響については、「フラッシュ・リカバリ領域で領域が使用不可の場合」を参照してください。 |
他の目的のために領域を再利用する必要がないかぎり、削除対象のファイルはフラッシュ・リカバリ領域からは削除されません。そのため、最近テープに移動されたファイルはディスク上に存在するため、リカバリで使用可能です。リカバリ領域は、テープに対するキャッシュの一種として使用できます。フラッシュ・リカバリ領域の使用率が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;
これで、すべてのディスクベースのバックアップがフラッシュ・リカバリ領域に保存されます。
次のプロパティを持つデータベースを作成すると想定します。
フラッシュ・リカバリ領域でデータベースを作成する方法
# 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つのコピーは、フラッシュ・リカバリ領域に作成されます。
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
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は作成日の書式です。
ALTER DATABASE ADD LOGFILE文を使用します。ファイル名を指定しないと、すでに指定済のオンライン・ログのアーカイブ先(フラッシュ・リカバリ領域を含む)にログ・ファイル・メンバーがもう1つ作成されます。たとえば、次の文では、DB_CREATE_FILE_DESTに1つとDB_RECOVERY_FILE_DESTに1つのメンバーを持つ新しいログ・グループが作成されます。
ALTER DATABASE ADD LOGFILE;
単一のファイル・システム・ディレクトリに、Oracle管理ファイルの制御ファイル、データ・ファイルおよびオンラインREDOログで構成されるデータベースを作成すると仮定します。さらに、次の作業も実行する必要があると仮定します。
フラッシュ・リカバリ領域でデータベースを作成する方法
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パラメータでは、アーカイブ・ログのファイル・システム・ディレクトリを設定します。
CREATE DATABASE sample;
オンラインREDOログや制御ファイルの多重化コピーは、フラッシュ・リカバリ領域に作成されません。
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は作成日の書式)
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つのメンバーが作成されます。その他のプラットフォームでは、特定のファイルとディレクトリがプラットフォーム依存の名前になります。
|
![]() Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|