Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

バックアップとリストア

この章では、Caché システムの確かなバックアップ計画を立てる際に考慮すべき要素について説明します。バックアップの整合性と復元可能性を確保する方法および推奨バックアップ方法について説明します。さらにこの章では、Caché ユーティリティなどのサードパーティ・ユーティリティを使用してこれらの作業を実行する手順についても詳しく説明します。以下のトピックについて説明します。

バックアップ方法は、オペレーティング・システム、使用するバックアップ・ユーティリティ、ディスク構成、バックアップ・デバイスなどによって異なる場合があります。ご使用の環境に適したバックアップ方法の開発や現在のバックアップ方法の見直しのために詳細な情報が必要な場合は、インターシステムズのサポート窓口Opens in a new tabにお問い合わせください。

バックアップの整合性と復元可能性

バックアップ方法に関係なく、定期的にバックアップをリストアして、ご使用の手順を検証する必要があります。最善の方法は、運用環境のあらゆるバックアップを代替サーバにリストアしてから、リストアしたデータベースの整合性を検証することです (詳細は、このガイドの “データ整合性の概要” の章にある "構造的な整合性の検証" を参照)。これには以下のメリットがあります。

  • バックアップ・メディアの復元可能性を検証します。

  • バックアップ内のデータベースの物理的な整合性を検証し、実行中の更新の影響を受けている揮発性データベースで整合性チェックを実行したときに整合性エラーが誤って報告されるという問題を回避します。

  • バックアップのウォーム・コピーを提供し、災害時のバックアップのリストアに必要な時間を大幅に短縮します。そのような事態が発生した場合でも、必要な処理はジャーナル・ファイルの更新のリストアのみです。

  • 最後の良好なバックアップを構築します。

このドキュメントで説明するバックアップ方法では、データベースの物理構造が保持されます。したがって、リストアされたコピーの整合性チェックを完全に行い、それに問題がなければ、バックアップ時点のプロダクション・データベースの整合性にも問題がなかったことを意味します。ただし、その逆は True ではありません。リストアされたデータベースのコピーに整合性のエラーが検出されても、それは必ずしもプロダクション・データベースの整合性に問題があったことを意味しません。例えば、バックアップ・メディアにエラーが発生した可能性もあります。リストアされたデータベースで整合性エラーが検出された場合は、即座に実稼動データベースで整合性チェックを行い、プロダクション・システムの整合性を検証してください。

リストアされたデータベースでアプリケーションが適切に動作することを検証するには、アプリケーション・レベルでチェックを実行することも可能です。これらのチェックを実行するには、ジャーナル・ファイルをリストアしてトランザクションの整合性をリストアすることが必要な場合もあります。詳細は "ジャーナルの重要性" を参照してください。

バックアップをリストアし、それからリカバリが可能であることを確認したら、次の良好なバックアップが作成されるまでそのコピーを保持しておくことをお勧めします。したがって、バックアップの検証に使用するサーバには、最新の良好なバックアップと現在検証中のバックアップを格納するために、プロダクション領域の 2 倍のストレージ領域があることが理想的です(ニーズによっては、バックアップのリストアに使用するストレージ・デバイスの性能の要件は厳しくなく、ストレージ・ソリューションがより安価であっても問題がない場合があります)。このようにすると、現在のバックアップが失敗しても、災害時に最新の良好なバックアップがすぐに使用できる状態にあります。データ・センタを破壊する可能性がある災害から企業のデータベースを保護するには、定期的にバックアップ・メディアを安全なオフサイトの場所に送ります。

ジャーナルの重要性

Caché データベースをバックアップするだけでは、プロダクション・データのリストアには不十分です。障害が発生し、バックアップからリストアする必要が生じた場合は、リストアしたデータベースのコピーにもジャーナル・ファイルを適用する必要があります。ジャーナル・ファイルを適用すると、バックアップの時点から障害発生時までの間にジャーナルに記述された更新がすべてリストアされます。また、コミットされていないトランザクションをロールバックして、データベースのトランザクションの整合性をリストアするには、ジャーナルを適用する必要があります。

リカバリのためにジャーナルの可用性を確保することに関する重要な情報については、このドキュメントの “ジャーナリング” の章の "ジャーナリングの最善の使用方法" を必ず参照してください。特に、そのセクションで説明されるように、パフォーマンスと復元可能性を高めるために、プライマリおよび代替ジャーナル・ディレクトリは、それぞれ異なるストレージ・デバイスに配置し、データベースやライト・イメージ・ジャーナル (WIJ) が使用しているストレージ・デバイスとも異なるストレージ・デバイスに配置することをお勧めします。

Important:

定期的にディザスタ・リカバリの方法全体を最初から最後までテストする必要があります。これには、バックアップのリストア、ジャーナルのリストア、およびリストアされた環境でのユーザの操作のシミュレーションが含まれます。

バックアップの方法

Caché データをバックアップする最適な方法は、外部バックアップと Caché オンライン・バックアップです。このセクションでは、この 2 つの方法と、目的が特殊なその他の方法について説明します。

外部バックアップ

外部バックアップは、現時点で Caché のバックアップに推奨される最適な方法です。外部バックアップは、既存のシステム・バックアップ手順に簡単に統合でき、通常はダウンタイムなしでバックアップできることを見越しておけます。外部バックアップは主に、論理ディスク・ボリュームの有効な “スナップショット” を迅速に作成するテクノロジと共に使用します。このようなテクノロジは、ストレージアレイからオペレーティング・システム、ディスクの単純なミラーリングに至るまで、さまざまなレベルで存在します。このセクションでは、スナップショット・テクノロジが使用できないシステムに関する特別な考慮事項についても説明します。

スナップショットの整合性を確保するために、Caché には、スナップショットの作成中にデータベースへの書き込みをフリーズする方法があります。スナップショットの作成中は、データベース・ファイルへの物理的な書き込みのみがフリーズされ、ユーザ・プロセスによるメモリ内の更新は引き続き実行できます。このスナップショットは通常、システムで使用中のファイル・システムすべてのスナップショットになります。このスナップショットには、少なくとも Caché が使用するすべてのディレクトリが何らかの形で収録されています。このディレクトリには、インストール・ディレクトリ、データベース・ディレクトリ、ジャーナルおよび代替ジャーナル・ディレクトリ、WIJ ディレクトリ、Caché で使用する外部ファイルを格納したあらゆるディレクトリなどがあります。書き込みができるようになったら、スナップショットをテープにバックアップすることができます。その後、実働環境に再結合するか、またはウォーム・バックアップとしてオンラインのままにしておくことができます (使用されている具体的なテクノロジによって異なる)。

Note:

Caché は、そのデータベースに代わってライターとして機能することによって、Windows でボリューム シャドウ コピー サービス (VSS) をサポートします。VSS シャドウに含まれる Caché データベースのコピーは、トランザクションに関しては論理的に一貫性はありませんが、物理的には一貫性があるため、個別にリストアできます。これらのリストアされたデータベースのトランザクションの整合性を確保するには、ジャーナル・ファイルもリストアする必要があります。 VSS シャドウ作成時にマウントされたデータベースのみが、VSS シャドウに含まれます。

使用中のデータベースの整合性チェック実行時にエラーが誤って報告されるという問題を回避するために、ファイル・システムのスナップショットが取られた直後にデータベースがチェックされるように、整合性チェックをこのセクションで説明したような手順に統合することができます。(データベース整合性のチェックに関する詳細は、このガイドの “データ整合性の概要” の章にある "構造的な整合性の検証" を参照してください)。

以下の表に、外部バックアップ方法のメリットとデメリットを示します。

メリット デメリット

ほとんどのシステムで、ユーザの操作が停止されることなく、ダウンタイムなしのバックアップが可能です。

書き込みのフリーズが 10 分を超える場合に、引き続きユーザに実行を許可するには、特別な考慮が必要になります。

既存のバックアップ手順と簡単に統合できます。

 

データベースをフリーズするクラス・メソッドは Backup.General.ExternalFreeze()Opens in a new tab で、フリーズを解除するクラス・メソッドは Backup.General.ExternalThaw()Opens in a new tab です。書き込みの停止に加えて、フリーズする方法では、ジャーナル・ファイルの切り替えやジャーナルへのバックアップ・マーカの書き込みも処理されます。データベースの物理的な書き込みがフリーズされている間も、ジャーナル・ファイルには引き続き正常に書き込まれます。データベースの物理的な書き込みがフリーズしている間にシステムがクラッシュした場合、通常どおり起動時にジャーナルからデータがリカバリされます。

要約すると、外部バックアップの手順は以下のようになります。

  1. Backup.General.ExternalFreeze()Opens in a new tab メソッドを使用して、データベースへの書き込みをフリーズします。このメソッドをさまざまなプラットフォームで使用する例が、クラス・ドキュメントに含まれています。

    Note:

    セキュリティ構成で、バックアップ・スクリプトが Caché 資格情報を提供するように求められる場合、必要な資格情報が含まれているファイルから入力をリダイレクトすることにより、これを実行できます。あるいは、OS レベルの認証を有効にし、スクリプトを実行している OS ユーザの Caché アカウントを作成できます。

  2. 外部のスナップショット・ユーティリティを使用して、ファイル・システムのスナップショットを作成します。

  3. Backup.General.ExternalThaw()Opens in a new tab メソッドを使用して、Caché 書き込みを再開します。

  4. バックアップ・メディアにスナップショットをコピーします。

これらのメソッドのプラットフォーム固有の例については、"インターシステムズ・クラス・リファレンス" の "Backup.GeneralOpens in a new tab" クラスのドキュメントを参照してください。

スナップショット・テクノロジが使用できないシステムの場合、上記のスナップショットの作成をファイル・システムのコピーに置き換えることにより、外部バックアップ・アプローチで低速のファイル・システム・コピーを使用できます。これは以下のいずれかの方法で実行するか、または必要に応じて Caché オンライン・バックアップ を代替手段として使用することができます。

  • ダウンタイムの追放Backup.General.ExternalFreeze()Opens in a new tab を呼び出すときに ExternalFreezeTimeOut パラメータの値を指定し、フリーズ中でもデータベースの更新をメモリのバッファに格納できるように、十分なデータベース・キャッシュを構成しておきます。この場合、ユーザは物理的な書き込みがフリーズしている間に、最大で ExternalFreezeTimeOut に指定した値まで操作を続行できます。ジャーナリングは、書き込みがフリーズされている間にシステム・クラッシュが発生した場合に、データが失われないようにするうえで重要です。クラッシュが発生した場合は、通常よりもシステムの起動に時間がかかる可能性があります。[エラー発生時に凍結する] に対するジャーナルの設定は、[はい] に設定する必要があります (詳細は、このドキュメントの “ジャーナリング” の章の "ジャーナル入出力エラー" のセクションを参照)。

  • ユーザ操作の停止:フリーズ時間として想定する時間の既定値を 10 分にします。この時間が経過すると、Backup.General.ExternalThaw()Opens in a new tab が呼び出されるまで、ユーザの操作は一時停止状態になります。

Important:

バックアップされているインスタンスがミラーのプライマリ・フェイルオーバー・メンバである場合 ("Caché 高可用性ガイド" の “ミラーリング” の章を参照)、外部フリーズが Backup.General.ExternalFreeze()Opens in a new tabExternalFreezeTimeOut パラメータの指定よりも長く更新を中断しないようにする必要があります。指定時間より長い中断が起こると、ミラーがバックアップ・フェイルオーバー・メンバにフェイルオーバーし、その結果、進行中のバックアップ操作が終了されてしまいます。

Caché オンライン・バックアップ

Caché には、プロダクション・システムのユーザが、ダウンタイムをほとんど、またはまったく経験しないよう設計された、専用のバックアップ・メカニズムが実装されています。Caché オンライン・バックアップでは、CACHE.DAT ファイルのデータのみがバックアップされ、データベース内でデータに割り当てられているブロックがすべて取得されます。シーケンシャル・ファイルに出力されます。このバックアップ方法は、システム・バックアップと連係させて、Caché オンライン・バックアップの出力ファイルを、他のファイルと共にバックアップ・メディアにコピーする必要があります。通常、システム・バックアップには、システムで使用されているすべてのファイル・システム (CACHE.DAT ファイルは除く) を含める必要があります。少なくとも、インストール・ディレクトリ、ジャーナルおよび代替ジャーナル・ディレクトリ、CSP ファイル、および Caché で使用される外部ファイル (CACHE.DAT ファイルは除外) を格納したあらゆるディレクトリを含める必要があります。

Caché オンライン・バックアップ・プロシージャでは、複数のパスを使用してデータがコピーされます。前のパスにある間に変更されたデータ・ブロックのリストがコピーされますが、連続的なパスを経るにつれ、通常、このリストはしだいに小さくなります。一般に、バックアップを完了するには 3 つのパスで十分です。最終パスの期間全体と、先行する各パスにある間の短期間、データベースへの書き込みが停止されます。バックアップの際にデータベースへの物理的な書き込みが一時停止している間も、ユーザ・プロセスによるメモリ内の更新は引き続き実行できます。

以下の表に、オンライン・バックアップ方法のメリットとデメリットを示します。

メリット デメリット

ほとんどのシステムで、ダウンタイムなしのバックアップが可能です。古い形式のデータベースを使用している場合は、最小限のユーザ操作の停止時間が発生します。

バックアップされるのはデータベースのみで、外部ファイルはバックアップされません。

定期的な累積バックアップやインクリメンタル・バックアップをサポートします。

1 つのデータベースをリストアするには、バックアップ・ファイル全体を処理する必要があります。

全社クラスのストレージは不要です。

リストアを実行するには、Caché のインスタンスを実行しておく必要があります。

 

データ量が大きすぎてリストアしにくい場合があります。

 

暗号化データベースのバックアップは暗号化されません。

オンライン・バックアップには以下の種類があります。これらを組み合わせることによって、バックアップ出力のサイズとバックアップからの回復に要する時間のバランスを調整できます。

  • フル・バックアップ — 使用中のすべてのブロックのイメージをバックアップ・メディアに書き込みます。

  • 累積バックアップ — 最後のフル・バックアップ以降に変更されたすべてのブロックを書き込みます。以前のフル・バックアップと共に使用する必要があります。

  • インクリメンタル・バックアップ — タイプに関係なく最後に行われたバックアップ以降に変更されたすべてのブロックを書き込みます。以前のフル・バックアップと共に使用する必要があります。また、必要に応じてそのフル・バックアップ以降に実行した累積バックアップあるいはインクリメンタル・バックアップも使用します。

オンライン・バックアップを使用する場合は、最初にフル・バックアップを実行する必要があります。累積バックアップおよびインクリメンタル・バックアップ (またはこのいずれか) は、その後で実行できます。

オンライン・バックアップでは、すべてのデータベース・ブロックがインターリーブ方式で 1 つのファイル (または 1 セットのテープ) に書き込まれます。極端に大きいデータをオンライン・バックアップでバックアップした場合、リストアは煩雑になる可能性があります。このような場合は、バックアップ方法の計画時に対応を検討します。

