RMU Restore Only_Rootコマンドでは、RMU Backupコマンドによって事前に作成されたバックアップ・ファイルからデータベース・ルート(.rdb)ファイルのみを、バックアップ操作が実行されたときの.rdbファイルの状態に再構築します。.rdbファイルを更新するには、コマンド修飾子を使用します。領域の修飾子を使用すると、記憶領域そのものではなく.rdbファイルのみが変更されます。領域の修飾子を使用して、データベースに対して実行された最後のバックアップ操作以降に更新された記憶領域情報を含むように、リストア対象バックアップ・ルート・ファイルを修正します。これが役立つのは、使用可能なデータベースを得るために、データベースの古いバックアップ・ファイルのルートと、データベースの新しいバックアップ・ファイルの領域情報を一致させる必要があるときです。.rdbファイルのみがリストアされる場合は、データベースのトランザクション状態をInitialize_Tsns修飾子またはSet_Tsn修飾子で正しく設定してください。 データベースのトランザクション順序番号(TSN)とコミット順序番号(CSN)が、失われた.rdbファイルに含まれていた値と同じに設定されない場合、アフター・イメージ・ジャーナルが有効になっていると、ジャーナル処理において非一貫性が生じます。このため、ルート単独リストア操作でInitialize_Tsns修飾子またはSet_Tsn修飾子を使用する前に作成されたジャーナル・ファイルを使用してデータベースをリカバリできません。
TSNは、失われた.rdbファイルに含まれていた値以上に設定する必要があります。失われたデータベース・ルート・ファイルの値未満にTSNを設定すると、データベースは破損します。正しくないデータを返したり、アプリケーション障害が発生したりすることがあります。選択した値が、次のCSN値と次のTSN値よりも小さい場合は、次のような致命的エラー・メッセージを受け取ります。
%RMU-F-VALLSSMIN, value (0:40) is less than minimum allowed value (0:74) for Set_Tsn=tsn
set TSN操作とreinitialize TSN操作が終了してから、.rdbファイルを確認し、アフター・イメージ・ジャーナルを有効化して、新しい.aijファイルを作成すると、すべての.aijレコードは.rdbファイルのTSNとCSNの新しい開始番号に基づきます。
バックアップ戦略によって最新の完全な全体データベース・バックアップ・ファイルを確実に維持することをお薦めしますが、最新の全体領域別バックアップ・ファイルのみからデータベースをリストアすることも可能です。これは、ルートをリストアして、Noupdate_FilesおよびNoset_Tsn修飾子を指定することで実現できます。Noset_Tsn修飾子を指定すると、リストア対象データベースのTSNおよびCSNの値はバックアップ・ファイルに記録されている値と同じになります。Noupdate_Files修飾子を指定すると、データベース・ルートはリストアされますが、RMU Restore Only_Rootは、リストアしたルートを領域ファイルにリンクしません。スナップショット(.snp)ファイルの作成または更新も行いません。Noupdate_FilesおよびNoset_Tsn修飾子をRMU Restore Only_Rootコマンドに指定することにより、次の戦略を使用してデータベースをリストアできます。
- 最新の全体領域別バックアップ・ファイルからルートをリストアします。
- 領域別バックアップ・ファイルを作成日付と逆の順序で適用して記憶領域をリストアします。
最新の領域別バックアップ・ファイルを最初に、一番古い領域別バックアップ・ファイルを最後に適用します。(どの領域も複数回リストアしないようにしてください。)- アフター・イメージ・ジャーナル(.aij)ファイルを適用してデータベースをリカバリします。
RMU Recoverコマンドを使用して手動で.aijファイルをリカバリできます。または、.aijファイルの状態が許す場合は、最後に発行したRMU RestoreコマンドでNorecovery修飾子を指定しないことで、RMU Restore Only_Rootで自動的に.aijファイルのリカバリを行うこともできます。RMU Restoreコマンドの自動リカバリ機能の詳細は、第1.42節を参照してください。(自動リカバリ機能は、RMU Restore Only_Rootコマンドでは使用できません。)
この戦略を使用するときは、RMU Restore Only_Rootコマンドの後の最初のRMU Restoreコマンドに、最新のRDB$SYSTEM記憶領域を含めるようにしてください。RDB$SYSTEM記憶領域には、その他のデータベース記憶領域を格納するために必要な構造が含まれます。この理由から、領域別バックアップ操作を実行するときは常にRDB$SYSTEM記憶領域をバックアップすることをお薦めします。
この方法の実例は「例」の項の「例6」を参照してください。
データベース・バックアップ・ファイルが最新であること、データベースとバックアップ・ファイルの違いが明らかであること、バックアップ・ファイルが作成されてから記憶領域の数が変更されていないことが必要です。記憶領域を移動した場合は、File修飾子を使用して新しい場所を確認し、Snapshot修飾子を使用して領域の.snpファイルの現在のバージョンを指定します。
注意
RMU Restore Only_Rootコマンドが終了したら、データベースで完全な全体バックアップ操作を実行する必要があります。RMU Restore Only_RootコマンドでAfter_JournalまたはAij_Options修飾子を使用して、新しいアフター・イメージ・ジャーナル構成を定義することをお薦めします。こうしておくと、別のデータベース・リストア操作が必要になったときに新しい.aijファイルをロール・フォワードできます。
backup-file-spec
前のRMU Backupコマンドによって生成されたバックアップ・ファイルのファイル指定。デフォルトのファイル拡張子は.rbfです。テープにバックアップされてからディスクにコピーされた.rbfファイルについてはリモート・リストア操作を実行できないことに注意してください。.rbfファイルをテープからディスクにコピーするときは、リストア先のシステムにコピーしてください。
リストア操作の実行元が、磁気テープ、ディスクまたは複数ディスクのいずれかに応じて、バックアップ・ファイル指定を次のようにします。
- 磁気テープからリストア:
バックアップ・ファイルの作成に複数のテープ・ドライブを使用した場合、backup-file-specパラメータには最初のテープ・ドライブ名のみを指定する必要があります。次の例に示すように、その他のテープ・ドライブ名は、最初のテープ・ドライブ名や後続のテープ・ドライブ名とカンマで区切ります。
$ RMU/RESTORE /REWIND $111$MUA0:PERS_FULL_NOV30.RBF,$112$MUA1:
- 複数または1つのディスク・ファイルからリストア:
バックアップ・ファイルの作成に複数のディスク・ファイルを使用した場合は、1つ目のディスク・デバイス名(のみ)にbackup-file-specパラメータを指定する必要があります。2つ目以降のディスク・デバイス名は、その前のデバイス名との間をカンマで区切ってから指定します。Disk_file修飾子を指定する必要があります。次に例を示します。
RMU/RESTORE/ONLY_ROOT/DISK_FILE DISK1:[DIR1]MFP.RBF,DISK2:[DIR2], DISK3:[DIR3]
コマンドラインにディスク・デバイス名をリストするかわりに(複数のデバイスを使用している場合、コマンドラインの行の長さの制限を超えることがある)、backup-file-specにオプション・ファイルを指定できます。次に例を示します。
$ RMU/RESTORE/ONLY-ROOT/DISK_FILE" @DEVICES.OPT"
devices.optの内容は次のようになります。
DISK1:[DIR1]MFP.RBF DISK2:[DIR2] DIS3:[DIR3]
このようなオプション・ファイルで参照されるバックアップ・ファイルを次に示します。
DISK1:[DIR1]MFP.RBF DISK2:[DIR2]MFP01.RBF DISK3:[DIR3]MFP02.RBF
storage-area-list
このオプションは、データベースの記憶領域名のリストです。次の状況で使用します。
- Thresholds修飾子でしきい値を変更する必要がある場合、またはBlocks_Per_Page修飾子で1ページ当たりのブロック数を変更する必要がある場合
- リストアされるデータベースのSnapshotまたはFile修飾子に指定した名前またはバージョン番号を変更する必要がある場合
storage-area-listオプションを使用するには、記憶領域のシステム・ファイル名ではなく記憶領域名を指定します。データベース・ルートのみをリストアすることで、通常はすべての記憶領域をリストアするためにかかる余分な時間を節約できます。リストでは記憶領域名をカンマで区切ります。
ファイルが最後にバックアップされてから記憶領域のパラメータが変わった場合、storage-area-listオプションによって、現在の記憶領域パラメータに合うように.rdbファイルのパラメータが場所とファイルバージョンに関して更新されます。
Active_IO=max-reads
RMU Restore Only_Rootコマンドが同時に試行するバックアップ・ファイルの読取り操作の最大数を指定します。Active_IO修飾子の値は1〜5の範囲で指定できます。デフォルト値は3です。After_Journal=file-spec
Noafter_Journal
注意
この修飾子は、リリース6.0よりも前のOracle Rdbとの互換性のために維持されています。拡張可能な.aijファイルの作成に関心がある場合を除き、Aij_Options修飾子を指定するほうが役に立つ可能性があります。
次のルールに従って、アフター・イメージ・ジャーナルや.aijファイルの作成をRMU Restore Only_Rootでどのように処理するかを指定します。
- After_Journal修飾子を指定し、ファイル指定を行うと、RMU Restore Only_Rootが、新しい拡張可能.aijファイルを作成し、ジャーナル処理を有効にします。
- After_Journal修飾子を指定してもファイル指定を行わないと、RMU Restore Only_Rootが、バックアップ操作時にアクティブだったジャーナルと同じ名前の新しい拡張可能.aijファイルを作成します。
- Noafter_Journal修飾子を指定すると、RMU Restore Only_Rootがアフター・イメージ・ジャーナルを無効化し、新しい.aijファイルを作成しません。Noafter_Journal修飾子を指定すると、.aijファイルのシーケンスが途切れることに注意してください。たとえば、バックアップしたときのデータベースの.aijファイル順序番号が1であるとします。RMU Restore Only_RootコマンドをNoafter修飾子を付けて発行すると、.aijファイルの順序番号は2に変化します。つまり、リストア対象のデータベースにオリジナルの.aijファイルを適用できなくなります(適用してもシーケンスが一致しません)。
- After_Journal、Noafter_Journal、Aij_OptionsまたはNoaij_Options修飾子を指定しないと、RMU Restore Only_Rootが、ジャーナルの状態(有効または無効)を元に戻し、.aijファイル(1つまたは複数)の再利用を試行します。
このオプションを選択する場合は、よく注意して、データベース・ルートのTSNとCSNを正しく設定するか、データベースの完全な全体バックアップを作成します。そうしておかないと、必要が生じた場合にデータベースを.aijファイルからリカバリできなくなることがあります。
ただし、.aijファイル(1つまたは複数)が使用できない場合(たとえば、バックアップされた場合)、アフター・イメージ・ジャーナルは無効になります。
After_Journal修飾子を使用して、固定サイズの.aijファイルを作成することはできません。Aij_Options修飾子を使用してください。
Aij_Options=journal-opts
Noaij_Options
次のルールに従って、アフター・イメージ・ジャーナルや.aijファイルの作成をRMU Restore Only_Rootでどのように処理するかを指定します。
- Aij_Options修飾子を指定し、journal-optsファイルを指定すると、RMU Restore Only_Rootがジャーナル処理を有効化し、リストア対象のデータベースに対して指定した.aijファイル(1つまたは複数)を作成します。リストア対象データベースに対して作成される.aijファイルが1つだけの場合、そのファイルは拡張可能.aijファイルになります。データベースのコピーに対して複数の.aijファイルが作成される場合、それらのファイルは固定サイズ.aijファイルになります(少なくとも2つの.aijファイルが常に使用可能になるかぎり)。
- Aij_Options修飾子を指定して、journal-optsファイルを指定しないと、RMU Restore Only_Rootはジャーナル処理を無効化し、新しい.aijファイルを作成しません。
- Noaij_Options修飾子を指定すると、RMU Restore Only_Rootはジャーナル処理を無効化し、新しい.aijファイルを作成しません。
- After_Journal、Noafter_Journal、Aij_OptionsまたはNoaij_Options修飾子を指定しないと、RMU Restore Only_Rootが、ジャーナル処理の状態(有効または無効)を元に戻し、.aijファイル(1つまたは複数)の再利用を試行します。
このオプションを選択する場合は、よく注意して、データベース・ルートのTSNとCSNを正しく設定するか、データベースの完全な全体バックアップを作成します。そうしておかないと、必要が生じた場合にデータベースを.aijファイルからリカバリできなくなることがあります。
ただし、.aijファイル(1つまたは複数)が使用できない場合(たとえば、バックアップされた場合)、アフター・イメージ・ジャーナルは無効になります。
journal-opts-fileの形式の詳細は、第1.62.1項を参照してください。
Directory=directory-spec
データベース・ルートのデフォルト・ディレクトリと、ルートがデータベース記憶領域とスナップショット・ファイルを探すときのデフォルト・ディレクトリを指定します。この修飾子とRoot、FileおよびSnapshot修飾子の関係や、リソース識別子によって所有されるディレクトリへのデータベース・ファイルのリストアに関する警告の詳細は、「使用上の注意」を参照してください。
Initialize_Tsns
Noinitialize_Tsns
値を0に設定して、データベース全体のすべてのトランザクション順序番号(TSN)の値を初期化します。トランザクションがデータベースに対して開始されるたびに、TSNが発行されます。番号は、データベースの存続期間を通じて順に増分します。TSN値およびCSN値は、それぞれ次の10進数形式のquadwordに含まれます。
high longword : low longword
high longwordはユーザーの最大値32768(215)を保持でき、low longwordは最大ユーザー値4,294,967,295(232)を保持できます。high longwordの一部はOracle Rdbによってオーバーヘッドに使用されます。
TSNまたはCSNを指定するとき、TSNまたはCSNがlow longwordにおさまる場合は、high longwordとコロンを省略できます。たとえば、0:444と444はいずれも入力値として有効です。
次のTSN値が、許可されている最大値に近づいたら、TSNを初期化する必要があります。HeaderおよびOption=Debug修飾子を付けたRMU Dumpコマンドを使用してデータベース・ルート・ファイルをダンプ出力すると、次のTSN値と次のCSN(コミット順序番号)値を判別できます。
データベースのすべてのTSN値を0に設定するときに、データベースのすべてのページへの書込みが必要なため、Initialize_Tsns修飾子の実行にはかなり時間がかかります。Initialize_Tsns修飾子を使用してデータベースのTSNがリセットされたら、After_Journal修飾子またはAij_Options修飾子を使用して、すぐに全体データベース・バックアップ操作を実行し、新しい.aijファイルを作成する必要があります。これによって、ジャーナル処理が確実に継続され、データベースのリカバリが可能になります。
デフォルトのNoinitialize_Tsns修飾子では、データベースのTSNは初期化されません。
Initialize_TsnsとSet_Tsn修飾子またはNoset_Tsn修飾子を同じコマンドで使用できないことに注意してください。この制約が必要になるのは、Initialize_TsnsはRMU Restore Only_RootにTSN値の0へのリセットを指示するが、Set_TsnはRMU Restore Only_RootにTSNの指定値へのリセットを指示し、Noset_TsnはTSN値を変更しないためです。
注意
Replication Option for Rdb送信がデータベースで定義されている場合は、Initialize_Tsns修飾子を決して使用しないでください。Initialize_Tsns修飾子では、Replication Option for Rdb送信はリセットされません。
Label=(label-name-list)
バックアップ・ファイルのボリューム・ラベルに付ける1〜6文字の文字列を指定します。Label修飾子を適用できるのはテープ・ボリュームのみです。Label修飾子を使用するときは1つ以上のラベル名を指定する必要があります。複数のテープの場合、テープ・ラベルのリストを指定できます。複数のテープ・ラベル名を指定する場合は、名前をカンマで区切り、名前のリストをカッコで囲みます。
通常のリストア操作では、RMU Restore Only_Rootコマンドに指定するLabel修飾子は、データベースのバックアップに使用したRMU Backupコマンドで指定したLabel修飾子と同じにする必要があります。
Label修飾子は間接ファイル参照と一緒に使用できます。詳細は、第1.3節を参照してください。
Librarian[=options]
Librarian修飾子を使用して、Oracle Media Managementインタフェースをサポートするデータ・アーカイブ・ソフトウェア・アプリケーションからファイルをリストアします。コマンドラインに指定したファイル名によって、Librarianユーティリティから取得するデータのストリームが識別されます。デバイスまたはバージョン番号の指定は無視されます。Oracle RMUでLibrarian修飾子を使用した取得がサポートされるのは、以前にOracle RMUによってLibrarian修飾子を使用して格納されたデータのみです。
Librarian修飾子には次のオプションを指定できます。
- Trace_file=file-specification
Librarianユーティリティがトレース・データを指定のファイルに書き込みます。- Level_Trace=n
このオプションをデバッグ・ツールとして使用し、Librarianユーティリティによって書き込まれるトレース・データのレベルを指定します。事前定義済の値0、1または2、あるいはLibrarianユーティリティで定義したさらに大きな値を使用できます。事前定義済の値を次に示します。
- レベル0ではすべてのエラー状態がトレースされます。これがデフォルトです。
- レベル1では、各Librarianファンクションの開始と終了がトレースされます。
- レベル2では、各Librarianファンクションの開始と終了、すべてのファンクション・パラメータの値、および各読取り/書込みバッファの最初の32バイト(16進)がトレースされます。
- Logical_Names=(logical_name=equivalence-value,...)
このオプションを使用してプロセス論理名のリストを指定できます。Librarianユーティリティは、これらの論理名を使用して、Oracle Rdbバックアップ・ファイルが格納されるカタログまたはアーカイブや、Librarianデバッグ論理名などを指定できます。論理名の定義は、特定のLibrarianのドキュメントを参照してください。プロセス論理名のリストは、LibrarianアプリケーションにアクセスするOracle RMUコマンドを開始する前にOracle RMUによって定義されます。
Oracle RMUのバックアップまたはリストア操作を実行する前に、次のOpenVMS論理名を定義して、Librarianユーティリティで使用できるようにする必要があります。これらの論理名を定義するためにLibrarian修飾子のLogical_Namesオプションを使用しないでください。
- RMU$LIBRARIAN_PATH
共有可能なLibrarianイメージをOracle RMUバックアップおよびリストア操作でロードおよびコールするためには、この論理名を定義する必要があります。等価名にはファイル・タイプ(.exeなど)が含まれる必要があります。バージョン番号は含めません。共有可能なLibrarianイメージは、インストール済(認識済)のイメージである必要があります。このイメージの名前と場所およびインストール方法は、Librarian実装のドキュメントを参照してください。- RMU$DEBUG_SBT
この論理名は必須ではありません。これを定義すると、Librarian共有可能イメージをコールするモジュールからのデバッグ・トレーシング情報メッセージがOracle RMUによって表示されます。
Rewind、Density、Labelなどデバイス固有の修飾子はLibrarian修飾子と一緒に使用できません。LibrarianユーティリティではOracle RMUではなくストレージ・メディアが処理されるためです。
Log
Nolog
コマンドの処理をSYS$OUTPUTに報告するかどうかを指定します。Log修飾子を指定すると、リストア操作の進捗をSYS$OUTPUTに出力するようにリクエストします。Nolog修飾子を指定するとこの報告は行われません。どちらも指定しない場合は、DCL確認スイッチの現在の設定がデフォルトになります。(DCL SET VERIFYコマンドによってDCL確認スイッチが制御されます。)Media_Loader
Nomedia_Loader
Media_Loader修飾子は、バックアップ・ファイルを読み取るテープ・デバイスにローダーまたはスタッカがあることを指定するために使用します。Nomedia_Loader修飾子は、テープ・デバイスにローダーやスタッカが付いていないことを指定するために使用します。デフォルトでは、テープ・デバイスにローダーまたはスタッカがある場合は、RMU Restore Only_Rootによって認識されるはずです。ただし、テープ・デバイスにローダーまたはスタッカが付いていることがRMU Restore Only_Rootで認識されないこともあります。このため、RMU Restore Only_Rootは、最初のテープを読み取ると、ローダーまたはスタッカに次のテープをリクエストするかわりに、次のテープのリクエストをオペレータに発行します。同様に、テープ・デバイスにローダーまたはスタッカがない場合でも、あるかのようにRMU Restore Only_Rootが動作することがあります。
テープ・デバイスにローダーまたはスタッカがあることがRMU Restore Only_Rootによって認識されていないとわかった場合は、Media_Loader修飾子を指定します。該当しない場合にRMU Restore Only_Rootがローダーまたはスタッカを想定していることがわかったときは、Nomedia_Loader修飾子を指定します。
New_Snapshots
Nonew_Snapshots
Restore Only_Root操作において新しいスナップショット(.snp)ファイルを作成するかどうかを指定できます。デフォルトのNonew_Snapshots修飾子では、コマンドによって既存の.snpファイルが初期化されます。
New_Snapshots修飾子を指定すると、コマンドによって新しい.snpファイルが作成され初期化されます。New_Snapshots修飾子を指定するときは、リストア操作の前に既存の.snpファイルを削除するか、後から.snpファイルをパージする必要があります。
Nodes_Max=number-cluster-nodes
ユーザーがリストア対象データベースにアクセスする際のVMSclusterノード数の新しい上限を指定します。Nodes_Max修飾子にはVMSclusterノード数として1〜96の値を指定できます。実際の最大値は、現在のバージョンのOpenVMSで許可されるVMSclusterノードの最大数です。デフォルト値は、データベースのバックアップ前にデータベースについて定義された制限です。Options=file-spec
記憶領域名が含まれるオプション・ファイルを指定します。記憶領域名の後には、その記憶領域に適用する記憶領域の修飾子が指定されています。この修飾子で使用するオプション・ファイルを作成するようにRMU Restore Only_Rootに指示するには、RMU Backup、RMU DumpおよびRMU Dump BackupコマンドでRestore_Options修飾子を指定します。詳細は、第1.10節、第1.19節および第1.21節を参照してください。
独自にオプション・ファイルを作成する場合、記憶領域名をカンマで区切らないでください。かわりに、記憶領域名は1つずつ改行してファイルの別の行に指定します。オプション・ファイルに指定できる記憶領域の修飾子は、Blocks_Per_Page、File、SnapshotおよびThresholdsです。オプション・ファイルではDCLの行継続文字であるハイフン(-)またはコメント文字(!)を使用できます。デフォルトのファイル拡張子は.optです。「例」の項の「例5」を参照してください。
Rewind
Norewind
バックアップ・ファイルを含むテープを巻き戻してから処理を開始するかどうかを指定します。Norewind修飾子(デフォルト)では、現在のテープ位置からバックアップ・ファイルの検索を開始します。RewindおよびNorewind修飾子はテープ・デバイスのみに適用できます。これらの修飾子を使用したときにターゲット・デバイスがテープ・デバイスでない場合、RMU Restore Only_Rootがエラー・メッセージを返します。
Root=root-file-spec
データベース・ルート(.rdb)を指定の場所にリストアするようにリクエストします。この修飾子とDirectory、FileおよびSnapshot修飾子の関係や、リソース識別子によって所有されるディレクトリへのデータベース・ファイルのリストアに関する警告の詳細は、「使用上の注意」を参照してください。
Root修飾子の意味があるのは、複数ファイル・データベースに対して使用する場合のみです。
Set_Tsn=(Tsn=n, Csn=m)
Noset_Tsn
Set_Tsn修飾子を使用して、データベース・トランザクション順序番号(TSN)とコミット順序番号(CSN)を指定の値に設定します。正しい値は、オリジナルの.rdbファイル(アクセスできる場合)または最後の.aijファイル(使用可能な場合)から抽出できます。抽出できない場合は、データベースが作成されてから、またはTSNが最後に初期化されてから、データベースに適用されたトランザクションの最大数よりも大きいTSN値を使用できます。TSN値とCSN値を同じ値にする必要はありません。ただし、トランザクションに割り当てられた最後の値よりも大きい値を、新しい値に選択する必要があります。Set_Tsn値は8の倍数になるように指定します。8の倍数でない値を指定すると、RMU Restore Only_Rootが、その値を上回る8の倍数を割り当てます。(たとえば、Set_Tsn=(Tsn=90, Csn=90)と指定すると、RMU Restore Only_Rootが、次のTSNに値96を割り当てます。)
TSNを初期化しない場合、Set_Tsn修飾子のデフォルト値は、バックアップ・ファイルに格納されているTSNおよびCSN値に1,000,000を加えた値です。ほとんどのデータベース・アプリケーションでは、新しいTSNおよびCSN値は、データベースが最後にバックアップされてからコミットされたトランザクション数よりも大きくする必要があります。必要であれば、バックアップ・ファイルの値にこのデフォルト増分値を加えたよりも大きい値にTSNおよびCSN値を設定します。次のTSN値および次のCSN値を判別するには、Option=Debug修飾子を使用して.rdbファイルをダンプ出力します。
TSN値およびCSN値は、それぞれ次の10進数形式のquadwordに含まれます。
high longword : low longword
high longwordはユーザーの最大値32768(215)を保持でき、low longwordは最大ユーザー値4,294,967,295(232)を保持できます。high longwordの一部はOracle Rdbによってオーバーヘッドに使用されます。
TSNまたはCSNを指定するとき、TSNまたはCSNがlow longwordにおさまる場合は、high longwordとコロンを省略できます。たとえば、0:444と444はいずれもTSNの入力値として有効です。
Noset_Tsn修飾子は、バックアップ・ファイルに記録されているのと同じTSN状態でルートをリストアすることを指定します。
Noset_Tsn修飾子をNoupdate_Files修飾子と一緒に使用するときは、データベース全体に対する最新の完全な全体バックアップ・ファイルのかわりに最新の領域別全体バックアップ・ファイルを使用するバックアップ戦略を使用できます。「例」の項の「例6」を参照してください。
Initialize_TsnsとSet_Tsn修飾子またはNoset_Tsn修飾子を同じコマンドで使用できないことに注意してください。この制約が必要になるのは、Initialize_TsnsはRMU Restore Only_RootにTSN値の0へのリセットを指示するが、Set_TsnはRMU Restore Only_RootにTSNの指定値へのリセットを指示し、Noset_TsnはTSN値を変更しないためです。
Transaction_Mode=(mode-list)
リストア操作で作成されるデータベース・ルート・ファイルについて許可されるトランザクション・モードを設定します。mode-listには、次の1つ以上のトランザクション・モードを含めることができます。
- All - すべてのトランザクション・モードを有効にします。
- Current - ソース・データベースに設定されるすべてのトランザクション・モードを有効にします。これがデフォルトのトランザクション・モードです。
- None - すべてのトランザクション・モードを無効にします。
- [No]Batch_Update
- [No]Read_Only
- [No]Exclusive
- [No]Exclusive_Read
- [No]Exclusive_Write
- [No]Protected
- [No]Protected_Read
- [No]Protected_Write
- [No]Read_Write
- [No]Shared
- [No]Shared_Read
- [No]Shared_Write
複数のトランザクション・モードをmode-listに指定する場合は、リストをカッコで囲み、トランザクション・モードを1つずつカンマで区切ります。次のことに注意してください。
- 否定形のトランザクション・モード(たとえばNoexclusive_Write)を指定すると、排他書込みが、コピーされるデータベースの許可されたアクセス・モードではないことを意味します。
- Shared、ExclusiveまたはProtectedトランザクション・モードを指定した場合、そのトランザクション・モードでの読取りと書込みの両方を指すものとみなされます。
- 明示的に指定しないかぎり、いずれのモードも有効になりません。なお、Allオプションを使用すると、すべてのトランザクション・モードが有効になります。
- このコマンドでは、特定のモードを有効または無効にするトランザクション・モードの後に、それとは反するモードが指定される可能性があります。たとえば、Transaction_Mode=(Noshared_Write, Shared)と指定した場合、最初の値はShared_Writeアクセスの無効化を示し、2番目の値はShared_Writeアクセスの有効化を示すため、指定内容が不明確になります。Oracle RMUは、このような不明確さの解決方法として、有効化を示す指定を先に適用し、次に、無効化を示す指定を適用します。モードを記述した順序は関係しません。前述の例の場合は、Shared_Readが有効、Shared_Writeが無効となります。
Update_Files
Noupdate_Files
Update_Files修飾子の指定では、ルートがリストアされ、リストアされたルートから領域ファイルへのリンクをRMU Restore Only_Rootが試行します。また、スナップショット(.snp)ファイルが更新または作成されます。これがデフォルトです。Noupdate_Files修飾子の指定では、リストア操作によってルートがリストアされるが、リストアされたルートから領域ファイルへのリンクは行われません。また、.snpファイルの作成または更新も行われません。
Noupdate_Files修飾子をNoset_Tsn修飾子と一緒に使用するときは、データベース全体に対する最新の完全な全体バックアップ・ファイルのかわりに最新の領域別全体バックアップ・ファイルを使用するバックアップ戦略を使用できます。「例」の項の「例6」を参照してください。
Users_Max=number-users
リストア対象データベースに同時にアクセスできるユーザー数の新しい上限を指定します。有効範囲は1〜2032ユーザーです。デフォルト値は、データベースのバックアップ前にデータベースについて定義された値です。
これらの修飾子を使用して、データベース・ルート・ファイル内の情報をディスク上の記憶領域ファイルに合せて調整します。データベース・ルート・ファイルのリストア元のバックアップが作成された後で、記憶領域またはスナップショット・ファイルに変更が加えられていると、これらの値が同期していないことがあります。 これらのパラメータを設定するとルート・ファイルのデータのみが更新されます。記憶領域またはスナップショット・ファイルそのものの属性は変更されません。 |
Blocks_Per_Page=integer
Noblocks_Per_Page
記憶領域の1ページ当たりのブロック数でデータベース・ルート・ファイルを更新します。記憶領域の1ページ当たりのブロック数が、リストアしているバックアップ・ファイルの作成時以降に変更されている場合は、この修飾子を使用してルートを更新します。この修飾子を使用しても、記憶領域そのもののページ数は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。デフォルトのNoblocks_Per_Page修飾子を使用すると、RMU Restore Only_Rootは、バックアップしたデータベースで指定されていたページ・サイズに基づいて記憶領域のページ・サイズを設定します。これは位置依存修飾子です。この修飾子は、統一ページ形式の記憶領域では使用できません。
File=file-spec
修飾するstorage-area-nameパラメータのファイル指定でデータベース・ルート・ファイルを更新します。記憶領域のファイル指定が、ルートのリストア元のバックアップ・ファイルを作成した後で変更されている場合は、この修飾子を使用してルートを更新します。(たとえば、バックアップ・ファイルを作成した後でRMU Move_Areaコマンドを使用した場合。)この修飾子を使用しても、修飾する記憶領域のファイル指定は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。File修飾子を指定するときは、ファイル名を指定する必要があります。この修飾子とRoot、SnapshotおよびDirectory修飾子の関係の詳細は、「使用上の注意」を参照してください。
この修飾子は、シングル・ファイル・データベースでは無効です。これは位置依存修飾子です。
Read_Only
修飾する記憶領域の読取り専用属性を反映するようにデータベース・ルート・ファイルを更新します。読取り/書込みまたは読取り専用属性が、リストアしているバックアップ・ファイルの作成時以降に変更されている場合は、この修飾子を使用してルートを更新します。この修飾子を使用しても、修飾する記憶領域の属性は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。Read_OnlyまたはRead_Write修飾子を指定しない場合、データベースのバックアップ時に有効になっていた読取り/書込み属性で記憶領域がリストアされます。
Read_Write
修飾する記憶領域の読取り/書込み属性を反映するようにデータベース・ルート・ファイルを更新します。読取り/書込みまたは読取り専用属性が、リストアしているバックアップ・ファイルの作成時以降に変更されている場合は、この修飾子を使用してルートを更新します。この修飾子を使用しても、修飾する記憶領域の属性は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。Read_OnlyまたはRead_Write修飾子を指定しない場合、データベースのバックアップ時に有効になっていた読取り/書込み属性で記憶領域がリストアされます。
Snapshot=(Allocation=n,File=file-spec)
修飾する領域のスナップショット割当てまたはスナップショット・ファイル指定(あるいは両方)を反映するように、データベース・ルート・ファイルを更新します。データベース・ルートのリストア元のバックアップ・ファイルが変更された後でスナップショット属性が変更されたときは、この修飾子を使用してルートを更新します。この修飾子を使用しても、修飾するスナップショット・ファイルの属性は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。この修飾子とRoot、SnapshotおよびDirectory修飾子の関係の詳細は、「使用上の注意」を参照してください。
Snapshot修飾子は位置依存修飾子です。
Snapshot修飾子を指定しないと、RMU Restore Only_Rootは、バックアップ・ファイルに格納されている情報に基づいてスナップショット領域をリストアします。
Spams
Nospams
storage-area-listの記憶領域の領域管理(SPAM)情報を反映するように、データベース・ルート・ファイルを更新します。ルートのリストア元のバックアップ・ファイルが作成された後でSPAMページの設定(有効または無効)が変更されている場合は、この修飾子を使用します。この修飾子を使用しても、修飾する記憶領域の属性は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。Spams修飾子を使用して、修飾する記憶領域でSPAMページが有効であることを示すようにルート・ファイルの情報を更新します。また、Nospams修飾子を使用して、修飾する記憶領域でSPAMページが無効であることを示すようにルート・ファイルの情報を更新します。デフォルトでは、属性はバックアップ・ファイルに記録された設定から変更されません。これは位置依存修飾子です。
Thresholds=(val1[,val2[,val3]])
storage-area-listの記憶領域のしきい値情報を反映するように、データベース・ルート・ファイルを更新します。ルートのリストア元のバックアップ・ファイルが作成されてからしきい値が変更されたときは、この修飾子を使用します。この修飾子を使用しても、修飾する記憶領域の属性は変更されません。データベース・ルート・ファイルが正しい情報を含むように更新することが目的です。これは位置依存修飾子です。
Thresholds修飾子は、混合ページ形式の記憶領域のみに適用されます。
Thresholds修飾子をRMU Restore Only_Rootコマンドで使用しない場合、Oracle Rdbは、バックアップ・ファイルに記録されている記憶領域のしきい値を使用します。
SPAMしきい値の詳細は、『Oracle Rdb7 Guide to Database Performance and Tuning』を参照してください。
- データベースに対してRMU Restore Only_Rootコマンドを使用するには、そのデータベースのルート・ファイルのアクセス制御リスト(ACL)にRMU$RESTORE権限が必要です。あるいは、OpenVMS SYSPRVまたはBYPASS権限が必要です。
- RMU Restore Only_Rootコマンドには、DirectoryとRootという2つの修飾子があり、これらを使用してリストア対象データベース・ルート・ファイルのターゲットを指定できます。さらに、Directory、FileおよびSnapshot修飾子を使用すると、データベース・ルート内の記憶領域とスナップショット・ファイルの場所を更新のターゲットに指定できます。ターゲットは、ディレクトリのみ、ファイル名のみ、またはディレクトリとファイル名の両方で指定できます。
これらの修飾子すべてまたは一部を使用して、次のように適用します。
- Root修飾子を使用して、リストア対象データベース・ルート・ファイルのターゲットを指定します。
- データベースがバックアップされてから記憶領域ファイルの場所が変更された場合は、File修飾子をローカルに適用して現在の場所を指定します。記憶領域はこの修飾子の影響を受けません。この修飾子は、記憶領域の場所をデータベース・ルート・ファイルに記録されているように更新します。
- データベースがバックアップされてからスナップショット・ファイルの場所が変更された場合は、Snapshots修飾子をローカルに適用して現在の場所を指定します。スナップショット・ファイルはこの修飾子の影響を受けません。この修飾子は、スナップショット・ファイルの場所をデータベース・ルート・ファイルに記録されているように更新します。
- Directory修飾子は、ルート・ファイルのデフォルト・ターゲット・ディレクトリを指定するために使用します。また、記憶領域とスナップショット・ファイルが置かれるデフォルト・ディレクトリとしても使用します。デフォルト・ターゲット・ディレクトリは、ディレクトリ指定がRoot修飾子で指定されない場合にデータベース・ルート・ファイルがリストアされる場所です。記憶領域とスナップショット・ファイルのデフォルト・ディレクトリは、これらのファイルがRoot、FileまたはSnapshot修飾子で指定されない場合にルート・ファイルを更新するディレクトリ指定です。また、このディレクトリは、Root、FileまたはSnapshot修飾子のターゲットにディレクトリ指定が含まれない場合に、これらの修飾子で修飾されたファイルについてルート・ファイルを更新するデフォルト・ディレクトリでもあります。
これらの修飾子を使用するときは次のことに注意してください。
- ターゲット指定にファイル名が含まれるときにFile修飾子をグローバルに適用すると、RMU Restore Only_Rootは、すべての記憶領域のデータベース・ルート・ファイルに記録されたファイル名を同じファイル名に更新します。
- ターゲット指定にファイル名が含まれるときにSnapshot修飾子をグローバルに適用すると、RMU Restore Only_Rootは、すべてのスナップショット・ファイルのデータベース・ルート・ファイルに記録されたファイル名を同じファイル名に更新します。
- Directory修飾子でのファイル名または拡張子の指定は許可されていますが、この指定により、RMU Restore Only_Rootが、データベース・ルート・ファイルを指定したディレクトリとファイルにリストアし、すべての記憶領域とスナップショット・ファイルについてデータベース・ルート・ファイルに記録されたファイル名を、同一のディレクトリとファイル指定になるように更新します。
- リソース識別子によって所有されるディレクトリにデータベース・ルートをリストアすると、ディレクトリのACEがデータベース・ルート・ファイルのACLに適用されてから、Oracle RMU ACEが追加されます。この方法が採用されているのは、データベース・ユーザーによってOpenVMSのファイル・セキュリティが上書きされるのを防ぐためです。ただし、この方法では、自分のものであるはずのデータベースにアクセスするOracle RMU権限が得られません。詳細は、『Oracle Rdb Guide to Database Maintenance』を参照してください。
- ルート単独リストア操作を使用して、対応する修飾子があるデータベース・パラメータ値と記憶領域パラメータ値のみをデータベース・ルート(.rdb)ファイルで更新できます。データベースの最後のバックアップ以降に変更された他のすべてのデータベースと記憶領域のパラメータ値は、SQL ALTER DATABASE文を使用して.rdbファイルに再適用する必要があります。
- 混合ページ形式の記憶領域に対するNospams修飾子オプションの使用には制約はありませんが、Nospams修飾子を使用すると、通常は深刻なパフォーマンスの悪化が引き起こされます。Nospams修飾子が役立つのは、更新がバッチ処理でまれにしか行われず、アクセスが主にデータベース・キー(dbkey)で行われる場合のみです。
- TSNおよびCSN値は両方を同時に設定する必要があります。 TSN値をCSN値よりも小さい値に設定することはできませんが、CSN値をTSN値よりも大きく設定することはできます。
- バックアップ操作が実行されてから記憶領域が拡張された場合、RMU Restore Only_Rootコマンドは使用できません。該当する状況かどうかを判別するには、Option=Root修飾子を付けたRMU Dump Backupコマンドを使用します。
例1データベースの破損を防ぐには、CSNおよびTSN値を調べ、最大値に近づいたら0に設定します。まず、RMU Dumpコマンドを入力して次のCSN値および次のTSN値を表示します。
$ RMU/DUMP/HEADER=(SEQUENCE_NUMBERS) MF_PERSONNEL . . . Sequence Numbers... - Transaction sequence number Next number is 0:256 Group size is 0:32 - Commit sequence number Next number is 0:256 Group size is 0:32
次のCSNと次のTSNの値が、許可されている最大数に近づいたら、次の操作を実行して、データベースのすべてのTSNとCSNの値を0に初期化する必要があります。この操作は、データベースのすべてのページに書込みが行われるため、実行にしばらく時間がかかることがあります。
まず、データベースのバックアップ・ファイルを作成します。次に、Initialize_Tsns修飾子を使用して、データベースをリストアし、CSNおよびTSNの値を初期化します。ここで、再びRMU Dumpコマンドを入力して次のCSN値および次のTSN値を調べます。この例では、両方の値が0に設定されています。データベース・ページを表示すると、すべてのTSNとCSNの値が0になっていることがわかります。
$ RMU/BACKUP MF_PERSONNEL MF_PER_124.RBF $ RMU/RESTORE/ONLY_ROOT /INITIALIZE_TSNS MF_PER_124.RBF $ RMU/DUMP/HEADER=(SEQUENCE_NUMBERS) MF_PERSONNEL . . . Sequence Numbers... - Transaction sequence number Next number is 0:0 Group size is 0:32 - Commit sequence number Next number is 0:0 Group size is 0:32
例2
次のコマンドを実行して、TSNおよびCSNの値を選択した数(次のCSN値および次のTSN値以上の数)に設定します。選択した値が、データベース・ヘッダーに記録されている次のCSN値と次のTSN値よりも小さい場合は、次のようなエラーを受け取ります。
$ RMU/RESTORE/ONLY_ROOT/SET_TSN=(TSN=40,CSN=40) _$ MF_PERSONNEL.RBF %RMU-F-TSNLSSMIN, value (0:40) is less than minimum allowed value (0:224) for /SET_TSN=TSN %RMU-F-FTL_RSTR, Fatal error for RESTORE operation at 18-JUN-1997 16:59:19.32
データベース・ヘッダーに記録されている次のCSN値と次のTSN値以上の数を入力します。
$ RMU/RESTORE/ONLY_ROOT/SET_TSN=(TSN=274,CSN=274) - _$ MF_PERSONNEL.RBF
RMU Dumpコマンドを入力し、次のCSN値および次のTSN値を確認します。
$ RMU/DUMP/HEADER=(SEQUENCE_NUMBERS) MF_PERSONNEL . . . Sequence Numbers... - Transaction sequence number Next number is 0:288 Group size is 0:32 - Commit sequence number Next number is 0:288 Group size is 0:32 - Database bind sequence number Next number is 0:288
例3
次のRMU Restore Only_Rootコマンドは、データベース・バックアップ・ファイル(.rbf)から別のデバイスにデータベース・ルート・ファイルをリストアします。
$ RMU/RESTORE/ONLY_ROOT/ROOT=DXXV9:[BIGLER.TESTING]MF_PERSONNEL - _$ MF_PERSONNEL_BACKUP.RBF
次のDIRECTORYコマンドが、指定したディレクトリにMF_PERSONNEL.RDBファイルがリストアされたことを確認します。
$ DIRECTORY DXXV9:[BIGLER.TESTING]MF_PERSONNEL.RDB Directory DXXV9:[BIGLER.TESTING] MF_PERSONNEL.RDB;1 21-JAN-1991 14:37:36.87 Total of 1 file.
例4
File=file-spec修飾子を使用して、記憶領域の新しい場所を含むように.rdbファイルを更新します。記憶領域を別の場所に移動した場合は、File修飾子を使用して新しい場所を表示し、Snapshot修飾子を使用して領域のスナップショット(.snp)ファイルの現在のバージョンを指定します。次に示すRMUコマンドを入力して、一連の操作を実行します。この操作では、ルート単独リストア操作でFileおよびSnapshot修飾子を使用し、データベースが最後にバックアップされてからの新しい情報で.rdbファイルを更新します。
データベース・ファイルをバックアップします。
$ RMU/BACKUP MF_PERSONNEL MFPERS_122.RBF.
領域を別のディレクトリに移動します。
$ RMU/MOVE_AREA MF_PERSONNEL JOBS - _$ /FILE=[BIGLER.MFTEST.TEST1]JOBS.RDA
RMU Restore Only_Rootコマンドを使用して、領域名を指定し、記憶領域ファイル指定と新しい場所の両方を指定します。スナップショット(.snp)ファイルとその正しいバージョンも指定します。.snpファイルのバージョン番号は、RMU Move_Areaコマンドを使用すると増分することに注意してください。
$ RMU/RESTORE/ONLY_ROOT MFPERS_122.RBF JOBS - _$ /FILE=[BIGLER.MFTEST.TEST1]JOBS.RDA - _$ /SNAPSHOT=(FILE=[BIGLER.V41MFTEST]JOBS.SNP;2)
.rdbヘッダーを表示し、ファイルが正しく更新されたことを確認します。
データベース・ルート・ファイルのダンプに、次のファイル指定がリストされます。
$ RMU/DUMP/HEADER MF_PERSONNEL DXXV9:[BIGLER.MFTEST.TEST1]JOBS.RDA;1 DXXV9:[BIGLER.MFTEST]JOBS.SNP;2
データベースを構成するファイルやそれらのバージョン番号と比較し、.rdbファイルが適切かつ完全に更新されたことを確認します。
$ RMU/VERIFY/ROOT MF_PERSONNEL
例5
次のコマンドでは、例4のRMU Restore Only_Rootコマンドと同じ結果が得られます。ただし、ここではオプション・ファイルを使用して、JOBS記憶領域および関連する.snpファイルの現在の場所を指定しています。
$ RMU/RESTORE/ONLY_ROOT MFPERS_122.RBF - _$ JOBS/OPTIONS=OPTIONS_FILE.OPT $ ! $ TYPE OPTIONS_FILE.OPT JOBS /FILE=[BIGLER.V41MFTEST.TEST1]JOBS.RDA - /SNAPSHOT=(FILE=BIGLER.V41MFTEST]JOBS.SNP)
例6
次の例は、Noset_Tsn修飾子とNoupdate_Files修飾子を使用し、領域別バックアップ・ファイルを使用してデータベースをリストアする方法を示します。さらに、RMU Restoreコマンドの自動リカバリ機能も示します。
$ ! $ SET DEFAULT DISK1:[USER] $ ! $ ! Create .aij files for the database. Because three .aij files are $ ! created, fixed-size after-image journaling will be used. $ ! $ RMU/SET AFTER_JOURNAL/ENABLE/RESERVE=4 - _$ /ADD=(name=AIJ1, FILE=DISK2:[CORP]AIJ_ONE) - _$ /ADD=(name=AIJ2, FILE=DISK2:[CORP]AIJ_TWO) - _$ /ADD=(NAME=AIJ3, FILE=DISK2:[CORP]AIJ_THREE) - _$ MF_PERSONNEL %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery $ ! $ ! $ ! For the purposes of this example, assume the backup operation $ ! recommended in the preceding warning message is done, but $ ! that the time between this backup operation and the following $ ! operations is several months so that this backup file is too $ ! old to use in an efficient restore operation. $ ! $ ! Update the DEPARTMENTS table. $ ! $ SQL SQL> ATTACH 'FILENAME MF_PERSONNEL'; SQL> -- SQL> -- On Monday, insert a new row in the DEPARTMENTS table. The SQL> -- new row is stored in the DEPARTMENTS storage area. SQL> -- SQL> INSERT INTO DEPARTMENTS cont> (DEPARTMENT_CODE, DEPARTMENT_NAME, MANAGER_ID, cont> BUDGET_PROJECTED, BUDGET_ACTUAL) cont> VALUES ('WLNS', 'Wellness Center', '00188', 0, 0); 1 row inserted SQL> SQL> COMMIT; SQL> DISCONNECT DEFAULT; SQL> EXIT $ ! $ ! Perform a by-area backup operation, including half of the $ ! storage areas from the mf_personnel database. $ ! $ RMU/BACKUP/INCLUDE=(RDB$SYSTEM, EMPIDS_LOW, EMPIDS_MID, - _$ EMPIDS_OVER, DEPARTMENTS) MF_PERSONNEL - _$ DISK3:[BACKUP]MONDAY_FULL.RBF %RMU-I-NOTALLARE, Not all areas will be included in this backup file $ ! $ ! Update the SALARY_HISTORY table. $ ! $ SQL SQL> ATTACH 'FILENAME MF_PERSONNEL'; SQL> -- SQL> -- On Tuesday, one row is updated in the SQL> -- SALARY_HISTORY storage area. SQL> -- SQL> UPDATE SALARY_HISTORY cont> SET SALARY_END ='20-JUL-1993 00:00:00.00' cont> WHERE SALARY_START='14-JAN-1983 00:00:00.00' cont> AND EMPLOYEE_ID = '00164'; 1 row updated SQL> COMMIT; SQL> DISCONNECT DEFAULT; SQL> EXIT $ ! $ ! On Tuesday, back up the other half of the storage areas. $ ! $ RMU/BACKUP/INCLUDE=(SALARY_HISTORY, JOBS, EMP_INFO, - _$ MF_PERS_SEGSTR, RDB$SYSTEM) MF_PERSONNEL - _$ DISK3:[BACKUP]TUESDAY_FULL.RBF %RMU-I-NOTALLARE, Not all areas will be included in this backup file $ ! $ ! On Wednesday, perform additional updates. $ ! $ SQL SQL> ATTACH 'FILENAME MF_PERSONNEL'; SQL> -- SQL> -- Update another row in the SALARY_HISTORY table: SQL> UPDATE SALARY_HISTORY cont> SET SALARY_START ='23-SEP-1991 00:00:00.00' cont> WHERE SALARY_START='21-SEP-1981 00:00:00.00' cont> AND EMPLOYEE_ID = '00164'; 1 row updated SQL> COMMIT; SQL> DISCONNECT DEFAULT; SQL> EXIT $ ! $ ! Assume the database is lost on Wednesday. $ ! $ ! Restore the database root from the latest full-area backup file. $ ! $ RMU/RESTORE/ONLY_ROOT/NOUPDATE_FILES/NOSET_TSN - _$ DISK3:[BACKUP]TUESDAY_FULL.RBF/LOG %RMU-I-AIJRSTBEG, restoring after-image journal "state" information %RMU-I-AIJRSTJRN, restoring journal "AIJ1" information %RMU-I-AIJRSTSEQ, journal sequence number is "0" %RMU-I-AIJRSTSUC, journal "AIJ1" successfully restored from file "DISK2:[CORP]AIJ_ONE.AIJ;1" %RMU-I-AIJRSTJRN, restoring journal "AIJ2" information %RMU-I-AIJRSTNMD, journal has not yet been modified %RMU-I-AIJRSTSUC, journal "AIJ2" successfully restored from file "DISK2:[CORP]AIJ_TWO.AIJ;1" %RMU-I-AIJRSTJRN, restoring journal "AIJ3" information %RMU-I-AIJRSTNMD, journal has not yet been modified %RMU-I-AIJRSTSUC, journal "AIJ3" successfully restored from file "DISK2:[CORP]AIJ_THREE.AIJ;1" %RMU-I-AIJRSTEND, after-image journal "state" restoration complete %RMU-I-RESTXT_00, Restored root file DISK1:[USER]MF_PERSONNEL.RDB;1 %RMU-I-AIJRECBEG, recovering after-image journal "state" information %RMU-I-AIJRSTAVL, 3 after-image journals available for use %RMU-I-AIJRSTMOD, 1 after-image journal marked as "modified" %RMU-I-LOGMODSTR, activated after-image journal "AIJ2" %RMU-I-AIJISON, after-image journaling has been enabled %RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery %RMU-I-AIJRECEND, after-image journal "state" recovery complete $ ! $ ! Restore the database areas, starting with the most recent $ ! full-area backup file. (If the RDB$SYSTEM area is not in the $ ! most recent full-area backup file, however, it must be restored $ ! first.) Do not restore any area more than once. $ ! $ ! Specify the Norecovery qualifier since there are additional $ ! backup files to apply. $ ! $ RMU/RESTORE/AREA/NOCDD/NORECOVER - _$ DISK3:[BACKUP]TUESDAY_FULL.RBF - _$ RDB$SYSTEM, SALARY_HISTORY, JOBS, - _$ EMP_INFO, MF_PERS_SEGSTR/LOG %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]MF_PERS_DEFAULT.RDA;1 at 18-JUN-1997 16:14:40.88 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]SALARY_HISTORY.RDA;1 at 18-JUN-1997 16:14:41.28 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]JOBS.RDA;1 at 18-JUN-1997 16:14:41.83 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]EMP_INFO.RDA;1 at 18-JUN-1997 16:14:42.06 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]MF_PERS_SEGSTR.RDA;1 at 18-JUN-1997 16:14:42.27 %RMU-I-RESTXT_24, Completed full restore of storage area DISK1:[USER]JOBS.RDA;1 at 18-JUN-1997 16:14:42.49 %RMU-I-RESTXT_24, Completed full restore of storage area DISK1:[USER]EMP_INFO.RDA;1 at 18-JUN-1997 16:14:42.74 . . . %RMU-I-RESTXT_01, Initialized snapshot file DISK1:[USER]MF_PERS_DEFAULT.SNP;1 %RMU-I-LOGINIFIL, contains 100 pages, each page is 2 blocks long %RMU-I-RESTXT_01, Initialized snapshot file DISK1:[USER]EMP_INFO.SNP;1 %RMU-I-LOGINIFIL, contains 100 pages, each page is 2 blocks long . . . %RMU-I-AIJWASON, AIJ journaling was active when the database was backed up %RMU-I-AIJRECFUL, Recovery of the entire database starts with AIJ file sequence 0 %RMU-I-COMPLETED, RESTORE operation completed at 18-JUN-1997 16:14:46.82 $ ! $ ! Complete restoring database areas by applying the most $ ! recent full-area backup file. However, do not include $ ! the RDB$SYSTEM table because that was already restored $ ! in the previous restore operation. This restore $ ! operation will attempt an automatic recovery of the .aij files. $ ! $ RMU/RESTORE/AREA/NOCDD DISK3:[BACKUP]MONDAY_FULL.RBF - _$ EMPIDS_LOW, EMPIDS_MID, EMPIDS_OVER, DEPARTMENTS/LOG %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]EMPIDS_OVER.RDA;1 at 18-JUN-1997 16:20:05.08 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]EMPIDS_MID.RDA;1 at 18-JUN-1997 16:20:05.40 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]EMPIDS_LOW.RDA;1 at 18-JUN-1997 16:20:05.91 %RMU-I-RESTXT_21, Starting full restore of storage area DISK1:[USER]DEPARTMENTS.RDA;1 at 18-JUN-1997 16:20:06.01 %RMU-I-RESTXT_24, Completed full restore of storage area DISK1:[USER]EMPIDS_OVER.RDA;1 at 18-JUN-1997 16:20:06.24 . . . %RMU-I-RESTXT_01, Initialized snapshot file DISK1:[USER]DEPARTMENTS.SNP;1 %RMU-I-LOGINIFIL, contains 100 pages, each page is 2 blocks long %RMU-I-RESTXT_01, Initialized snapshot file DISK1:[USER]EMPIDS_LOW.SNP;1 %RMU-I-LOGINIFIL, contains 100 pages, each page is 2 blocks long . . . %RMU-I-AIJWASON, AIJ journaling was active when the database was backed up %RMU-I-AIJRECFUL, Recovery of the entire database starts with AIJ file sequence 0 %RMU-I-AIJRECARE, Recovery of area DEPARTMENTS starts with AIJ file sequence 0 %RMU-I-AIJRECARE, Recovery of area EMPIDS_LOW starts with AIJ file sequence 0 %RMU-I-AIJRECARE, Recovery of area EMPIDS_MID starts with AIJ file sequence 0 %RMU-I-AIJRECARE, Recovery of area EMPIDS_OVER starts with AIJ file sequence 0 %RMU-I-AIJBADAREA, inconsistent storage area DISK1:[USER]DEPARTMENTS.RDA;1 needs AIJ sequence number 0 %RMU-I-AIJBADAREA, inconsistent storage area DISK1:[USER]EMPIDS_LOW.RDA;1 needs AIJ sequence number 0 . . . %RMU-I-LOGRECDB, recovering database file DISK1:[USER]MF_PERSONNEL.RDB;1 %RMU-I-AIJAUTOREC, starting automatic after-image journal recovery %RMU-I-LOGOPNAIJ, opened journal file DISK2:[CORP]AIJ_ONE.AIJ;1 %RMU-I-AIJONEDONE, AIJ file sequence 0 roll-forward operations completed %RMU-I-LOGRECOVR, 1 transaction committed %RMU-I-LOGRECOVR, 0 transactions rolled back %RMU-I-LOGRECOVR, 2 transactions ignored %RMU-I-AIJNOACTIVE, there are no active transactions %RMU-I-AIJSUCCES, database recovery completed successfully %RMU-I-AIJALLDONE, after-image journal roll-forward operations completed %RMU-I-LOGSUMMARY, total 1 transaction committed %RMU-I-LOGSUMMARY, total 0 transactions rolled back %RMU-I-LOGSUMMARY, total 2 transactions ignored %RMU-I-AIJSUCCES, database recovery completed successfully %RMU-I-AIJGOODAREA, storage area DISK1:[USER]DEPARTMENTS.RDA;1 is now consistent %RMU-I-AIJGOODAREA, storage area DISK1:[USER]EMPIDS_LOW.RDA;1 is now consistent %RMU-I-AIJGOODAREA, storage area DISK1:[USER]EMPIDS_MID.RDA;1 is now consistent . . . %RMU-I-AIJFNLSEQ, to start another AIJ file recovery, the sequence number needed will be 0 %RMU-I-COMPLETED, RESTORE operation completed at 18-JUN-1997 16:20:11.45 $ ! $ ! The database is now restored and recovered. However, if $ ! for some reason the automatic .aij file recovery was not $ ! possible (for example, if you had backed up the .aij files), $ ! apply the .aij files in the same order in $ ! which they were created. That is, if .aij files were backed $ ! up each night, apply aij_mon.aij first and aij_tues.aij second.
例7
次の例は、Directory、FileおよびRoot修飾子の使用方法を示します。まずデータベースがバックアップされ、その後、2つの記憶領域ファイルと1つのスナップショット・ファイルが移動されます。ルート単独リストア操作によって次の処理が実行されます。
- デフォルト・ディレクトリがDISK2:[DIR]として指定されます。
- データベース・ルート・ファイルのターゲット・ディレクトリとファイル名は、Root修飾子で指定されています。Root修飾子に指定されたターゲット・ディレクトリは、Directory修飾子に指定されたデフォルト・ディレクトリよりも優先されます。このため、RMU Restore Only_Rootプロセスがデータベース・ルートをDISK3:[ROOT]にリストアし、名前をCOPYRDB.RDBと付けます。
- EMPIDS_MID記憶領域のターゲット・ディレクトリはDISK4:[FILE]です。RMU Restore Only_Rootプロセスが、EMPIDS_MIDが現在はDISK4:[FILE]に存在することを示すようにデータベース・ルート・ファイルを更新します。
- EMPIDS_MIDスナップショット・ファイルのターゲットはDISK5:[SNAP]EMPIDS_MID.SNPです。このため、RMU Restore Only_Rootプロセスが、EMPIDS_MIDスナップショット・ファイルが現在はDISK5:[SNAP]EMPIDS_MID.SNPに存在することを示すようにデータベース・ルート・ファイルを更新します。
- EMPIDS_LOW記憶領域のターゲット・ファイル名はEMPIDSです。このため、RMU Restore Only_Rootプロセスは、EMPIDS_LOW記憶領域が現在はDISK2デフォルト・ディレクトリ(Directory修飾子で指定)に存在し、ファイルの名前が現在はEMPIDS.RDAであることを示すようにデータベース・ルート・ファイルを更新します。
- EMPIDS_LOWスナップショット・ファイルのターゲットはDISK5:[SNAP]EMPIDS.SNPです。このため、RMU Restore Only_Rootプロセスが、EMPIDS_LOWスナップショット・ファイルが現在はDISK5:[SNAP]EMPIDS.SNPに存在することを示すようにデータベース・ルート・ファイルを更新します。
- 他のすべての記憶領域ファイルとスナップショット・ファイルのデータは、データベース・ルート・ファイルで変更されません。
$ ! Back up the database: $ ! $ RMU/BACKUP MF_PERSONNEL.RDB MF_PERSONNEL.RBF $ ! $ ! Move a couple of storage areas and a snapshot file: $ ! $ RMU/MOVE_AREA MF_PERSONNEL.RDB - _$ /DIRECTORY=DISK2:[DIR] - _$ EMPIDS_MID/FILE=DISK4:[FILE] - _$ /SNAPSHOT=(FILE=DISK3:[SNAP]EMPIDS_MID.SNP), - _$ EMPIDS_LOW/FILE=EMPIDS - _$ /SNAPSHOT=(FILE=DISK5:[SNAP]EMPIDS.SNP) $ ! $ ! Database root is lost. Restore the root and update the $ ! locations of the moved storage areas and snapshot file as $ ! recorded in the database root file because the locations $ ! recorded in the backup file from which the root is restored $ ! are not up-to-date: $ ! $ RMU/RESTORE/ONLY_ROOT MF_PERSONNEL.RBF - _$ /ROOT=DISK3:[ROOT]MF_PERSONNEL.RDB - _$ EMPIDS_MID/FILE=DISK4:[FILE] - _$ /SNAPSHOT=(FILE=DISK2:[DIR]EMPIDS_MID.SNP), - _$ EMPIDS_LOW/FILE=DISK2:[DIR]EMPIDS - _$ /SNAPSHOT=(FILE=DISK5:[SNAP]EMPIDS.SNP)