リストア検証プロセスでは、リストアされたデータベースのコピーがオンラインで提供されるため、制約の解消に役立ちます。このバックアップ検証方法は、インクリメンタル・バックアップや累積バックアップにも使用されます。インクリメンタル・バックアップまたは累積バックアップは、それぞれ実行後に直ちに代替サーバにリストアできます。例えば、フル・バックアップを毎週行い、インクリメンタル・バックアップを毎日行う計画を立てたとします。毎日のバックアップそれぞれには、その日に変更されたブロックのみが含まれているので、問題は発生しません。この方法を使用すると、毎日そのインクリメンタル・バックアップを代替サーバにリストアし、リストアされたデータベースの整合性を確認する必要があります。

現在検証中のバックアップをリストアする際は、健全性が確認された最新のバックアップのウォーム・コピーを上書きしないようにする必要があります。また、既存のリストアされたデータベースにインクリメンタル・バックアップをリストアする場合にもこれに注意する必要があります。バックアップが最新で健全性にも問題がないと判定された時点から、それに次の日のインクリメンタル・バックアップまたは累積バックアップを適用するまでの間は、それ以降のインクリメンタル・リストアに失敗した場合に備えて、コピーを保存し、最新の健全なバックアップを常にオンラインで使用できるようにしておく必要があります。リストアしたバックアップで整合性の問題が検出された場合は、そのバックアップを破棄しなければいけません。以降のインクリメンタル・リストアのターゲットに使用することはできません。

オンライン・バックアップからシステムをリストアする場合は、最初に最新のフル・バックアップを、次に最新の累積バックアップを、その後で、その累積バックアップ以降に行ったすべてのインクリメンタル・バックアップをリストアします。

Caché オンライン・バックアップの構成の詳細は、この章の "Caché オンライン・バックアップ設定の構成" を参照してください。Caché オンライン・バックアップの管理の詳細は、この章の "Caché オンライン・バックアップの管理" を参照してください。

コールド・バックアップ

コールド・バックアップとは、Caché が正常にシャットダウンされたときに行われる、システムの外部バックアップのことです。このバックアップは通常、システムで使用中のファイル・システムすべてのバックアップになります。少なくとも、何らかの方法で Caché が使用するすべてのディレクトリになります。これには、インストール・ディレクトリ、データベース・ディレクトリ、ジャーナルおよび代替ジャーナル・ディレクトリ、WIJ ディレクトリ、および Caché で使用される外部ファイルを格納したあらゆるディレクトリなどがあります。この方法は、Caché が通常夜間に停止されるシステムに適しています。

以下の表に、コールド・バックアップ方法のメリットとデメリットを示します。

メリット デメリット

手順が簡単です (Caché の停止とインスタンス全体のコピー)。

Caché は使用できません。

Caché の停止中にシステムをバックアップすることが役に立つ場合があります。

 

レガシー並行外部バックアップ

レガシー並行外部バックアップ方法は、“ダーティ・バックアップ” とも呼ばれています。レガシー並行外部バックアップは、Caché にダウンタイムなしのバックアップ実行機能ができる前に設計されました。このダウンタイムなしのバックアップは、“外部バックアップ” と “Caché オンライン・バックアップ” の両方で使用可能で、最小限のダウンタイムで外部バックアップを実行できるように設計されています。現在、このバックアップ方法は極めて特殊なケースでしか実用的ではありません。通常は、対象の環境に以下の条件の 1 つまたは複数が存在する場合にのみ使用します。

  • Caché がクラスタ化されていて、バックアップ時のダウンタイムを最小限に抑える必要がある場合。これは、他のバックアップ方法ではダウンタイムなしのバックアップが使用できないようなクラスタに限られます。

  • スナップショット・テクノロジを使用できない場合。スナップショット・テクノロジが使用可能な場合は、レガシー並行外部バックアップよりもダウンタイムの発生が少ない外部バックアップを使用できます。

  • Caché オンライン・バックアップでは、要件を満たせない場合。Caché オンライン・バックアップは、より簡単な方法であると同時に、レガシー並行外部バックアップよりも発生するダウンタイムが少なくなります。

レガシー並行外部バックアップ方法は、通常のデータベースの書き込みが行われている間にシステムの外部バックアップを実行できるようにすることによって機能します。この方法で取得したデータベースのコピーは、破損している (“ダーティ”である) と予想されます。このコピーの後に Caché オンライン・バックアップのインクリメンタル・バックアップを行います。これにより、ダーティ・コピーが行われている間に変更されたすべてのデータベース・ブロックが取得されます。バックアップのリストア時には、まずデータベースのコピーをリストアし、続いてインクリメンタル・バックアップをリストアします。詳細な手順は以下のとおりです。

  1. 最新のバックアップ以降に変更されたデータベース・ブロックのリストを削除します。

     Do CLRINC^DBACK("QUIET")

    詳細は、この章の "CLRINC^DBACK" を参照してください。

  2. 選択したオペレーティング・システム、またはサードパーティのバックアップ・ユーティリティを使用して、CACHE.DAT データベース・ファイルをコピーします。

  3. 外部バックアップ・ユーティリティを使用したことを示す E パラメータを使用して、$$BACKUP^DBACK を呼び出します。以下に例を示します。

     Set x=$$BACKUP^DBACK("","E","Dirty external backup - incrementals must be applied.","","","")

    詳細は、この章の "BACKUP^DBACK" を参照してください。

  4. Caché のインクリメンタル・バックアップを実行します。これによって、CACHE.DAT ファイルのコピー中に変更されたブロックがすべてコピーされます。構成によっては、このときにごく短時間ですがユーザ・プロセスが一時停止する場合があります。

     Set x=$$BACKUP^DBACK("","I","Nightly","test.bck","N","bck.log","QUIET","N","Y")
    

    詳細は、この章の "BACKUP^DBACK" を参照してください。

以下の表に、レガシー並行外部バックアップ方法のメリットとデメリットを示します。

メリット デメリット

他の推奨アプローチのいずれも使用できないサイトにおいて、停止時間がほとんど、あるいはまったく発生せずにバックアップ可能な方法です。

複数のファイルをリストアする必要があります (CACHE.DAT データベース・ファイルとインクリメンタル・バックアップ・ファイル)。このため、リストア処理に長時間を要します。

 

手順が複雑です。

 

リストアを実行するには、Caché のインスタンスを実行しておく必要があります。

バックアップからのリストア

定期的にバックアップをリストアして、ご使用の手順をテストする必要があります。この章の "バックアップの整合性と復元可能性" のセクションの説明に従って、検証時にはあらゆるバックアップを代替サーバにリストアし、リストアのウォーム・コピーとして機能するようにすることをお勧めします。

バックアップ・リストアは、複雑かつ時間がかかる場合がありますが、定期的にリストアを実施しておくことで、関連するリスクの軽減に役立ちます。バックアップ・リストアは、大規模な災害復旧計画の一環として検討する必要があります。Caché シャドウイング および Cach ミラーリング も、災害復旧時の代替機能になります。

バックアップ・リストアのシナリオに関するヘルプの詳細は、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。

このセクションでは、以下のトピックについて説明します。

バックアップ・リストアのシナリオ

バックアップ・リストアを実行するには、さまざまなシナリオがあります。多くの場合、一連の固有の要件やリストア手順があります。このセクションでは、各種バックアップ方法のバリエーションを含め、以下の一般的なリストア・シナリオについて説明します。

  • システム全体のリストア — Caché またはシステムで使用中のストレージのすべてまたは大部分が、全体として使用不可能と見なされた場合に使用します。バックアップ・メディアからシステムのフル・バックアップをリストアして、実働環境で使用できる状態まで Caché をリカバリする必要があります。

  • データベースのみのリストア — Caché データベースの一部またはすべてが使用不可能と見なされ、バックアップからリカバリする必要がある場合に使用します。

  • 別のシステムへのデータベースのリストア/移行 — 1 つ以上のデータベースが別のシステムにリストアされる場合に使用します。ターゲット・システムでは、新しいハードウェアや異なるプラットフォームを使用することも、同一ハードウェア上に別の Caché インスタンスを稼働させることも可能です。ターゲット・システムでは、ファイル・システムのレイアウトが異なっていてもかまいません。これは、データベースをバックアップ・メンバまたは非同期ミラー・メンバに追加する場合 ("Caché 高可用性ガイド" の “ミラーリング” の章を参照)、またはシャドウの宛先と同期化する場合 (このドキュメントの “シャドウイング” の章を参照) に使用できます。

Important:

バックアップを作成した Caché インスタンスと異なるインスタンスにデータベースをリストアまたは移行する場合、データの互換性がなくならないように、以下の要件を満たしている必要があります。

  • ターゲット・インスタンスは、ソース・インスタンスと同じ文字幅 (8 ビットまたは Unicode。"Caché インストール・ガイド" の "Caché の文字幅" を参照) および同じロケール ("Caché システム管理ガイド" の “Caché の構成” の章にある "管理ポータルの NLS 設定ページの使用法" を参照) を使用している必要があります。

    この要件には 1 つの例外があります。ISO 8859 Latin-1 文字セットに基づくロケールを使用している 8 ビットのインスタンスには、それに一致する幅の文字ロケールを使用している Unicode のインスタンスとの互換性があります。例えば、enu8 ロケールを使用している 8 ビットのインスタンスで作成したデータベースは、enuw ロケールを使用している Unicode のインスタンスで使用できます。

  • ソース・インスタンスとターゲット・インスタンスがエンディアンの異なるシステム上に存在する場合 (このリリース用のオンライン・ドキュメント "インターシステムズでサポートされるプラットフォームOpens in a new tab" の “サポート対象テクノロジ” のセクションの “プラットフォームのエンディアン” を参照)、使用前にデータベースをターゲット・インスタンスのエンディアンに変換する必要があります。その手順については、"エンディアンに関する注意事項" を参照してください。

システム全体のリストア

このシナリオでは、以下の開始点を想定しています。

  • リストアが実行されているシステムは、バックアップを生成したシステムと同一のシステムです。

  • すべてのファイル・システム (あるいは、少なくともバックアップ済みのすべてのファイル) は、バックアップ・メディアからリストアされており、オペレーシング・システム・レベルでのパス名は変更されていません。

  • Caché はダウンしており、リストア以降は起動されていません。

外部バックアップまたはコールド・バックアップからのシステム全体のリストア

この章で前述した "外部バックアップ" または "コールド・バックアップ" の手順を使用した場合、データベースは物理的な整合性が保たれた状態にリストアされますが、トランザクションの整合性をリストアするには、少なくともトランザクションのロールバックが必要になります。また、トランザクションのロールバック操作の前に、バックアップの時点以降のジャーナル・ファイルを適用することもあります。このセクションでは、必要なジャーナル・リストアとトランザクションのロールバックに使用する 2 つの推奨手順について説明します (実行したバックアップおよびリストアの詳細に応じて、どちらかの推奨手順を使用します)。

リストアされたシステムのイメージが、CACHE.WIJ ファイルとジャーナル・ファイルを含むある一瞬の Caché の全要素のスナップショット (クラッシュ整合性イメージ) であり、それよりも新しい適用対象のジャーナル・ファイルが存在しない場合は、通常どおりに Caché を起動できます。Caché は、ジャーナル・リカバリとトランザクションのロールバックを自動的に実行します。これは、メンテナンス・モードで Caché を起動する場合にも当てはまります ("メンテナンス・モードによる Caché の起動" を参照)。

Note:

上記の推奨手順は、通常の外部バックアップ手順 ("外部バックアップ" および "コールド・バックアップ" を参照) が使用されていない場合でも、システム全体のクラッシュ整合性イメージがリストアされた後に適用します。 その場合、リストア・イメージ内のデータベース・ファイルは、物理的な整合性が保たれていない可能性があります。ただし、そうしたデータベース・ファイルは、ジャーナル・リカバリとトランザクションのロールバックが自動実行される前に、CACHE.WIJ ファイルから自動的にリカバリされます。リカバリの詳細は、"基本的なデータ整合性の保護" と、このガイドの “データ整合性の概要” の章にある各セクションを参照してください。

リストア・イメージに、ある一瞬の Caché の全要素 (CACHE.WIJ ファイル、ジャーナル・ファイル、およびその他の Caché ファイル) が含まれていない場合や、そのときよりも新しい適用対象のジャーナル・ファイルがある場合は、手動でジャーナル・ファイル・リストア (トランザクションのロールバックを含む) を実行するために、以下の手順を使用する必要があります。

Important:

この手順では、CACHE.WIJ ファイルがバックアップ・スナップショットの一部としてバックアップされていて、そのファイルがデータベース・ファイルなどのファイルおよびファイル・システムと共にリストアされていることを前提としています。バックアップとリストアの手順を計画する際には、この方法をお勧めします。バックアップに CACHE.WIJ ファイルが含まれていない場合は、"自動 WIJ およびジャーナル・リカバリを使用しない Caché の起動" のセクションに記載された Caché の起動方法の詳細を参照してください。

  1. メンテナンス・モードで Caché を起動して ("メンテナンス・モードによる Caché の起動" を参照)、ジャーナル・リストアを実行してからユーザがシステムにアクセスできるようにします。

  2. ジャーナル・リストアは、"バックアップ・リストア後のジャーナル・リストア" の説明に従って実行します。

  3. ジャーナル・リストアが完了すると、アプリケーションの検証やその他のメンテナンスを必要に応じて実行できます。

  4. 通常どおりに Caché を再起動して、ユーザがシステムにアクセスできるようにします。

Caché オンライン・バックアップまたはレガシー並行外部バックアップからのシステム全体のリストア

このセクションの以降の部分では、Caché オンライン・バックアップまたはレガシー並行外部バックアップのユーザを対象に、システム全体のリストアについて説明します。Caché オンライン・バックアップ・リストアを実行して、バックアップ出力ファイルからデータベースをリストアする必要があります。Caché オンライン・バックアップでは、この章の "Caché オンライン・バックアップ" のセクションで説明されているように、バックアップ出力ファイルはシステム全体のバックアップの一環としてバックアップ・メディアに書き込まれます。

Caché オンライン・バックアップ・リストアは、実行中の Caché インスタンスに対してのみ実行できます。そのため、このシステム全体をリストアするシナリオでは、プライマリ・インスタンスのデータベースのリストアを実行するためにインストールされた別の Caché セカンダリ・インスタンスを使用する必要があります。リストア中のデータベースでは、セカンダリ・インスタンスにデータベース定義もネームスペース定義も不要です。

セカンダリ・インスタンスは、Caché インストーラを実行し、プライマリ・インスタンスとは異なるインスタンス名とインストール・ディレクトリを選択することで、このリストア手順の一環としてインストールすることができます。あるいは、リストア時にこの手順を回避するには、Caché オンライン・バックアップ方法の使用を決めたときに、セカンダリ “リストア” インスタンスをインストールします。このセカンダリ・インスタンスは常に停止状態にしておき、システム全体のバックアップの一環としてインストール・ディレクトリをバックアップしておく必要があります (つまり、これはセカンダリ・インスタンスのコールド・バックアップになります)。プライマリ・インスタンスの Caché オンライン・バックアップ・リストアを実行するために、システム全体のリストア中にセカンダリ・インスタンスを簡単に起動できます。

システム全体のリストア後に Caché のオンライン・バックアップまたはレガシー並行外部バックアップからリストアするには、以下の手順を実行します。

  1. Caché のセカンダリ・インスタンスを使用し、この章の "Caché オンライン・バックアップ・リストア・ユーティリティ" のセクションの指示に従って、以下の手順を実行します。

    1. 最新のフル・バックアップをリストアします (レガシー並行外部バックアップを使用すると、ファイル・システムのリストア中にフル・バックアップは外部でリストアされています)。

    2. フル・バックアップの後に累積バックアップを実行している場合は、最新の累積バックアップをリストアします。累積バックアップを実行していない場合は、次の手順に進んでください。

    3. 最新の累積バックアップ (存在する場合)、または最新のフル・バックアップ (累積バックアップが存在しない場合) 以降に実行されたすべてのインクリメンタル・バックアップを、バックアップが実行された順序に従ってリストアします。

  2. Caché のセカンダリ・インスタンスを使用し、この章の "バックアップ・リストア後のジャーナル・リストア" のセクションの指示に従います。

  3. Caché のセカンダリ・インスタンスをシャットダウンします。

  4. 重要:この章の "自動 WIJ およびジャーナル・リカバリを使用しない Caché の起動" のセクションの説明に従って、プライマリ・インスタンスを起動します。この手順では、Caché がメンテナンス・モードで実行状態を維持するので、アプリケーションの検証やその他のメンテナンスを実行できます。

  5. 通常どおりに Caché を再起動して、ユーザがシステムにアクセスできるようにします。

データベースのみのリストア

このシナリオでは、以下の開始点を想定しています。

  • リストアが実行されているシステムは、バックアップを生成したシステムであり、データベースは元の場所にリストアされます。

  • リストアが必要な一連のデータベースを特定しておきます。

  • Caché が起動しており、ユーザが他のデータベースに正常にアクセスしていることがあります。リストアが必要なデータベースを起動する必要がない場合があります。

  • Caché を完全に起動できない場合は、リストアが必要なデータベースを起動する必要があるか、または起動を妨げる破損が生じている可能性があります。

Note:

外部バックアップまたはコールド・バックアップを使用しており、リストア対象のデータベースが複数存在している場合は、Caché をシャットダウンしてすべての CACHE.DAT をリストアし、この章の "システム全体のリストア" のセクションの説明にあるリストア手順を実行するとより簡単です。特に CACHESYS データベースをリストアする必要がある場合は、このケースに該当します。

以下は、データベースのみのリストアを実行する方法です。

  1. Caché が起動していない場合は、この章の "メンテナンス・モードによる Caché の起動" のセクションの説明に従って起動します。Caché を起動すると、既存のデータベースに対する保留中の自動リカバリがあれば直ちに行われるため、今後の起動時に、リストア対象のデータベースと競合することはありません。

    既に Caché が起動しており、リストア処理中にユーザがアクセスする可能性のあるデータベースをリストアする場合は、"メンテナンス・モードによる Caché の起動" の説明に従って、シャットダウンおよび再起動することをお勧めします。

    以下の表に、Caché を起動できない場合の問題を解決する推奨手順を示します。

    問題 解決策
    1.Caché の起動に失敗する

    メンテナンス・モードで Caché を起動すると、起動に必要なデータベースがマウントできない場合でも、Caché を起動することができます。ただし、起動に必要とマークされているデータベースに自動ジャーナル・リカバリが保留されている場合は、この手順はスキップされません。

    したがって、破損したデータベースで引き続き Caché が起動できない場合には、以下の手順を実行します。

    1. CACHE.DAT ファイルの名前を変更して、データベースにいっさいアクセスできないようにします。

    2. 構成を変更して、これらのデータベースが起動に必要とならないようにマークします。

    3. "メンテナンス・モードによる Caché の起動" の説明に従って、再度 Caché を起動します。

    2.CACHESYS データベースの損傷により Caché が起動できない

    一時的に CACHESYS データベースを外部バックアップのコピー、または同一バージョンの Caché の新しいインストールに置き換えます。これは、Caché を起動してリストア手順を完了するための一時的な解決策です。

    3.Caché が起動しない状態が続く

    "システム全体のリストア" の手順に従って、すべてのデータベースをリストアすることができます。

    ヘルプの詳細は、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。

  2. データベースのバックアップに使用した方法に応じて、以下の手順に従い、それぞれのデータベースをリストアします。

    使用したバックアップ方法 データベースのリストアのサブ手順
    外部バックアップまたはコールド・バックアップ

    CACHESYS 以外のすべてのデータベースに以下の手順を実行します。

    1. Caché からデータベースをディスマウントします。

    2. バックアップ・メディアから元の場所に CACHE.DAT ファイルをコピーします。

    3. データベースを再度マウントします。

    CACHESYS データベースをリストアする場合は、一時的に代替ディレクトリにリストアします。

    Caché オンライン・バックアップ

    この章の "Caché オンライン・バックアップ・リストア・ユーティリティ" のセクションの指示に従って、以下の手順を実行します。

    1. 最新のフル・バックアップをリストアします。

    2. フル・バックアップの後に累積バックアップを実行している場合は、最新の累積バックアップをリストアします。累積バックアップを実行していない場合は、次の手順に進んでください。

    3. 最新の累積バックアップ (存在する場合)、または最新のフル・バックアップ (累積バックアップが存在しない場合) 以降に実行されたすべてのインクリメンタル・バックアップを、バックアップが実行された順序に従ってリストアします。

    レガシー並行外部バックアップ

    (この表の) 外部バックアップに記述されている手順を実行して、CACHE.DAT ファイルの “ダーティ” コピーをリストアしてから、(この表の) Caché オンライン・バックアップに記述されているインクリメンタル・バックアップを適用します。

  3. この章の "バックアップ・リストア後のジャーナル・リストア" のセクションの指示に従います。

  4. この章の "メンテナンス・モードによる Caché の起動" のセクションの説明に従って Caché を起動し、ユーザがシステムを使用できる状態にある場合には、通常どおりに Caché を停止および再起動します。再起動の前に、アプリケーションの検証やその他のメンテナンスを実行できます。

    Note:

    この手順の手順 2 の表に記述されているように、外部バックアップまたはコールド・バックアップから一時的な代替ディレクトリに CACHESYS データベースをリストアしている場合は、Caché をシャットダウンした後で (再起動する前に) 既存の CACHESYS データベースを一時ディレクトリの CACHE.DAT ファイルに置き換える必要があります。

別のシステムへのデータベースのリストア/移行

このシナリオでは、以下の開始点を想定しています。

  • 1 つ以上のデータベースがターゲット・システムにリストアされています。このターゲット・システムは、バックアップを生成したシステムとは別のシステムです。

  • ターゲット・システムでは、新しいハードウェアや異なるプラットフォームを使用することも、単に同一ハードウェア上に単に別の Caché インスタンスを稼働させることも可能です。

  • ターゲット・システムでは、ソース・システムと異なるファイル・システムのレイアウトを使用してもかまいません。

  • ターゲット・システムには既に Caché がインストールされています (Caché のインストール または CACHESYS データベースを、ソースとは異なるターゲット・マシンにコピーすることはできません)。

このタイプのリストアの用途には、以下のようなことが挙げられます。

  • ハードウェアの移行

  • データベースをバックアップ・メンバまたは非同期ミラー・メンバに追加する ("Caché 高可用性ガイド" の “ミラーリング” の章を参照)、またはシャドウの宛先と同期化する (このドキュメントの “シャドウイング” の章を参照)

  • データベースを別のシステムにコピーして、開発、テスト、または配置用とする

別のシステムにデータベースをリストア/移行するには、以下の手順を実行します。

Important:

システム全体のリストアの一部でない限り、宛先システムの CACHESYS データベースをソースの CACHESYS データベースのリストアに置き換えないでください。ソースの CACHESYS データベースに必要なデータはすべて、エクスポートしてから宛先の CACHESYS データベースにインポートすることができます。

ソース・システムとターゲット・システムで使用しているエンディアンが異なる場合は、この手順の後にある “エンディアンに関する注意事項” のサブセクションを参照してください。ソース・システムまたはターゲット・システムでデータベース暗号化を使用している場合は、この手順の後にある “データベース暗号化に関する注意事項” のサブセクションを参照してください。

  1. Caché がまだ起動されてない場合は起動します。Caché を起動すると、既存のデータベースに対する保留中の自動リカバリがあれば直ちに行われるため、リストア対象のデータベースと競合することはありません。

    リストア処理中にユーザがアクセスする可能性のあるデータベースをリストアする場合は、この章の "メンテナンス・モードによる Caché の起動" のセクションの説明に従って起動する必要があります。

  2. データベースのバックアップに使用した方法に応じて、以下の手順に従い、それぞれのデータベースをリストアします。

    使用したバックアップ方法 データベースのリストアのサブ手順
    外部バックアップまたはコールド・バックアップ

    データベースをリストアするには、以下の手順を実行します。

    1. リストア対象のデータベースがターゲット・インスタンスにマウントされている場合は、すべてディスマウントします。

    2. バックアップ・メディアから目的の場所に CACHE.DAT ファイルをコピーします。

    3. 新しいデータベースがあればすべて構成に追加します。

    4. ディスマウントしたデータベースを再度マウントします。

    Caché オンライン・バックアップ

    この章の "Caché オンライン・バックアップ・リストア・ユーティリティ" のセクションの指示に従って、以下の手順を実行します。

    1. 最新のフル・バックアップをリストアします。

    2. フル・バックアップの後に累積バックアップを実行している場合は、最新の累積バックアップをリストアします。累積バックアップを実行していない場合は、次の手順に進んでください。

    3. 最新の累積バックアップ (存在する場合)、または最新のフル・バックアップ (累積バックアップが存在しない場合) 以降に実行されたすべてのインクリメンタル・バックアップを、バックアップが実行された順序に従ってリストアします。

    レガシー並行外部バックアップ

    (この表の) 外部バックアップに記述されている手順を実行して、CACHE.DAT ファイルの “ダーティ” コピーをリストアしてから、(この表の) Caché オンライン・バックアップに記述されているインクリメンタル・バックアップを適用します。

  3. この章の "バックアップ・リストア後のジャーナル・リストア" のセクションの指示に従います。

    Note:

    Caché オンライン・バックアップからリストアして、データベースをバックアップ・メンバまたは非同期ミラー・メンバに追加 ("Caché 高可用性ガイド" の “ミラーリング” の章を参照) したり、シャドウの宛先と同期化 (このドキュメントの “シャドウイング” の章を参照) したりする場合は、この手順をスキップしてください。このような場合は、ジャーナルが自動的に適用されます。

  4. この章の "メンテナンス・モードによる Caché の起動" のセクションの説明に従って Caché を起動し、ユーザがシステムを使用できる状態にある場合には、通常どおりに Caché を停止および再起動します。

エンディアンに関する注意事項

ソース・システムと異なるエンディアン (一方がビッグ・エンディアンでもう一方がリトル・エンディアン) を使用しているターゲット・システムにバックアップをリストアするには、データベースのバックアップに使用した方法に応じて追加の手順が必要になります。サポート対象プラットフォームのエンディアンについては、このリリース用のオンライン・ドキュメント "インターシステムズでサポートされるプラットフォームOpens in a new tab" の “サポート対象テクノロジ” のセクションの “プラットフォームのエンディアン” を参照してください。

データベース暗号化に関する注意事項

ターゲット・システムにデータベースをリストアする場合、リストア後のデータベースではデータベース暗号化キーの変更が必要になることがあります。データベースのバックアップに使用した方法に応じて、リストアしたデータベースのキーを以下のように変換しなければならない場合があります。

  • "Caché オンライン・バックアップ" の場合 — Caché オンライン・バックアップでは、データベースの内容が暗号化せずに格納されます。ターゲット・システムにある既存の暗号化データベースに Caché オンライン・バックアップ・ファイルをリストアする場合は、Caché オンライン・バックアップ・リストア・ユーティリティによってターゲット・システム上でファイルが動的に暗号化されます。それ以外は、リストアしたデータベースは暗号化されません。

  • "外部バックアップ"、"コールド・バックアップ"、または "レガシー並行外部バックアップ" の場合 — ソース・システムの CACHE.DAT ファイルの状態に応じ、cvencrypt ユーティリティを使用して、ターゲット・システムにファイルをリストアした後でデータベース暗号化を管理します。例えば、データベース・ファイルで使用している暗号化キーがソース・システムとターゲット・システムとで異なる場合は、ターゲット・システムの暗号化キーを使用するように、リストアしたデータベースを変換する必要があります。cvencrypt ユーティリティの詳細は、"Caché セキュリティ管理ガイド" の付録 “cvencrypt ユーティリティの使用” を参照してください。

メンテナンス・モードによる Caché の起動

いずれのリストア手順でも、バックアップ・リストアおよびジャーナル・リストアが完全に終了し、対象のアプリケーション・レベルの検証がすべて完了するまで、リストア中のデータベースでアプリケーションの動作が発生しないようにする必要があります。アプリケーション環境または運用環境に、Caché の起動時にユーザの操作が発生しないようなメカニズムがある場合は、そのメカニズムを利用できます。例えば、完全に Web ベースのアプリケーションを使用している場合は、Web サーバをシャットダウンすれば、リストア手順に関与している管理者のみがシステムにアクセス可能となることを保証するには十分です。

Caché には、メンテナンスの実行中にアクセスを制限して Caché を起動できるようにするメカニズムが用意されています。

Caution:

以下の手順は、バージョン 2011.1 で導入された緊急アクセス・モードの強化機能を利用するため、初期のバージョンから変更されたものです。Caché の初期バージョンを使用している場合は、バージョン 2010.2 のドキュメントを参照してください。

メンテナンス・モードで Caché を起動するには、以下の手順を実行します。

  1. すべてのメンテナンス作業時に使用する一意のユーザ名とパスワードを指定し、緊急アクセス・モードで Caché を起動します。このユーザ名とパスワードは、どの既存ユーザも使用していないものであることが必要です。

    • Windows の場合は、Caché インストールの bin ディレクトリから管理者として以下のコマンドを呼び出します。

      ccontrol start <cache-instance-name> /EmergencyId=<username>,<password>
      
    • UNIX®/Linux および macOS の各プラットフォームでは、以下のようにコマンドを呼び出します。

      ccontrol start <cache-instance-name> EmergencyId=<username>,<password>
      

    詳細は、"Caché セキュリティ管理ガイド" の “システム管理およびセキュリティ” の章にある "緊急アクセス" のセクションを参照してください。

  2. 使用しているリストアのシナリオの説明に従って、リストア手順の残りの部分を実行します。

  3. リストア手順 (あらゆるジャーナル・リストアやアプリケーションの検証などのメンテナンス作業を含む) が完了したら、以下の手順を実行して、ユーザがシステムを使用できるようにします。

    1. Caché をシャットダウンします。

    2. EmergencyId スイッチを使用しないで Caché を起動します。

バックアップ・リストア後のジャーナル・リストア

バックアップ・リストアに続いて、ジャーナル・ファイルを適用する必要があります。この章の "ジャーナルの重要性" のセクションの説明にあるように、通常、バックアップ以降のジャーナル・ファイルをリストア時に使用できるようにしておきます。これらのジャーナル・ファイルを適用すると、バックアップの時点から災害発生時までの間にジャーナルに記述された更新がすべてリストアされます。

また、コミットされていないトランザクションをロールバックして、リストアした (不完全なトランザクションが存在する可能性がある) データベースのトランザクションの整合性をリストアするには、ジャーナルを適用する必要があります。バックアップ直前までのジャーナル・ファイルが存在し、それ以降に新しいジャーナル・ファイルが作成されていない場合でもこの作業は必要です。

Important:

少なくともバックアップ直前までのジャーナル・ファイルが存在しない場合は、いずれのジャーナル・ファイルも適用しないでください。

リストアを開始する際に、ジャーナル・リストアの開始点を選択する必要があります。ジャーナル・リストアでは、ジャーナル・ストリームをさかのぼって、バックアップよりも前に開始されたトランザクションの開始を検索することもできます。Caché オンライン・バックアップを使用すると、推奨される開始点がバックアップに格納されます。^DBACK または ^BACKUP ユーティリティを使用してバックアップすると、リストア時のトランザクション・ロールバックに必要な最も古いジャーナル・ファイルに関する情報が 3 番目または最後のパスの開始時に表示されます。

バックアップ・リストア後のジャーナルの適用方法については、このドキュメントの “ジャーナリング” の章にある "^DBREST によるすべてのデータベースのリストア" および "ジャーナル・ファイルのリストア" のセクションを参照してください。

自動 WIJ およびジャーナル・リカバリを使用しない Caché の起動

この章で説明されているリストア手順の一部では、Caché の起動時にデータベースの自動リカバリが発生しないように起動する必要があります。これは、リストア手順でリカバリをすべて手動で実行することになっている手順で、起動時の自動リカバリとこの手動リカバリの結果に不整合が生じる可能性がある場合に当てはまります。

Caution:

この章で説明しているリストア手順は、特に以下の手順が必要となる場合を目的としています。他の条件下でこの手順を実行することはきわめて危険であり、データベースの整合性が損なわれる可能性があります。また、この手順はバージョン 2011.1 で導入された緊急アクセス・モードの強化機能を利用するため、初期のバージョンから変更されたものです。Caché の初期バージョンを使用している場合は、そのバージョン専用のドキュメントを参照してください。

自動 WIJ およびジャーナル・リカバリを使用しないで Caché を起動するには、以下の手順を実行します。

  1. CACHE.WIJ ファイルを取り除き (ただし完全に削除はしません)、以下のように引き続き分析に使用できるようにします。

    1. 管理者ディレクトリに格納されている startup.last ファイルの wijlast= 行を確認します。

    2. この行で指定されているディレクトリに格納されている CACHE.WIJ ファイルを移動するか、名前を変更します。NULL ディレクトリが指定されている場合、CACHE.WIJ ファイルは管理者ディレクトリに格納されています。

  2. すべてのメンテナンス作業時に使用する一意のユーザ名とパスワードを指定し、緊急アクセス・モードで Caché を起動します。このユーザ名とパスワードは、どの既存ユーザも使用していないものであることが必要です。

    • Windows の場合は、Caché インストールの bin ディレクトリから以下のようにコマンドを呼び出します。

      ccontrol start <cache-instance-name> /EmergencyId=<username>,<password>
      
    • UNIX®/Linux および macOS の各プラットフォームでは、以下のようにコマンドを呼び出します。

      ccontrol start <cache-instance-name> EmergencyId=<username>,<password>
      

    詳細は、"Caché セキュリティ管理ガイド" の “システム管理およびセキュリティ” の章にある "緊急アクセス" のセクションを参照してください。

  3. ほとんどの場合、WIJ 内のジャーナル・リカバリ情報が失われているため、Caché は完全には起動しません。Caché が正常に起動する場合は、この手順の残りはスキップしてください。

  4. cconsole.log の指示に従って、-B オプションを選択して Caché に入り、do ^STURECOV を実行します。

    1. オプション 8 を選択して、ジャーナル・リカバリを使用しないで起動するように Caché をリセットします。

    2. オプション 9 を選択して、Caché をシャットダウンします (表示される手順を使用)。

  5. 手順 2 の説明に従って、再度 Caché を緊急アクセス・モードで起動します。

  6. 使用しているリストアのシナリオの説明に従って、リストア手順の残りの部分を実行します。

  7. リストア手順 (あらゆるジャーナル・リストアやアプリケーションの検証などのメンテナンス作業を含む) が完了したら、以下の手順を実行して、ユーザがシステムを使用できるようにします。

    1. Caché をシャットダウンします。

    2. EmergencyId (Windows プラットフォームの場合は /EmergencyId) スイッチを使用しないで Caché を起動します。

Caché オンライン・バックアップ設定の構成

Caché オンライン・バックアップは、実装可能なバックアップ方法の一つです。サポートされている方法およびその最適な使用方については、この章の "バックアップの方法" のセクションを参照してください。

管理ポータルの [システム管理]→[構成]→[データベースバックアップ] メニューの選択肢を使用して、Caché オンライン・バックアップの設定を構成できます。これらのタスクの一部は、Backup.GeneralOpens in a new tab クラスのメソッドを使用しても実行できます。適切なメソッドがある場合は、ここで紹介しています。

システム管理ポータルから、次の構成タスクを実行できます。

Note:

この構成タスクは、管理ポータル・アプリケーションの管理部分にあります。バックアップの設定を構成するには、適切なマネージャレベルのセキュリティ権限が必要です。

データベース・バックアップ・リストの定義

Caché では、バックアップの対象となるデータベースを指定するデータベース・リストが管理されます。このリストは、管理ポータルの システム管理, 構成, データベースバックアップ, データベース・バックアップ・リスト ページに移動すると表示できます。

矢印ボタンを使用して、バックアップ しない データベースを [使用可能] リストに移動し、バックアップ する データベースを [選択済み] リストに移動します。[保存] をクリックします。どのデータベースも選択していない場合は、すべてのデータベースがバックアップされます。

システムに新規データベースを追加すると、そのデータベースはデータベース・リストに自動的に追加されます。その新規データベースがバックアップ対象でない場合は、[バックアップ・データベース・リスト] から必ず削除してください。

Note:

CACHETEMPCACHELIB、および DOCBOOK のデータベースを除くすべてのデータベースのバックアップを実行する FullAllDatabases バックアップ・タスクでは、定義されたデータベース・リストが無視されます。

バックアップ・データベース・リストは、^BACKUP ルーチンまたは Backup.General.AddDatabaseToList()Opens in a new tab メソッドおよび Backup.General.RemoveDatabaseFromList()Opens in a new tab メソッドを使用して管理することもできます。これらのメソッドの使用法に関する詳細は、"インターシステムズ・クラス・リファレンス" の "Backup.GeneralOpens in a new tab" クラスの説明を参照してください。

バックアップ・タスクの構成

Caché には、複数のタイプのバックアップ・タスクがあります。各タイプは、[データベースバックアップ設定] メニューの項目として表示されます。このバックアップ・タスクの構成とは、以下のとおりです。

  • すべてのデータベースのフル・バックアップの構成

  • データベース・リストのフル・バックアップの構成

  • データベース・リストのインクリメンタル・バックアップの構成

  • データベース・リストの累積バックアップの構成

これらは、あらかじめ定義されたバックアップ・タスクで、ポータルの システム処理, バックアップ ページから必要に応じて実行できます。タスク・マネージャを使用することで、これらのバックアップ・タスクを組み合わせてスケジュールすることもできます。詳細は、この章の "バックアップ・タスクのスケジュール" を参照してください。

これらの各タスクを構成する手順は同じです。[名前][説明]、および [タイプ] の各フィールドは読み取り専用であり、以下のテーブルで説明するように、選択したメニュー項目のものを反映します。

バックアップ・タスクの説明
名前 説明 タイプ
FullAllDatabases [バックアップ・データベース・リスト] に記載されているかどうかに関係なく、共通に更新されるすべてのデータベースのフル・バックアップを実行します。 フル
FullDBList [バックアップ・データベース・リスト] 内の Caché データベースのフル・バックアップを行います。 フル
IncrementalDBList 最後のフル・バックアップまたは累積バックアップ以降のデータ変更のインクリメンタル・バックアップを実行します。[バックアップ・データベース・リスト] に記載されているデータベースがバックアップされます。 インクリメンタル
CumuIncrDBList 最後のフル・バックアップ以降にデータに加えられたすべての変更の累積バックアップおよびインクリメンタル・バックアップ。[バックアップ・データベース・リスト] に記載されているデータベースがバックアップされます。 累積

バックアップ出力をディスクのディレクトリまたは磁気テープに送信することができます。以下の 2 つのオプションのいずれかを選択します。

  1. ディスク上のディレクトリにバックアップするには、[デバイス] フィールドに、ファイルのパス名を指定します。[参照] をクリックして、ディレクトリを選択します。

  2. 磁気テープにバックアップするには、[テープに保存] チェック・ボックスにチェックを付けます。使用可能なテープ・デバイス番号のリストで、[テープ番号] を指定します。

    テープ番号の詳細は、"Caché 入出力デバイス・ガイド" の "デバイスの識別" セクションを参照してください。

    Note:

    テープにはバックアップしないことをお勧めします。

[バックアップ・データベース・リスト] の管理方法の詳細は、"データベース・バックアップ・リストの定義" を参照してください。

バックアップ・ファイル名

既定の場合、バックアップ・ファイルは install-dir\Mgr\Backup に格納されます。バックアップ・ログ・ファイルは同じディレクトリに格納されます。バックアップ・ファイルの接尾語は .cbk です。バックアップ・ログ・ファイルの接尾語は .log です。

バックアップ・ファイルとバックアップ・ログ・ファイルには、同じ名前付け規約を使用します。

  • バックアップ・タスク名の後にはアンダースコア文字 (_) が続きます。

  • yyyymmdd 形式のバックアップ日付の後には、アンダースコア文字 (_) が続きます。

  • 同じ日に発生したタスクには、インクリメントする番号 nnn を使用します。

  • .log.cbk 接尾語を使用します。

nnn は、バックアップ・タスクからその日にインクリメントされたシーケンス番号です。

バックアップ・タスクのスケジュール

バックアップの実行スケジュールは、適切に設定する必要があります。バックアップは、システムを利用しているユーザが可能な限り少ない時間に実行します。

Caché に付属し、必要に応じて実行される 4 種類のバックアップ・タスクに加え、これらのバックアップ・タスクにさらにバックアップ定義を追加作成できます。例えば、1 つはバックアップをディスク・ファイルに保存し、もう 1 つはテープに保存するといった 2 つのフル・バックアップ・タスク作成できます。または、2 つのディスク・ドライブ間でバックアップする代わりに、ドライブごとにバックアップ・タスクを生成できます。

これらのバックアップ・タスクをスケジュールするには、Caché タスク・マネージャを使用します。

  1. 管理ポータルの システム処理, タスクマネージャ ページに移動します。

  2. [新規タスクスケジュール] をクリックします。

  3. [タスク名][説明][タスクタイプ] を指定して、既定値に変更を加えてから [次へ] をクリックします。

  4. 必要なスケジュール情報を入力して、[完了] をクリックします。

これで、システム処理, タスクマネージャ, タスクスケジュール表示 ページに目的のタスクを表示できるようになります。このタスクは、その行の [詳細] をクリックすることで他のタスクと同様に管理できます。

Caché オンライン・バックアップの管理

Caché オンライン・バックアップは、実装可能なバックアップ方法の一つです。サポートされている方法およびその最適な使用方については、この章の "バックアップの方法" のセクションを参照してください。

Caché オンライン・バックアップは、管理ポータルと Caché ^BACKUP ユーティリティのいずれからでも管理できます。ここでは、ポータルでの手順を中心に説明し、必要に応じてユーティリティ使用の手順が記載されたセクションを紹介します。

Caché データベースのバックアップ・タスクの実行とバックアップ履歴の表示は、管理ポータルの バックアップ, システム処理, バックアップ ページで行えます。タスク・マネージャを使用して別のバックアップ・タスクのスケジュールを設定する場合は、管理ポータルの システム処理, タスクマネージャ ページで管理できます。

システム管理ポータルからは、次のバックアップ・タスクを実行できます。

システムに新規データベースを追加する場合は、フル・バックアップを実行する必要があります。インクリメンタル・バックアップを実行できるのは、フル・バックアップが存在するようになってからです。インクリメンタル・バックアップや累積バックアップの機能の使用を計画している場合は、バックアップ・データベース・リストを管理して、そのリストのフル・バックアップを実行する必要があります。

Caché のインストール後、FullDBList バックアップを実行して完全なバックアップを作成しておき、その後の他のバックアップ・タスクで使用できるようにすることをお勧めします。

Note:

これらのバックアップ・タスクは、管理ポータル・アプリケーションの処理部分にあります。バックアップ・タスクを実行するには適切なオペレータレベルのセキュリティ権限が必要です。

バックアップ・タスクの実行

管理ポータルの システム処理, バックアップ ページでは、4 つのタイプのバックアップ・タスクを実行できます。それぞれのタスクに専用のメニュー項目があります。

  • すべてのデータベースのフル・バックアップの実行

  • バックアップ・データベース・リストのフル・バックアップの実行

  • バックアップ・データベース・リストのインクリメンタル・バックアップの実行

  • バックアップ・データベース・リストの累積バックアップの実行

インクリメンタル・バックアップや 累積 バックアップの前には、データベースの フル バックアップを実行する必要があります。オンライン・バックアップを実行する手順は以下のとおりです。

  1. 適切なバックアップ・タイプのメニュー項目をクリックします。

  2. [実行バックアップ・タスク] ボックスの設定が正しいかどうかを確認します。

  3. バックアップ・オプションが正しければ、[OK] をクリックしてバックアップを開始します。

    バックアップ・オプションが適切でない場合は、“Caché オンライン・バックアップ設定の構成” の手順に従って更新してください。

  4. バックアップの実行中は、[開始済みのバックアップ] の横のテキストをクリックすると、実行中のバックアップのステータスを表示できます。詳細は、"バックアップ・ステータスの表示" を参照してください。

^BACKUP ユーティリティから 1) Backup オプションを選択するか、^DBACK ユーティリティを実行することによって、最近実行された直前 3 回までのバックアップ・タスクを実行することもできます。詳細は、“^DBACK によるデータベースのバックアップ” を参照してください。

マルチボリューム・バックアップ

バックアップには、複数のテープ・ボリュームや複数のディスク・ファイルが必要になる場合があります。現時点では、管理ポータルでマルチボリューム・バックアップを実行することはできません。マルチボリューム・バックアップが必要な場合は、^BACKUP ユーティリティを使用してください。ディスクがいっぱいになった場合、^BACKUP によって、別のディスク上の別のディスク・ファイル名を入力するように要求されます。

バックアップ中にエラーが発生した場合は、その後に続くボリュームからバックアップを再開することはできません。バックアップを最初から実行する必要があります。

これらのタスクを実行する前に、バックアップのサイズを見積もる方法については、“^DBSIZE によるバックアップ・サイズの見積もり” を参照してください。

バックアップ・ステータスの表示

バックアップ処理の進行状況を監視するには、システム処理, バックアップ ページの [バックアップステータス参照] をクリックするか、実行中のバックアップ・プロセスの [表示] をクリックします。それと同じ情報が、バックアップ処理のログ・ファイルにも記録されます。後で、[バックアップ履歴の表示] ページでこのログ・ファイルを表示できます。

Caché がバックアップを開始すると、リストの [日時] 列と [状態] 列が更新されます。[日時] 列には、バックアップの完了時ではなく、開始日時が記録されます。[状態] 列は、「実行中」と表示されます。

バックアップの終了時、Caché は再度 [状態] 列を更新し、バックアップの最終的な状態を表示します。以下に例を示します。

  • 完了」は、バックアップが成功したことを示します。

  • Failed」は、バックアップが実行されなかったこと、またはユーザによって停止されたことを示します。

  • 警告」は、途中で問題が発生したが、完了したことを示します。

対応するバックアップ・ログには、有益な情報が記載されています。タスクの横にある [ビュー] をクリックすると、バックアップ・ログが表示されます。

次の “実行中のバックアップの中止” では、実行中のバックアップに表示されるその他のオプションについて説明します。

実行中のバックアップの中止

実行中のバックアップを中止するには、以下の 3 つの方法を使用できます。

バックアップ履歴の表示

バックアップ処理ごとに、独立したバックアップ・ログ・ファイルが生成されます。ログは、"バックアップ・ファイル名" で説明した名前付け規約に従います。

このポータルから、完了したバックアップ・タスクのシステム・バックアップ・ログのリストを表示できます。

  1. 管理ポータルの システム処理, バックアップ ページに移動します。

  2. 右側の列の [バックアップ履歴の表示] をクリックして、システム処理, バックアップ, バックアップ履歴 ページを表示します。このページには、完了したバックアップに関する情報が一覧表示されます。

  3. 特定のバックアップの結果を表示するには、該当する行の右側の列の [ビュー] をクリックします。バックアップ・ログ・ファイルの内容を表示し、そのファイル内の文字列を検索できます。

バックアップ・エラー

バックアップで入出力エラーが発生した場合、バックアップは中止され、バックアップ・ログ・ファイルにシステム・エラーが記録されます。これらのログ・ファイルに記録された情報を使用すると、問題の発生個所をすばやく確認し、修正できます。

バックアップが失敗する原因の 1 つは、ディスマウントされているデータベースでバックアップを実行しようとしたことです。バックアップ中にエラーが発生すると、バックアップ・ユーティリティにより、エラーが発生したデバイスでのバックアップを再試行できます。または、バックアップを中止することもできます。

Caché オンライン・バックアップ・ユーティリティ

Caché には、バックアップ・タスクを実行するためのユーティリティが用意されています。^BACKUP ルーチンには、共通のバックアップ手順を実行するためのメニュー項目があります。これらのバックアップ手順は、単独で実行することもでき、場合によっては、スクリプトを使用して、非インタラクティブに実行することもできます。

ユーティリティ名は、大文字と小文字を区別します。これらのユーティリティはすべて、%SYS ネームスペースから実行します。

Caché では、最終バックアップ以降に変更されたデータベース・ブロックのビットマップ・リストが保管されます。このリストは、バックアップ・ステージにおけるデータベース更新の追跡に利用できます。^DBSIZE ユーティリティは、これらのビットマップを調べ、バックアップのサイズの計算に利用できます。Caché ^BACKUP ユーティリティは、これらのリストのマルチパス・スキャンを使用して最終パス以降に変更されたブロックのみをバックアップします。

^DBSIZE によるバックアップ・サイズの見積もり

Caché バックアップの実行直前に、^DBSIZE ユーティリティを使用して、出力のサイズを見積もることができます。バックアップが開始されると、変更されるブロック数を認識する手段がないため、このサイズは単なる推定値です。^DBSIZE 実行中にグローバル更新が行われないようにして、グローバル更新の再開前にバックアップを実行すると、取得される見積もりの精度がさらに向上します。

以下の 2 つの方法で、バックアップ・サイズを指定できます。

Note:

データベースを ^DBSIZE で評価できるようにするには、データベース・バックアップ・リストに含まれている必要があります。詳細は、"データベース・バックアップ・リストの定義" を参照してください。

^DBSIZE のインタラクティブな実行

以下では、^DBSIZE をインタラクティブに実行するために必要な手順を説明します。

  1. ターミナルを開いて、%SYS ネームスペースからユーティリティを実行します。

    %SYS>Do ^DBSIZE
    
    
  2. Caché に、以下のような ^DBSIZE メイン・メニューが表示されます。

                   Incremental Backup Size Estimator
     
     
    What kind of backup:
       1. Full backup of all in-use blocks
       2. Incremental since last backup
       3. Cumulative incremental since last full backup
       4. Exit the backup program
    1 => 
    
    
  3. 適切なメニュー・オプションを入力して、見積もりが必要なバックアップのタイプを full (フル)、incremental (インクリメンタル)、または cumulative (累積) から選択します。このプロンプトは各タイプで同じです。

  4. 次のプロンプトで、更新を一時停止して見積もりの精度を上げる場合は Enter キーを押し、更新を許可する場合は「No」を入力します。

    Suspend Updates?  Yes=>
    

    更新の一時停止を選択した場合は、以下のメッセージが表示されます。

    WARNING: Switch is set and may affect production for up to 30 seconds.
    Waiting for disk cleanup to finish... ready.
    
  5. 出力の最初に、選択したバックアップ・タイプに応じて実行が必要な Caché ブロック数が表示されます。バックアップ・リストに記載されたディレクトリ別の見積もりと合計が表示されます。以下は、フル・バックアップの場合の表示例です。

                                                              In-Use   Block
         Directory                                            Blocks    Size
     
    c:\mycache\mgr\                                           19,963   (8KB)
    c:\mycache\mgr\cacheaudit\                                   189   (8KB)
    c:\mycache\mgr\docbook\                                   16,015   (8KB)
    c:\mycache\mgr\user\                                          61   (8KB)
                                                      --------------
         Total number of database blocks:                     36,228
    
    

    インクリメンタル・バックアップと累積バックアップの表示は、以下のようになります。

                                                             Modified  Block
         Directory                                            Blocks    Size
     
    c:\mycache\mgr\                                                5   (8KB)
    c:\mycache\mgr\cacheaudit\                                     3   (8KB)
    c:\mycache\mgr\docbook\                                        1   (8KB)
    c:\mycache\mgr\user\                                           1   (8KB)
                                                      --------------
         Total number of database blocks:                         10
    
    
  6. その後に、バックアップ・ディスク・ファイルの領域に関する情報が表示されます。

    Total backup size, including overhead of volume and pass labels:
     
         For a disk file:
              Number of 512-byte blocks:  598,092  (306,223,104 bytes)
    
  7. 最後に、バックアップを磁気テープに送信した場合に使用される領域情報が提示されます。

         For magnetic media:
              Number of 58KB blocks:  4  (237,568 bytes)
    

^DBSIZE 関数の使用

ルーチンから ^DBSIZE を呼び出すこともできます。このためには、以下の関数を使用します。

$$INT^DBSIZE(backup_type)
Important:

^DBSIZE をインタラクティブに実行している場合、backup_type の値はメニュー・オプションの番号と異なります。

バックアップ・タイプ 説明
1 インクリメンタル・バックアップ
2 フル・バックアップ
3 累積インクリメンタル・バックアップ

例えば、フル・バックアップ実行のサイズ見積もりを確認する場合は以下のようになります。

%SYS>w $$INT^DBSIZE(2)
18950^5^160952320^2710^160309248^313104^313104

返り値は、キャレット (^) で区切られた 7 つの数字です。この例で、返り値 18950 は、ブロック単位のバックアップの合計見積もりサイズで、5 はバックアップ対象のデータベース・ディレクトリ数を示しています。下表は、出力の各部の内容を示しています。

出力位置 説明
部分 1 バックアップ対象のデータベース・ブロック数。

(処理中にエラーが発生した場合、または無効なパラメータがある場合は -1)

部分 2 バックアップ対象のディレクトリ数。
部分 3 磁気メディアのバイト数 (レコード間ギャップは除外)。
部分 4 磁気メディアのブロック数。
部分 5 ディスク・ファイルのバイト数。
部分 6 ディスク・ファイルの 512 バイト・ブロック数。

以下は、各タイプのバックアップで ^DBSIZE 関数を呼び出したときの出力を示しています。

%SYS>w $$INT^DBSIZE(1)
466^5^4157440^70^4122624^8052^8052

%SYS>w $$INT^DBSIZE(2)
18950^5^160952320^2710^160309248^313104^313104

%SYS>w $$INT^DBSIZE(3)
466^5^4157440^70^4122624^8052^8052

^BACKUP によるバックアップおよびリストアのタスクの実行

Caché ^BACKUP ユーティリティによって、以下の例に示すように、中央メニューから Caché のバックアップおよびリストアのタスクを実行できます。

%SYS>Do ^BACKUP
 
 
1) Backup
2) Restore ALL
3) Restore Selected or Renamed Directories
4) Edit/Display List of Directories for Backups
5) Abort Backup

6) Display Backup volume information
7) Monitor progress of backup or restore

Option?

対応するルーチンを開始するには、適切なメニューのオプション番号を入力します。ユーティリティを終了するには、オプションの番号を入力せずに Enter キーを押します。

このドキュメントの以降のセクションでは、対応するオプションを選択することによって開始されるユーティリティについて説明します。

  1. ^DBACK によるデータベースのバックアップ

  2. ^DBREST によるすべてのデータベースのリストア

  3. ^DBREST による選択したデータベースのリストア

  4. ^BACKUP によるバックアップに必要なディレクトリ・リストの編集/表示

  5. ^BACKUP による実行中のバックアップの中止

  6. ^BACKUP によるバックアップ・ボリュームに関する情報の表示

  7. ^BACKUP によるバックアップまたはリストアの進行状況の監視

^DBACK によるデータベースのバックアップ

Caché ^DBACK ユーティリティによって、Caché データベースをバックアップできます。^DBACK ユーティリティの実行は、^BACKUP ユーティリティ・メニューからオプション 1 を選択した場合と同じです。以下は、ターミナルからユーティリティを実行する場合の例です。

  1. まず、データベース・バックアップ・リストが定義されていることを確認し、バックアップ・ファイルの出力デバイスを選択します。

  2. %SYS ネームスペースから、^DBACK ルーチンを実行します。

    %SYS>Do ^DBACK
     
     
                     Cache Backup Utility
                  --------------------------
    What kind of backup:
       1. Full backup of all in-use blocks
       2. Incremental since last backup
       3. Cumulative incremental since last full backup
       4. Exit the backup program
    
    
  3. 対応するメニュー・オプション番号を入力して、実行する Caché バックアップ・タイプ (フル、インクリメンタル、または累積) を選択します。バックアップ実行手順は、すべてのタイプで共通です。

  4. 出力デバイスとバックアップの内容を入力します。

    Specify output device (type STOP to exit)
    Device: c:\mycache\mgr\backup\FullDBList_20081201_003.cbk =>
    
    Backing up to device: c:\mycache\mgr\backup\FullDBList_20081201_003.cbk
    Description: Full Backup using ^DBACK
    
    

    前回のバックアップのデバイスが既定として取得されます。この例では、オンライン・バックアップ・デバイスの形式を使用しています。

  5. 次に、バックアップ対象のデータベース・ディレクトリのリストが表示されます (データベース・バックアップ・リストに記載されているもの)。以下に例を示します。

     Backing up the following directories:
     c:\mycache\mgr\
     c:\mycache\mgr\cacheaudit\
     c:\mycache\mgr\docbook\
     c:\mycache\mgr\user\
     
    
    
  6. Y」で応答するとバックアップが開始されます。ジャーナル・ファイルが切り替わり、バックアップの進捗状況が表示されます。

    Start the Backup =>  [answer Y or N] => y
    Journal file switched to:
    c:\mycache\mgr\journal\20081201.004
    . 
    Starting backup pass 1
    
  7. 3 番目または最後のパスの開始時に、バックアップをリストアするときのトランザクション・ロールバックに必要な最も古いジャーナル・ファイルに関する情報が表示されます。次に例を示します。

    Starting backup pass 3
     
    Journal file 'c:\intersystems\cache62\mgr\journal\20120919.003' and the subsequent ones
    are required for recovery purposes if the backup were to be restored
     
    Journal marker set at
    offset 197180 of c:\intersystems\cache62\mgr\journal\20120919.003
    

    この情報はバックアップ・ログに記録されます。

  8. バックアップが正常に完了すると、以下のように表示されます。

    ***FINISHED BACKUP***
     
    Global references are enabled.
     
    Backup complete.
     
    %SYS>
    

次の “^DBACK に対する外部エントリ・ポイント” では、指定されたエントリ・ポイントを使用してこのユーティリティを外部のバックアップ・プロシージャから呼び出す方法を説明します。

^DBACK に対する外部エントリ・ポイント

^DBACK ユーティリティに対して指定されたエントリ・ポイントは、外部バックアップ・プロシージャで使用できます。バックアップの整合性確保のため、このポイントは説明されたとおりに使用する必要があります。エントリ・ポイントはすべて、正常完了の場合は 1 を返し、失敗の場合は0 を返します。^DBACK ルーチンでは、以下の外部エントリ・ポイントを使用できます。

BACKUP^DBACK

このプロシージャによってバックアップが起動され、^DBACK のインタラクティブな実行の際に示される質問に対しては、渡された引数を使用して応答します。

BACKUP^DBACK(argfile,TYPE,DESC,OUTDEV,kiljrn,LOGFILE,MODE,clrjrn,swjrn,
nwjrnfil,quietimeout,taskname)

大文字で示された引数は、今回の Caché リリースのバックアップ・プロシージャで最も重要な引数です。ジャーナリング・メカニズムが変更されているため、バックアップ・ユーティリティでは、現在のジャーナル・ファイルの削除、現在のジャーナル・ファイルのクリア、および新しいジャーナル・ファイル名の指定はできなくなりました。このため、今回のバージョンの Caché では、次の表に示されるように多数の引数が無視されます。

引数 説明
argfile 使用できなくなりました。必ず NULL 値を使用します。
TYPE バックアップのタイプ (必須)

値 :

I — インクリメンタル

C — 累積

F — フル

E — サードパーティ、またはオペレーティング・システムのバックアップ・ユーティリティによる外部フル・バックアップ。

DESC バックアップ・ラベルおよびバックアップ履歴グローバルに保存されている説明。空白が許容される自由形式のテキスト文字列。

外部 (タイプ E) のバックアップでは、次の表の引数が無視されます。この表では、他のタイプのバックアップで無視されるか必須であるかについても記載されています。

引数 説明
OUTDEV バックアップの出力デバイス。ファイル名またはテープ・デバイスを使用できます (必須)。
kiljrn ジャーナル・ファイルを切り替えるかどうかを指定します。

Y — ジャーナル・ファイルを切り替えます (推奨)。

N — 切り替えません。

(現在のジャーナル・ファイルを削除することはできなくなりました。)

LOGFILE ログに記録するかどうか、および関数の出力を書き込むかどうかを指定します。

ファイル名 —ターミナルに送信されるすべてのメッセージをこのファイルに書き込みます (推奨)。

Null 値 — ログファイルがありません。

MODE プロシージャの実行時にターミナルに書き込まれる出力を指定します。ログ・ファイルに書き込まれる内容を制御するものではありません。

値 :

“NOISY” — ターミナルのすべてのテキストを書き込みます (既定)。

“QUIET” — 異常な状態に関係するテキストのみを書き込みます。

“NOINPUT” — このプロセスにアタッチされたターミナルがないため、出力は送信されません。読み取りが必要な場合は、バックアップが中止されます。

clrjrn ジャーナル・ファイルを切り替えるかどうかを指定します。

Y — ジャーナル・ファイルを切り替えます (推奨)。

N — 切り替えません。

(現在のジャーナル・ファイルを消去することはできなくなりました。)

swjrn ジャーナル・ファイルを切り替えるかどうかを指定します。

Y — ジャーナル・ファイルを切り替えます (推奨)。

N — 切り替えません (clrjrn 引数または kiljrn 引数の値が Y である場合、 swjrn は Y に変換し、ジャーナル・ファイルが切り替えられます)

nwjrnfil (無視)

以下は、2 つのオプションの引数です。

引数 説明
quietimeout システムが停止するまで待機する秒数。この秒数を経過するとバックアップが中止されます。ゼロ (0) または負の値は、無限に待機することを示します (既定 = 60)。
taskname バックアップ・タイプ FI、および C の場合に Caché の内部で使用されるタスク名。

これらの外部エントリ・ポイントを使用するには、すべてのモードで ^SYS グローバルへの読み取り/書き込みアクセス権が必要です。外部 (タイプ E) バックアップでは、^SYS グローバル内のディレクトリの .IND ファイル、.INE ファイル、および .INF ファイルが削除されます。また、ルーチンによって、このバックアップが LASTFULL バックアップであるという説明と共にバックアップ履歴グローバルに記録されます。

このルーチンを呼び出す際に、スイッチ 10 を設定している場合は、バックアップ全体を通じてこの設定が保持されます。スイッチ 13 を設定している場合、バックアップで必要な Set および Kill コマンドが実行される間はプロシージャによってスイッチ 10 に変換され、終了時にスイッチ 13 に復元されます。

このルーチンは、このエントリ・ポイントによって定義された変数に対しては New コマンドを実行しますが、^DBACK プロシージャの本体内で定義された変数では実行しません。このため、^DBACK の呼び出し前に呼び出されるすべてのルーチンで、その他のすべての変数を慎重に保護する必要があります。

返り値 :

  • 0 — 失敗しました。ログ・ファイルを指定している場合はこのファイルを確認してください。

  • 1 – 成功

  • 1, warning message string — 成功しましたが、警告があります。この警告は、文字列内でチルダ文字 (~) によって区切られています。

LISTDIRS^DBACK

このプロシージャは、出力ファイルを開き、バックアップに含まれるデータベース・ディレクトリに関するリストを書き込みます。リストが空白の場合は、すべてのデータベース・ディレクトリ (CACHETEMP を除く) がプロシージャによってバックアップされます。この関数の形式は以下のとおりです。

LISTDIRS^DBACK(file,mode)
引数 説明
file 関数がバックアップ・リスト内のデータベース・ディレクトリのリストを書き込む出力ファイルの名前。
mode このプロシージャの実行時にターミナルに書き込まれる出力内容を指定します。

“QUIET” — 返り値、および異常な状態に関係するテキストのみを表示します。

その他のすべての値 — ターミナルにディレクトリ・リストを表示します。

以下は、ターミナルに表示される出力の表示例です。

%SYS>w $$LISTDIRS^DBACK("c:\temp\listdirs.txt","NOISY")
 
List of directories to be backed up
     c:\mycache\mgr\cacheaudit\
     c:\mycache\mgr\cachelib\
     c:\mycache\mgr\
     c:\mycache\mgr\docbook\
     c:\mycache\mgr\samples\
     c:\mycache\mgr\user\
1
%SYS>

このプロシージャに関する注意事項は以下のとおりです。

  • ^SYS グローバルに対する読み取りアクセス権が必要です。

  • スイッチの設定やクリアは行われません。

  • すべてのローカル変数に対して New コマンドを発行します。

CLRINC^DBACK (レガシー並行外部バックアップの場合のみ)

このプロシージャを呼び出すと、バックアップ・リスト内のデータベースで変更されているブロックを示すインクリメンタル・バックアップ・ビットマップがクリアされます。同時に、先にフル・バックアップを実行しなければあらゆる種類のバックアップが実行できなくなるため、バックアップ履歴も削除されます。このプロシージャは、Caché 実行状態での外部フル・バックアップの実行前に使用することを目的としています。Caché がダウンした状態で外部バックアップを実行する場合は、システムのシャットダウン前にこのエントリ・ポイントを呼び出します。この関数の形式は以下のとおりです。

CLRINC^DBACK(mode)
引数 説明
mode このプロシージャの実行時にターミナルに書き込まれる出力内容を指定します。

“QUIET” — 返り値、および異常な状態に関係するテキストのみを表示します。

その他のすべての値 — ディレクトリの処理時にその名前を表示します。

例 :

%SYS>w $$CLRINC^DBACK("QUIET")
1
%SYS> 

%SYS>Do CLRINC^DBACK("NOISY")
 
     Cleared incremental backup bitmap in c:\mycache\mgr\
     Cleared incremental backup bitmap in c:\mycache\mgr\cacheaudit\
     Cleared incremental backup bitmap in c:\mycache\mgr\docbook\
     Cleared incremental backup bitmap in c:\mycache\mgr\samples\
   Cleared incremental backup bitmap in c:\mycache\mgr\user\
%SYS>

このプロシージャに関する注意事項は以下のとおりです。

  • ^SYS グローバルに対する読み取り/書き込みアクセス権が必要です。

  • スイッチ 13 の状態を記録し、設定されていない場合は設定して、終了時に元の状態に復元します。

  • メイン・バックアップ・プロシージャで定義されたものを除き、すべてのローカル変数に対して New コマンドを発行します。

  • このルーチンの呼び出し時にディスマウントされていたディレクトリは、ディスマウントされた状態で保持されます。

^BACKUP によるバックアップに必要なディレクトリ・リストの編集/表示

Important:

データベースのリストを編集する場合は、ディレクトリ名ではなくデータベース名を使用します。これは管理ポータルでバックアップを構成する場合と同様です。

Caché の ^BACKUP ユーティリティのオプションを使用すると、Caché データベースのバックアップや、既に作成されたバックアップのリストアができます。データベースのリストが作成されていない場合は、すべてのデータベースがバックアップ対象となります。リストを作成すると、スクリプト化されたバックアップの ^DBACK ユーティリティのエントリ・ポイントの呼び出しも含めて、Caché バックアップのすべてに適用されます。

以下の例は、メニューの各オプションからの出力サンプルです。

  1. ^BACKUP メニューから、オプション 4 を選択して、データベース・バックアップ・リストの管理メニューを表示します。

    %SYS>Do ^BACKUP
     
     
    1) Backup
    2) Restore ALL
    3) Restore Selected or Renamed Directories
    4) Edit/Display List of Directories for Backups
    5) Abort Backup
    6) Display Backup volume information
    7) Monitor progress of backup or restore
     
    Option? 4
     
    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
    
    
  2. リストにデータベースを追加するには、オプション1 を選択します。この例では、データベースが現在のリストに追加されたことを示すため、オプション 3 も使用しています。

    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
     
    Option? 1
    Enter database to add? SAMPLES
    Enter database to add?
    You've selected SAMPLES to be added to the backups
    Are you sure you want to do this (yes/no)? y
    Completed.
     
    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
     
    Option? 3
    The following 5 databases are included in backups
         CACHEAUDIT               C:\MyCache\Mgr\cacheaudit\
         CACHESYS                 C:\MyCache\Mgr\
         DOCBOOK                  C:\MyCache\Mgr\Docbook\
         SAMPLES                  C:\MyCache\Mgr\Samples\
         USER                     C:\MyCache\Mgr\User\
    
    
  3. リストのデータベースを削除するには、オプション 2 を選択します。この例では、データベースが現在のリストから削除されたことを示すため、オプション 3 も使用しています。

    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
     
    Option? 2
    Enter database to remove (^ when done)?  SAMPLES
    Enter database to remove (^ when done)?
    You've removed SAMPLES from the backups
    Are you sure you want to do this? y
    Completed.
     
    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
     
    Option? 3
    The following 4 databases are included in backups
         CACHEAUDIT               C:\MyCache\Mgr\cacheaudit\
         CACHESYS                 C:\MyCache\Mgr\
         DOCBOOK                  C:\MyCache\Mgr\Docbook\
         USER                     C:\MyCache\Mgr\User\
    
    
  4. このインスタンスのすべてのデータベースのリストを表示するには、オプション 4 を選択します。

    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
     
    Option? 4
    The following is a list of all databases in the configuration.
    Databases which are part of the backup are marked with (*)
         (*) CACHEAUDIT           c:\MyCache\mgr\cacheaudit\
             CACHELIB (Read Only) c:\MyCache\mgr\cachelib\
             CACHE                c:\MyCache\mgr\cache\
         (*) CACHESYS             c:\MyCache\mgr\
             DOCBOOK              c:\MyCache\mgr\docbook\
             SAMPLES              c:\MyCache\mgr\samples\
         (*) USER                 c:\MyCache\mgr\user\
     
    
    
  5. 最新のフル・バックアップに関する情報を表示するには、オプション 5 を選択します。

    1) Add a database to the backup
    2) Remove a database from the backup
    3) Show current list of databases included in backups
    4) Show list of available databases
    5) Display last full backup information
     
    Option? 5
     
    =====Last Full Backup Information=====
     
    Date: 19 Jan 2011
    Description: Full backup of all databases that are in the backup database list.
    Device: c:\MyCache\mgr\backup\FullDBList_20110119_001.cbk
    
    

^BACKUP による実行中のバックアップの中止

^BACKUP ユーティリティのメニュー・オプション 5 を使用すると、実行中のバックアップを中止できます。

%SYS>Do ^BACKUP
 
 
1) Backup
2) Restore ALL
3) Restore Selected or Renamed Directories
4) Edit/Display List of Directories for Backups
5) Abort Backup
6) Display Backup volume information
7) Monitor progress of backup or restore
 
Option? 5
Are you sure you want to abort the backup operation ? <No> Yes
Backup abortion succeed.

このオプションを選択したときにバックアップが実行中でない場合は、以下のメッセージが表示されます。

No Backup operation is currently running.

^BACKUP によるバックアップ・ボリュームに関する情報の表示

以下に示すように、^BACKUP メニューからオプション 6 を選択すると、バックアップ・ファイルのパス名の入力を求めるプロンプトが表示されます。

Enter the backup volume you want to display information from
 (Type STOP to exit)
Device: c:\131u1\mgr\backup\FullAllDatabases_20120802_001.cbk =>
 
This backup volume was created by:
Cache for Windows (x86-64) 2013.1 (Build 257U) Sun Jul 1 2012 23:35:31 EDT
 
The volume label contains:
   Volume number       1
   Volume backup       AUG 2 2012 12:27PM Full
   Previous backup     AUG 2 2012 11:35AM Cumulative Incremental
   Last FULL backup    AUG 2 2012 11:24AM
   Description         Full backup of ALL databases
   Buffer Count        0
   Mirror name         JEFF122
   Failover member     NONNIE20/CACHE122A   
   Journal File        c:\131u1\mgr\journal\20120802.005
   Log file            c:\131u1\mgr\Backup\FullAllDatabases_20120802_001.log
   Backup Status       Completed
 
Database                                Size(mb)  Mirror DB Name 
--------                                --------  --------------
c:\131u1\mgr\                                191
c:\131u1\mgr\cacheaudit\                      11
c:\131u1\mgr\user\                          2113  MUSER
Total of 3 databases, totaling 2315 mb
Backup volume size is 2365 mb

^BACKUP によるバックアップまたはリストアの進行状況の監視

^BACKUP を使用して開始された、実行中のバックアップ・ジョブまたはリストア・ジョブの進行状況を監視するには、^BACKUP メニューからオプション 7 を選択します。バックアップ・ジョブまたはリストア・ジョブを開始する前に、別のターミナル・ウィンドウで監視を開始できます。

実行中のバックアップ・ジョブの場合、以下の情報が表示されます。

                                 Backup Status
                                 -------------
 
Status:                       Running
Backup process pid:           13052
Backup file:                  c:\132u1\mgr\stcfull.bck
Description:
Log file:                     c:\132u1\mgr\cachebackup.log
Type:                         Full
Start time:                   2012-09-05 14:09:02
Estimated finish time:        2012-09-05 14:09:45
Total time (hh:mm:ss):        00:00:18
Time remaining (hh:mm:ss):    00:00:25
Estimated backup size:        7.68GB
Current backup size:          3.12GB
Current Backup rate:          184MB/sec
% Completed                   41

実行中のリストア・ジョブの場合、以下の情報が表示されます。

                                 Restor Status
                                 -------------
 
Status:                       Running
Restore process pid:          13052
Restore file:                 c:\132u1\mgr\stcfull.bck
Description:
Type:                         Full
Start time:                   2012-09-05 14:10:49
Estimated finish time:        2012-09-05 14:12:07
Total time (hh:mm:ss):        00:00:34
Time remaining (hh:mm:ss):    00:00:44
Restore file size:            7.68GB
Restore size completed:       3.28GB
Current restore rate:         103MB/sec
% Completed                   43
Note:

インクリメンタル・バックアップを実行している場合、フィールドの一部を使用できず、N/A と表示されます。これには、残り時間推定バックアップ・サイズ、および 完了 % が含まれます。

リストア・ジョブは、リストア開始時にスイッチ 10 が設定された場合、監視できません。

テープ・バックアップおよびリストア・ジョブは、このユーティリティでは監視できません。

Caché オンライン・バックアップ・リストア・ユーティリティ

Caché オンライン・バックアップ・リストア・ユーティリティ (^DBREST) は、以下のアクションを実行します。

  • すべてのディレクトリまたは選択したディレクトリのどちらをリストアするかを指定する必要があります。

  • リストア中は、実行されている他の Caché 処理をすべて停止するかどうかを確認します。ほとんどの場合、[はい] を選択します。

  • リストアするバックアップを保持しているファイル名を確認します。バックアップが複数のボリュームに存在する場合、バックアップ情報はボリューム・ヘッダに書き込まれます。最初のボリュームのリストア後、次にリストアするボリュームがユーティリティから指示されます。

  • ボリューム・ヘッダを表示します。このヘッダには、バックアップ中に確定した情報が記述されています。この情報には、このボリュームのバックアップ日付、前回のバックアップ日付、および最後のフル・バックアップ日付があります。

  • リストアするバックアップが現在のバックアップでよいかを確認します。

  • リストアするデバイス上のディレクトリをリストします。

  • 次にリストアするバックアップを含む他の入力デバイスを指定できます。

  • バックアップ・ボリュームに関する情報をいつでも表示できます。

^DBREST メニューのオプション 12、および 3 は、^BACKUP メニューのオプション 23、および 6 と同じです。

これらのリストア・オプションのいずれかを選択すると、リストアする最初のバックアップが保存されたデバイス名を入力するよう求められます。リストア・オプションの初回入力時の既定値は、最新のフル・バックアップが送信されたデバイスです (存在する場合)。

Caution:

インクリメンタル・バックアップ、または累積バックアップをリストアする場合、対象となるデータベースの状態が、最新のフル・バックアップでリストアした時点と 完全に 同じ状態である必要があります。

後続のすべてのインクリメンタル・バックアップのリストアが完了するまで、リストアしたデータベースは絶対に更新しないでください。この警告を守らないと、インクリメンタル・バックアップや累積バックアップからのリストアで、データベースが破損することがあります。

以下は、ターミナルからユーティリティを実行する場合の例です。

%SYS>Do ^DBREST
 
                        Cache DBREST Utility
         Restore database directories from a backup archive
 
Restore: 1. All directories
         2. Selected and/or renamed directories
         3. Display backup volume information
         4. Exit the restore program
    1 => 

以下のセクションでは、各オプションを選択する手順について説明します。

  1. ^DBREST によるすべてのデータベースのリストア

  2. ^DBREST による選択したデータベースまたは名前を変更したデータベースのリストア

  3. ^BACKUP によるバックアップ・ボリュームに関する情報の表示

  4. バックアップ履歴によるデータベースのリストア

  5. ^DBREST による自動リストア

  6. ミラーリングされたデータベースの考慮事項

また、スクリプトで非インタラクティブにこれらの関数を実行できます。詳細は、"^DBREST の外部エントリ・ポイント" を参照してください。

^DBREST によるすべてのデータベースのリストア

^DBREST メニューから 1 を選択すると、^BACKUP メニューから 2 を選択した場合と同じになります。

Note:

ミラーリングされたデータベース (ミラーリング・データベース) をリストアする場合は、手順の実行の前にこのセクションの "ミラーリングされたデータベースの考慮事項" を確認してください。

以下の手順は、すべてのディレクトリをリストアする場合の概要を示す例です。リストア処理の開始プロンプトが示されます。処理を進めるにつれ、リストア・プロセスのステッピングの際に非常に個別的な質問が行われます。

  1. ユーティリティ・メニューからすべてのディレクトリのリストアを選択します。このオプションでは、バックアップ・メディアにあるすべてのディレクトリがリストアされます。

    %SYS>Do ^DBREST
     
                            Cache DBREST Utility
             Restore database directories from a backup archive
     
    Restore: 1. All directories
             2. Selected and/or renamed directories
             3. Display backup volume information
             4. Exit the restore program
        1 => 1
    
    
  2. すべてのディレクトリをリストアすることを確認します。

    Proceed with restoring ALL directories Yes=>
    
  3. 次に、すべてのデータベースのリストア先にする最上位パスを入力するよう求められます。これは、リストア対象のデータベースの元のパスに接頭語として自動的に追加されます。これによって、元のディレクトリをこのディレクトリのサブディレクトリとして、すべてのデータベースがこのディレクトリの下位でリストアされます。これを無視して、データベースを元のパスでリストアするには、Enter を押します。

    Top directory for all Databases to be restored to (? for Help)?
    
  4. リストア実行中、Caché 処理を一時停止するかどうかを示します。これらの処理は一時停止することをお勧めします。

    Do you want to set switch 10 so that other processes will be
    prevented from running during the restore? Yes =>
    
  5. リストア場所から最初のファイルを指定します。Enter キーを押すと既定のファイルを指定できます。既定のファイルは、最後のフル・バックアップです。

    Specify input file for volume 1 of backup 1
     (Type STOP to exit)
    Device: c:\mycache\mgr\backup\FullAllDatabases_20110323_001.cbk =>
    
    
  6. バックアップの詳細が正確かどうかをチェックし、このファイルが、リストアするファイルであることを確認します。

    This backup volume was created by:
       Cache for Windows (Intel) 5.1
     
    The volume label contains:
       Volume number      1
       Volume backup      MAR 23 2011 09:52AM Full
       Previous backup    MAR 22 2011 11:00AM Incremental
       Last FULL backup   MAR 16 2011 11:00AM
       Description        Full backup of ALL databases, whether or not they are in
                          the backup database list.
       Buffer Count       0
    Is this the backup you want to start restoring? Yes =>
    
    
  7. リストアするディレクトリがユーティリティから示され、リストア処理が進められます。

    The following directories will be restored:
    c:\mycache\mgr\
    c:\mycache\mgr\cacheaudit\
    c:\mycache\mgr\samples\
    c:\mycache\mgr\test\
    c:\mycache\mgr\user\
    
     
    ***Restoring c:\mycache\mgr\ at 10:46:01
    146045 blocks restored in 241.3 seconds for this pass, 146045 total restored.
    
    
  8. リストアを要する次のインクリメンタル・バックアップの入力ファイルを指定します。これ以上リストアする入力ファイルがない場合は「stop」と入力します。

    Specify input file for volume 1 of backup following MAR 23 2011  09:52AM
     (Type STOP to exit)
    Device: stop
    
    
  9. 他のバックアップをリストアするかどうかを示します。「Yes」で応答すると、このプロシージャが再び実行されます。「No」で応答すると、リストアされたデータベースが Caché によってマウントされます。

    Do you have any more backups to restore? Yes => No
    Mounting c:\mycache\mgr\
        c:\mycache\mgr\       ... (Mounted)
     
    Mounting c:\mycache\mgr\cacheaudit\
        c:\mycache\mgr\cacheaudit\  ... (Mounted)
     
    Mounting c:\mycache\mgr\samples\
        c:\mycache\mgr\samples\  ... (Mounted)
     
    Mounting c:\mycache\mgr\test\
        c:\mycache\mgr\test\  ... (Mounted)
     
    Mounting c:\mycache\mgr\user\
        c:\mycache\mgr\user\  ... (Mounted)
     
    
    
  10. リストアしたデータベースに割り当てるジャーナル・エントリと、リストアするジャーナル・ファイル名を指定します。通常は、オプション 1 を選択して、リストアしたディレクトリに影響する変更のみを適用します。

    Note:

    すべてのディレクトリまたは選択されたディレクトリのすべてのエントリとグローバルをリストアするときに何が起こるかについては、このドキュメントの “ジャーナリング” の章にある "^JRNRESTO を使用したジャーナル・ファイルからのグローバルのリストア" を参照してください。

    Restoring a directory restores the globals in it only up to the
    date of the backup.  If you have been journaling, you can apply
    journal entries to restore any changes that have been made in the
    globals since the backup was made.
     
    What journal entries do you wish to apply?
     
         1. All entries for the directories that you restored
         2. All entries for all directories
         3. Selected directories and globals
         4. No entries
     
    Apply: 1 =>
    
    
  11. いくつかの情報の確認後に、ジャーナル・ファイルからのリストアが開始されます。

    We know something about where journaling was at the time of the backup:
    0: offset 172940 in c:\mycache\mgr\journal\20110323.002
     
    Use current journal filter (ZJRNFILT)? No
    Use journal marker filter (MARKER^ZJRNFILT)? No
    Updates will not be replicated
     
    The earliest journal entry since the backup was made is at
    offset 172940 in c:\mycache\mgr\journal\20110323.002
     
    Do you want to start from that location? Yes => Yes
    Final file to process (name in YYYYMMDD.NNN format): <20110323.003> [?]
          =>
     
    Prompt for name of the next file to process? No => No
     
    Provide or confirm the following configuration settings:
     
    Journal File Prefix: =>
     
    Files to dejournal will be looked for in:
         c:\mycache\mgr\journal\
         c:\journal\altdir\
    in addition to any directories you are going to specify below, UNLESS
    you enter a minus sign ('-' without quotes) at the prompt below,
    in which case ONLY directories given subsequently will be searched
     
    Directory to search: <return when done>
    Here is a list of directories in the order they will be searched for files:
         c:\mycache\mgr\journal\
         c:\journal\altdir\
    The journal restore includes the current journal file.
    You cannot do that unless you stop journaling or switch
         journaling to another file.
    Do you want to switch journaling? Yes => Yes
    Journaling switched to c:\mycache\mgr\journal\20110323.004
     
    You may disable journaling the updates for faster restore; on the other hand,
    you may not want to do so if a database to restore is being shadowed.
    Do you want to disable journaling the updates? Yes => yes
    Updates will NOT be journaled
    
    
  12. ユーティリティによって進捗状況が表示され、完了時点が示されます。

     
     
    c:\mycache\mgr\journal\20110323.002
      61.32%  65.03%  68.44%  72.21%  75.86%  79.26%  82.73%  86.08%  89.56%  
      92.99%  96.07%  98.87%100.00%
    ***Journal file finished at 11:03:31
     
     
    c:\mycache\mgr\journal\20110323.003
      16.17%  17.10%  17.90%  18.90%  20.05%  21.33%  22.58%  23.81%  25.15%  
      26.32%  27.65%  28.85%  30.08%  31.37%  32.59%  33.98%  35.16%  36.25%  
      37.32%  38.41%  39.55%  40.72%  41.81%  42.83%  43.85%  44.89%  46.00%  
      47.15%  48.24%  49.28%  50.32%  51.41%  52.54%  53.71%  54.76%  55.80%  
      56.85%  57.97%  59.10%  60.16%  61.17%  62.19%  63.24%  64.32%  65.18%  
      66.02%  66.87%  67.71%  68.52%  69.34%  70.14%  70.96%  71.76%  72.60%  
      73.58%  74.51%  75.43%  76.35%  77.26%  78.17%  79.07%  79.69%  80.31%  
      80.93%  81.56%  82.20%  82.83%  83.47%  84.27%  87.00%  88.57%  91.65%  
      93.03%  96.09%  97.44%  99.04%100.00%
    ***Journal file finished at 11:03:32
     
    Journal reads completed. Applying changes to databases...
      14.29%  28.57%  42.86%  57.14%  71.43%  85.71% 100.00%
     
    [journal operation completed]
    
    

^DBREST による選択したデータベースまたは名前を変更したデータベースのリストア

^DBREST メニューから 2 を選択すると、^BACKUP メニューから 3 を選択した場合と同じになります。このオプションでは、バックアップ・メディアからリストアするディレクトリを選択できます。また、別のディレクトリ名や別のデバイスでデータベースをリストアすることもできます。

Note:

ミラーリングされたデータベース (ミラーリング・データベース) をリストアする場合は、手順の実行の前にこのセクションの "ミラーリングされたデータベースの考慮事項" を確認してください。

以下の例は、選択したディレクトリまたは名前を変更したディレクトリのリストア方法を示しています。

  1. ^DBREST ユーティリティからオプション 2 を選択します。

    %SYS>Do ^DBREST
     
                            Cache DBREST Utility
             Restore database directories from a backup archive
     
    Restore: 1. All directories
             2. Selected and/or renamed directories
             3. Display backup volume information
             4. Exit the restore program
        1 => 2
    
    
  2. リストア実行中、Caché 処理を一時停止するかどうかを示します。これらの処理は一時停止することをお勧めします。

    Do you want to set switch 10 so that other Cache processes
    will be prevented from running during the restore? Yes =>
    
  3. リストア場所から最初のファイルを指定します。Enter キーを押すと既定のファイルを指定できます。既定のファイルは、最後のフル・バックアップです。

    Specify input file for volume 1 of backup 1
     (Type STOP to exit)
    Device: c:\mycache\mgr\backup\IncrementalDBList_20110323_001.cbk =>
    
    
  4. バックアップの詳細が正確かどうかをチェックし、このファイルが、リストアするファイルであることを確認します。

    This backup volume was created by:
       Cache for Windows (Intel) 5.1
     
    The volume label contains:
       Volume number      1
       Volume backup      MAR 23 2011 11:03AM Full
       Previous backup    MAR 23 2011 09:52AM Full
       Last FULL backup   MAR 23 2011 09:52AM
       Description        Incremental backup of all databases that are in the backup
                          database list.
       Buffer Count       0
    Is this the backup you want to start restoring? Yes =>
    
    
  5. ユーティリティからディレクトリ名を要求されるので、リストアするデータベースとリストア先のディレクトリを指定します。

    For each database included in the backup file, you can:
     
     -- press RETURN to restore it to its original directory;
     -- type X, then press RETURN to skip it and not restore it at all.
     -- type a different directory name.  It will be restored to the directory
        you specify.  (If you specify a directory that already contains a
        database, the data it contains will be lost).
     
    c:\mycache\mgr\ =>
    c:\mycache\mgr\cacheaudit\ =>
    c:\mycache\mgr\test\ =>
    c:\mycache\mgr\user\ =>
    
    
    
  6. ディレクトリに関するプロンプトのそれぞれに応答すると、次のプロンプトが表示されます。

    Do you want to change this list of directories? No =>
    
    

    選択を編集する場合は「Yes」と入力し、確定する場合は Enter キーを押します。

  7. 前セクションのすべてのディレクトリのリストア手順と同様に処理が続行されます。

この手順は、リストアするシステムと異なるシステム上で実行されたバックアップのリストアに使用できます。

バックアップ履歴によるデータベースのリストア

Caché のバックアップ・ユーティリティでは、バックアップ履歴 が管理されるため、バックアップを論理的な順序でリストアできます。リストア・ユーティリティにより、タイプとバックアップ履歴の順序に従ってバックアップがリストアされるように要求されます。

最新のフル・バックアップをリストアした後、バックアップ履歴 の情報を使用して、リストアする次の論理バックアップが示され、履歴の最後までこれが続きます。後続のバックアップは以下の順序でリストアするように要求されます。

  1. 最新のフル・バックアップの実行後に、最新の累積バックアップ (存在する場合) が要求されます。

  2. 最新の累積バックアップ以降の (累積バックアップが存在しない場合は、最新のフル・バックアップ以降の) すべてのインクリメンタル・バックアップが要求されます。一番古いものから最新までの順番で、リストアを実行します。

リストア処理で、指示されたバックアップを変更できます。しかし、インクリメンタル・バックアップや累積バックアップは、データベースの完全なコピーではありません。インクリメンタル・バックアップをリストアするには、事前にフル・バックアップをリストアしておく必要があります。

Important:

クラスタから同一データベースへのアクセスがサポートされる Caché プラットフォームでは、指定されたデータベース・ディレクトリを常に同じノードからバックアップする必要があります。これにより、ディレクトリのリストアが必要な場合に、完全なバックアップ履歴の使用が可能になります。

^DBREST による自動リストア

Caché リストア・ユーティリティ ^DBREST には、外部エントリ・ポイントによる非インタラクティブな実行オプションが用意されています。

Note:

ミラーリングされたデータベース (ミラーリング・データベース) をリストアする場合は、自動リストアを実行する前にこのセクションの "ミラーリングされたデータベースの考慮事項" を確認してください。

これらの 2 つのエントリ・ポイントのいずれかを呼び出すことによって、無人で実行されるリストアを実装するスクリプトを作成できます。

  • EXTALL^DBREST — バックアップ・デバイスからすべてのデータベースをリストアします ("^DBREST によるすべてのデータベースのリストア" で説明されている手順と同等の自動リストア)。^DBREST ユーティリティの EXTALL エントリ・ポイントを使用する構文は、以下のようになります。

    EXTALL^DBREST(quietmode,allowupd,inpdev,dirlist,jrnopt,jrnfile,jdirglo)
    
    Note:

    ターゲット・ディレクトリが存在するが、CACHE.DAT ファイルが存在しない場合、EXTALL^DBRESTCACHE.DAT ファイルをリストアします。

  • EXTSELCT^DBREST — 選択されたファイルをバックアップ・デバイスからリストアするか、またはソース・ディレクトリと異なるターゲット・ディレクトリにリストアします ("^DBREST による選択したデータベースまたは名前を変更したデータベースのリストア" で説明されている手順と同等の自動リストア)。^DBREST ユーティリティの EXTSELCT エントリ・ポイントを使用する構文は、以下のようになります。

    EXTSELCT^DBREST(quietmode,allowupd,inpdev,dirlist,jrnopt,jrnfile,jdirglo)
    

両方のエントリ・ポイントは、呼び出しの状態を返す関数です。引数はすべて入力のみです。特に指定がない限り、下表に記載された入力引数は両方の関数で使用されます。

引数 説明
allowupd リストア処理中に更新を許可するか否かのインジケータ

1 — リストア処理中に更新を許可します。

0 — 更新を許可しません。

dirlist リストアするディレクトリのリストを含むファイルの名前。リストアする各ディレクトリに 1 つのレコードが存在する必要があります。EXTALL エントリ・ポイントでは無視されます。“ディレクトリ・リスト・ファイルの要件” を参照してください。
inpdev バックアップを含む入力デバイス。このデバイスがテープ・デバイスの場合、ユーティリティでは、次のボリュームのデバイスを指定するよう求められます。
jdirglo jrnopt3 の場合のみ使用します。これは、ジャーナルのリストアのためのディレクトリおよびグローバルの選択条件を含むファイルの名前です。“ディレクトリとグローバルの選択条件” を参照してください。
jrnfile ジャーナル・ファイル。NULL の場合、ユーティリティは、^%SYS("JOURNAL“,”CURRENT") グローバルに保存されている現在のファイルを使用します。
jrnopt ジャーナルをリストアするためのオプション

1 — バックアップをリストアしたすべてのディレクトリ

2 — ジャーナル内のすべてのディレクトリ

3 — jdirglo 引数によって指定された、選択されたディレクトリおよびグローバル

4 — ディレクトリなし

quietmode 値は、処理が quiet (非インタラクティブ) モードであることを示し、この外部呼出しに対しては、NULL 以外の値 (通常 1) とする必要があります。

これらの関数の呼び出しから、以下のコードが返される可能性があります。

リターン・コード 説明
3 エラーは発生していません。正常に完了しました。
-1 入力デバイス (リストア元のデバイス) を開くことができません。
-2 ボリュームのラベルが、バックアップ履歴のラベルと一致しません。
-3 バックアップおよびリストアは、既に進行中です。
-4 読み取り選択条件に対して (ディレクトリの選択的リストアに対して) 無効なデバイスです。
-5 無効なジャーナル・リストア・オプションです。
-6 無効なジャーナル・ファイルであるか、ジャーナル・リストアの選択条件のファイルを開けません。

ディレクトリ・リスト・ファイルの要件

dirlist によって示されたファイルの要件

  • リストアするディレクトリごとに 1 つのレコードを含みます。

  • 各フィールドをコンマで区切ります (,)。

  • 各レコードの形式は、SourceDirTargetDirCreateDir で、これらの意味は以下のとおりです。

    引数 説明
    SourceDir リストアするディレクトリの名前。
    TargetDir リストア先のディレクトリの名前。ソース・ディレクトリと同じ名前のディレクトリにリストアする場合は省略します。
    CreateDir ターゲット・ディレクトリが存在しない場合、ターゲット・ディレクトリを作成するか否か。

    Y — ターゲット・ディレクトリを作成します。

    N — ターゲット・ディレクトリを作成しません。

例えば、テキスト・ファイル (RestoreList.txt) を以下の文字列を含む C:\Backup\ ディレクトリに作成したと仮定します。

C:\intersystems\cache\mgr\user\,C:\intersystems\cache\mgr\,Y

以下のルーチンを %SYS ネームスペースで実行すると、C:\intersystems\cache\mgr\user\ から C:\intersystems\cache\mgr\ にデータベースをリストアできます。

set SourceDir = "C:\intersystems\cache\mgr\user\"
set BackupDir = "C:\Backup\"
set BackupListFile="C:\Backup\RestoreList.txt"
do EXTSELCT^DBREST(1,0,BackupDir_"back1.cbk",BackupListFile,4,"","")

ディレクトリとグローバルの選択条件

jdirglo によって示されたファイルの要件

  • リストアするディレクトリのそれぞれのレコードが 1 つずつ格納されます。

  • 各フィールドをコンマで区切ります (,)。

  • 各レコードの形式は、DirNameRestAllGlobals で、これらの意味は以下のとおりです。

引数 説明
DirName ジャーナルをリストアするディレクトリの名前。
Globals ジャーナル・リストアのためにコンマで区切られたグローバルのリスト。RestAll が N の場合のみ使用します。グローバルのリストが大きい場合、次の行に残りのグローバル名を記述できますが、再び、ディレクトリ名に続いて、N およびグローバルのリストを指定する必要があります。
RestAll ディレクトリ内のすべてのグローバルについてジャーナル・エントリをリストアするか否か。大文字小文字を区別しない、必須の引数です。

Y — このディレクトリ内のすべてのグローバルでジャーナルをリストアします。

N — グローバル・リストにジャーナル・リストアのためのグローバルを指定します。

異なるレコードの例を以下に示します。

DUA0:[TEST1],Y
DUA1:[TEST2],N,GLO1,GLO2,GLO3
DUA1:[TEST2],N,GLO4,GLO5,GLO6
DUA1:[TEST3],n 

そのディレクトリのジャーナルをリストアしたくない場合、最後のレコードも完全に省略できます。

ミラーリングされたデータベースの考慮事項

ミラーリングされたデータベース (ミラーリング・データベース) が Caché バックアップ・リストアのターゲット (対象) である場合、ソース・データベースはターゲット・データベースと一致する必要があります (つまり、同じミラーリング・データベースであることが必要です)。

Note:

フェイルオーバー・ミラー・メンバで作成されたミラーリング・データベースのバックアップは、そのミラーの任意のメンバ (つまり、他のフェイルオーバー・メンバもしくは非同期メンバ) にリストアできます。非同期メンバで作成されたバックアップからリストアする場合、このセクションの "非同期ミラー・メンバからのリストア" を参照してください。

このセクションで、「アクティブなミラーリング・データベース」という語は、現在、ホスト・システムが属するミラーに含まれているデータベースを指します (そのミラーが現在稼働していない場合も含む)。以前にミラーリングされていたデータベースや、ホスト・システムが既に属していないミラーに含まれていたデータベースは該当しません。

ミラーでの Caché バックアップ・リストアの動作は、バックアップを作成したミラー・メンバでリストアしているのか、あるいは別のシステムであるかにより、以下のように異なります。

  • プライマリ・フェイルオーバー・メンバ — ^DBREST ではプライマリ・フェイルオーバー・メンバのアクティブなミラーリング・データベースをリストアできません。ただし、データベースにリストアの必要がある場合は、ミラーから一時的に削除できます ("高可用性ガイド" の “ミラーリング” の章の "ミラーリングされたデータベースをミラーから削除する" を参照)。ただしデータベースはミラーリングされたデータベースとしてリストアされ (ミラーリングされたデータベースとしてバックアップされたため)、、以下の各セクションで説明する機能 (ミラーにあるデータベースをアクティブ化するために必要なジャーナル・ファイルの自動リストアなど) が適用されます。

  • バックアップ・フェイルオーバー・メンバ — バックアップ・フェイルオーバー・メンバで、アクティブ状態にある、もしくはバックアップのコピーよりも新しいミラーリング・データベースのリストアを行うと、以下のように警告メッセージが表示されます。

    • フルバックアップ・リストアの場合、それらのデータベースはスキップされます。

    • 選択的リストアの場合、ターゲットを上書きしていいかどうかが確認されます。

ミラーリングされたデータベースのフルバックアップ・リストア

^DBREST ユーティリティによる対話形式 (この章の "Caché オンライン・バックアップ・リストア・ユーティリティ" を参照) と EXTALL エントリ・ポイントによる非対話形式 (この章の "^DBREST の外部エントリ・ポイント" を参照) のどちらで実行したかによって、ミラーリングされたデータベース (ミラーリング・データベース) のフルバックアップ・リストアは以下のように異なります。

  • バックアップを作成したシステムでのフルバックアップ・リストアは、ミラーリングされていないシステムに対する場合と同様に行われます。ただし、バックアップのコピーよりも新しい、ローカルのミラーリング・データベース (定義では、現在アクティブなデータベースも含む) はスキップされる点が異なります。すべてのデータベースは元の場所へリストアされます。

  • バックアップを作成したシステム以外のミラー・メンバでのフルバックアップ・リストアは、既にシステムに存在するミラーリング・データベースのみをリストアします。ただし、バックアップ内のミラーリング・データベースよりも新しい、ターゲット・システムのミラーリング・データベースはスキップされます。

  • 新規の最上位のディレクトリを指定するフルバックアップ・リストアでは、データベースの新規パスを生成した後にバックアップ内のデータベースすべてをリストアします。リストアの後、ミラーリング・データベースのコピーが最終的に 2 つになった場合、リストアされたコピーは既にシステム上でアクティブであるためにアクティブ化できないと警告されます。

フルバックアップ・リストア後に、システムは以下を試みます。

  1. 必要なジャーナル・ファイルのリストアにより、ミラーリングされたデータベースをアクティブにする。

  2. ミラーリング・データベースをアクティブなミラーへリンクする (ミラーが存在し、かつデータベースのコピーは存在しない場合)。

ミラーリングされたデータベースの選択的バックアップ・リストア

ミラーリングされたデータベース (ミラーリング・データベース) の選択的バックアップ・リストアは、以下のように異なります。

  • バックアップをリストアする際、リストアをミラーリング・データベースのみに制限するかどうかを尋ねられます。ユーザの応答によって以下のようになります。

    • [はい] — ミラーリングされたデータベースのみが表示されます。

    • [いいえ] — バックアップのデータベースすべての宛先を選択するプロンプトが表示されます。

  • 選択的リストアのデータベース選択フェーズの間、バックアップのデータベースのリストが表示され、それらをリストアする場所のパスを指定するよう求められます。ソース・システムにリストアする場合は、パスを入力するか、“X” または “x” (ディレクトリをスキップ) を入力するか、あるいは Enter キー (バックアップ内に保存されたパスにリストア) を押します。

    バックアップを作成したシステムではないミラー・メンバ上にバックアップをリストアする場合、ミラーリングされたデータベースのディレクトリについて Enter キーを押すと、同じミラー・データベース名を持つアクティブなミラーリング・データベースがそのシステム上にあるかどうかによって結果が異なります。

    • データベースが存在する場合、Enter キーを押すと、既存のデータベースのディレクトリ・パス (そのパスがソース・システムのパスと同じかどうかなど) にかかわりなく、リストアされたデータベースで既存のデータベースが上書きされます。

    • データベースが存在しない場合、データベースはソース・マシン上にあるディレクトリ・パスにリストアされます。そのパスが存在しない場合は、必要なディレクトリが作成されているかどうか確認する必要があります。データベースがその場所に既にある場合、アクションは不要です。

  • 選択的バックアップ・リストアにおいて、以下の状況でミラーリング・データベースがリストアによって上書きされることが検出されると、その続行によってターゲット・データベースが破壊される旨の警告が表示され、続行するかどうかを尋ねられます。

    • バックアップのデータベースが現在のデータベースより古い。

    • バックアップのデータベースが現在のデータベースのコピーではない (例えば、ミラーリングされていないデータベースや、別のミラーの同じミラー・データベース名のデータベースである場合)。

    続行する場合、ターゲット・データベースはミラーから削除され、要求に従い上書きされます。

  • 選択的バックアップ・リストアが EXTSELECT エントリ・ポイント (この章の "^DBREST の外部エントリ・ポイント" を参照) を介して非対話形式で行われている場合は、ソース・パスおよびターゲット・パスのデータベース選択ファイルは、パス名またはミラー・データベース名のいずれかで指定できます。

    ミラーリングされたデータベースの場合、ターゲットを空白にすることでローカル・マシンの該当ミラー・データベースに対するリストアとなります。ターゲットを空白としない場合、データベースは以下のいずれかになります。

    • ミラーリングされたデータベースの正規のローカル・コピー。

    • ミラーリングされたデータベースのローカル・コピーがシステムにない場合は、ミラーリングされていないデータベース (または、存在しないディレクトリ/データベース)。

    • ミラー・データベース名。

    Note:

    ターゲットがミラー・データベース名 (もしくは空白)で、ミラーリングされたデータベースがローカル・システムに存在しない (もしくはディスマウントである) 場合、バックアップを作成したシステム上でバックアップをリストアする場合に限り、ターゲットは作成されます。バックアップが他のミラー・メンバでリストアされる場合、データベースはスキップされます。

フルバックアップ・リストアと同様に、選択的バックアップ・リストア後に、システムは以下を試みます。

  1. 必要なジャーナル・ファイルのリストアにより、ミラーリングされたデータベースをアクティブにする。

  2. ミラーリングされたデータベースをアクティブなミラーへリンクする (ミラーが存在する場合)。

非同期ミラー・メンバからのリストア

非同期ミラー・メンバで作成されたミラーリング・データベースからリストアする際には、以下の点を考慮します。

  • 非同期ミラー・メンバで作成されたミラーリング・データベースのバックアップは、同じミラーの任意の非同期メンバに対してリストアできます。

  • 非同期ミラー・メンバで作成されたミラーリング・データベースのバックアップは、ミラーリング・データベースの新規コピーを作成する場合に限って使用できます (つまり、フェイルオーバー・メンバの既存のミラーリング・データベース上にリストアすることはできません)。

FeedbackOpens in a new tab