25.01.2015 Views

Caché データ整合性ガイド

Caché データ整合性ガイド

Caché データ整合性ガイド

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Caché</strong> データ 整 合 性 ガイド<br />

Version 2013.1<br />

2013 年 07 月 02 日<br />

InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com


<strong>Caché</strong> データ 整 合 性 ガイド<br />

<strong>Caché</strong> Version 2013.1 2013 年 07 月 02 日<br />

Copyright © 2012 InterSystems Corporation<br />

All rights reserved.<br />

このドキュメントは、 Sun Microsystems、RenderX Inc.、 アドビ システムズ および ワールドワイド・ウェブ・コンソーシアム(www.w3c.org)のツールと<br />

情 報 を 使 用 して、 Adobe Portable Document Format (PDF)で 作 成 およびフォーマットされました。 主 要 ドキュメント 開 発 ツールは、InterSystemsが 構<br />

築 したCacheéと Javaを 使 用 した 特 別 目 的 のXML 処 理 アプリケーションです。<br />

, ,<br />

<strong>Caché</strong> WEBLINK, Distributed Cache Protocol, M/SQL, M/NET および M/PACT は InterSystems Corporation の 登 録 商 標 です。<br />

, , and ,<br />

InterSystems TrakCare, InterSystems Jalapeño Technology, Enterprise Cache Protocol, ECP および InterSystems Zen は InterSystems Corporation の<br />

登 録 商 標 です。<br />

ここで 使 われている 他 の 全 てのブランドまたは 製 品 名 は、 各 社 および 各 組 織 の 商 標 または 登 録 商 標 です。<br />

このドキュメントは、インターシステムズ 社 ( 住 所 :One Memorial Drive, Cambridge, MA 02142)あるいはその 子 会 社 が 所 有 する 企 業 秘 密 および 秘 密<br />

情 報 を 含 んでおり、インターシステムズ 社 の 製 品 を 稼 動 および 維 持 するためにのみ 提 供 される。この 発 行 物 のいかなる 部 分 も 他 の 目 的 のために 使<br />

用 してはならない。また、インターシステムズ 社 の 書 面 による 事 前 の 同 意 がない 限 り、 本 発 行 物 を、いかなる 形 式 、いかなる 手 段 で、その 全 てまたは<br />

一 部 を、 再 発 行 、 複 製 、 開 示 、 送 付 、 検 索 可 能 なシステムへの 保 存 、あるいは 人 またはコンピュータ 言 語 への 翻 訳 はしてはならない。<br />

かかるプログラムと 関 連 ドキュメントについて 書 かれているインターシステムズ 社 の 標 準 ライセンス 契 約 に 記 載 されている 範 囲 を 除 き、ここに 記 載 さ<br />

れた 本 ドキュメントとソフトウェアプログラムの 複 製 、 使 用 、 廃 棄 は 禁 じられている。インターシステムズ 社 は、ソフトウェアライセンス 契 約 に 記 載 され<br />

ている 事 項 以 外 にかかるソフトウェアプログラムに 関 する 説 明 と 保 証 をするものではない。さらに、かかるソフトウェアに 関 する、あるいはかかるソフ<br />

トウェアの 使 用 から 起 こるいかなる 損 失 、 損 害 に 対 するインターシステムズ 社 の 責 任 は、ソフトウェアライセンス 契 約 にある 事 項 に 制 限 される。<br />

前 述 は、そのコンピュータソフトウェアの 使 用 およびそれによって 起 こるインターシステムズ 社 の 責 任 の 範 囲 、 制 限 に 関 する 一 般 的 な 概 略 である。 完<br />

全 な 参 照 情 報 は、インターシステムズ 社 の 標 準 ライセンス 契 約 に 記 され、そのコピーは 要 望 によって 入 手 することができる。<br />

インターシステムズ 社 は、 本 ドキュメントにある 誤 りに 対 する 責 任 を 放 棄 する。また、インターシステムズ 社 は、 独 自 の 裁 量 にて 事 前 通 知 なしに、 本 ド<br />

キュメントに 記 載 された 製 品 および 実 行 に 対 する 代 替 と 変 更 を 行 う 権 利 を 有 する。<br />

インターシステムズ 社 の 製 品 に 関 するサポートやご 質 問 は、 以 下 にお 問 い 合 わせください:<br />

Tel:<br />

Fax:<br />

Email:<br />

InterSystems Worldwide Customer Support<br />

+1 617 621-0700<br />

+1 617 374-9391<br />

support@InterSystems.com


目 次<br />

このドキュメントについて ................................................................................................... 1<br />

1 ライト・イメージ・ジャーナリングとリカバリ ............................................................................ 3<br />

1.1 ライト・イメージ・ジャーナリング ................................................................................ 3<br />

1.1.1 ライト・イメージ・ジャーナル (WIJ) .................................................................... 3<br />

1.1.2 2 フェーズ・ライト・プロトコル .......................................................................... 4<br />

1.2 リカバリ ............................................................................................................... 4<br />

1.2.1 リカバリ・プロシージャ ................................................................................... 4<br />

1.3 ライト・イメージ・ジャーナリングの 限 界 ...................................................................... 5<br />

2 バックアップとリストア ..................................................................................................... 7<br />

2.1 バックアップの 整 合 性 と 復 元 可 能 性 ......................................................................... 7<br />

2.2 ジャーナルの 重 要 性 ............................................................................................. 8<br />

2.3 バックアップの 方 法 ............................................................................................... 9<br />

2.3.1 外 部 バックアップ ......................................................................................... 9<br />

2.3.2 <strong>Caché</strong> オンライン・バックアップ ..................................................................... 10<br />

2.3.3 コールド・バックアップ ................................................................................. 12<br />

2.3.4 レガシー 並 行 外 部 バックアップ ..................................................................... 12<br />

2.4 バックアップからのリストア .................................................................................... 14<br />

2.4.1 バックアップ・リストアのシナリオ .................................................................... 14<br />

2.4.2 メンテナンス・モードによる <strong>Caché</strong> の 起 動 ....................................................... 20<br />

2.4.3 バックアップ・リストア 後 のジャーナル・リストア .................................................. 21<br />

2.4.4 自 動 WIJ およびジャーナル・リカバリを 使 用 しない <strong>Caché</strong> の 起 動 ....................... 21<br />

2.5 <strong>Caché</strong> オンライン・バックアップ 設 定 の 構 成 ............................................................. 22<br />

2.5.1 データベース・バックアップ・リストの 定 義 ........................................................ 23<br />

2.5.2 バックアップ・タスクの 構 成 ........................................................................... 23<br />

2.5.3 バックアップ・タスクのスケジュール ................................................................ 24<br />

2.6 <strong>Caché</strong> オンライン・バックアップの 管 理 .................................................................... 25<br />

2.6.1 バックアップ・タスクの 実 行 ........................................................................... 25<br />

2.6.2 バックアップ・ステータスの 表 示 ..................................................................... 26<br />

2.6.3 実 行 中 のバックアップの 中 止 ....................................................................... 26<br />

2.6.4 バックアップ 履 歴 の 表 示 .............................................................................. 27<br />

2.7 <strong>Caché</strong> オンライン・バックアップ・ユーティリティ ......................................................... 27<br />

2.7.1 ^DBSIZE によるバックアップ・サイズの 見 積 もり ................................................ 27<br />

2.7.2 ^BACKUP によるバックアップおよびリストアのタスクの 実 行 ................................ 30<br />

2.7.3 ^DBACK によるデータベースのバックアップ ................................................... 30<br />

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

2.7.5 ^BACKUP による 実 行 中 のバックアップの 中 止 ................................................ 37<br />

2.8 <strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ .............................................. 37<br />

2.8.1 ^DBREST によるすべてのデータベースのリストア ............................................. 38<br />

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

........................................................................................................................ 41<br />

2.8.3 バックアップ 履 歴 によるデータベースのリストア ................................................ 42<br />

2.8.4 ^DBREST の 外 部 エントリ・ポイント ................................................................. 42<br />

2.8.5 ミラーリングされたデータベースの 考 慮 事 項 .................................................... 45<br />

3 ジャーナリング ............................................................................................................ 49<br />

3.1 ジャーナリングの 概 要 .......................................................................................... 49<br />

3.1.1 ジャーナリングとライト・イメージ・ジャーナリングの 違 い ...................................... 50<br />

<strong>Caché</strong> データ 整 合 性 ガイド<br />

iii


3.1.2 データベースの 整 合 性 の 保 護 ..................................................................... 51<br />

3.1.3 トランザクションの 自 動 ジャーナリング ............................................................ 51<br />

3.1.4 不 完 全 トランザクションのロールバック ............................................................ 51<br />

3.1.5 ジャーナル 書 き 込 みサイクル ........................................................................ 52<br />

3.1.6 ジャーナル・ファイルとジャーナル 履 歴 ログ ..................................................... 52<br />

3.1.7 一 時 グローバルと CACHETEMP の 使 用 ....................................................... 53<br />

3.1.8 ジャーナル 管 理 のクラスとグローバル ............................................................ 54<br />

3.2 ジャーナリングの 構 成 .......................................................................................... 54<br />

3.2.1 ジャーナル 設 定 の 構 成 ............................................................................... 54<br />

3.2.2 ジャーナリングの 最 善 の 使 用 方 法 ................................................................. 56<br />

3.3 ジャーナリング 処 理 タスク ..................................................................................... 56<br />

3.3.1 ジャーナリングの 開 始 ................................................................................. 56<br />

3.3.2 ジャーナリングの 停 止 ................................................................................. 57<br />

3.3.3 ジャーナル・ファイルの 切 り 替 え .................................................................... 57<br />

3.3.4 ジャーナル・ファイルの 表 示 ......................................................................... 58<br />

3.3.5 ジャーナル・ファイルの 削 除 ......................................................................... 58<br />

3.3.6 ジャーナル・ファイルのリストア ...................................................................... 59<br />

3.4 ジャーナリング・ユーティリティ ............................................................................... 59<br />

3.4.1 ^JOURNAL を 使 用 したジャーナリング・タスクの 実 行 ........................................ 60<br />

3.4.2 ^STURECOV を 使 用 した 起 動 エラーの 回 復 .................................................... 77<br />

3.4.3 ^JCONVERT および ^%JREAD を 使 用 したジャーナル・ファイルの 変 換 ................ 80<br />

3.4.4 ^JRNMARK を 使 用 したジャーナル・マーカの 設 定 ........................................... 83<br />

3.4.5 ^JRNUTIL を 使 用 したジャーナル・ファイルの 操 作 ........................................... 83<br />

3.4.6 %NOJRN を 使 用 したプロセス・レベルでのジャーナリングの 管 理 ......................... 84<br />

3.5 ジャーナル 入 出 力 エラー ..................................................................................... 84<br />

3.5.1 ジャーナル 入 出 力 エラー 時 にシステムをフリーズしない 場 合 .............................. 85<br />

3.5.2 ジャーナル 入 出 力 エラー 時 にシステムをフリーズする 場 合 ................................ 86<br />

3.6 ジャーナリングに 関 する 特 別 な 考 慮 事 項 ................................................................ 86<br />

3.6.1 パフォーマンス .......................................................................................... 86<br />

3.6.2 ジャーナル・ファイルの 制 約 ......................................................................... 87<br />

3.6.3 UNIX® ファイル・システムの 推 奨 事 項 ........................................................... 87<br />

3.6.4 システム 時 計 の 推 奨 事 項 ............................................................................ 88<br />

3.6.5 ファイリング 操 作 に 対 するジャーナリングの 無 効 化 ........................................... 88<br />

4 シャドウ・ジャーナリング ................................................................................................ 89<br />

4.1 シャドウイングの 概 要 ........................................................................................... 89<br />

4.2 シャドウイングの 構 成 ........................................................................................... 90<br />

4.2.1 ソース・データベース・サーバの 構 成 ............................................................. 91<br />

4.2.2 宛 先 のシャドウ・サーバの 構 成 ..................................................................... 92<br />

4.2.3 宛 先 のシャドウでのジャーナリング ................................................................ 96<br />

4.3 シャドウイングの 管 理 と 監 視 .................................................................................. 96<br />

4.3.1 シャドウのチェックポイント ............................................................................ 98<br />

4.3.2 シャドウ 管 理 タスク ...................................................................................... 98<br />

4.3.3 シャドウ 処 理 タスク .................................................................................... 100<br />

4.4 シャドウの 宛 先 のディザスタ・リカバリへの 使 用 ........................................................ 102<br />

5 クラスタ・ジャーナリング .............................................................................................. 105<br />

5.1 クラスタ 上 のジャーナリング ................................................................................. 105<br />

5.1.1 クラスタ・ジャーナル・ログ ........................................................................... 106<br />

5.1.2 クラスタ・ジャーナルのシーケンス 番 号 ......................................................... 106<br />

5.2 クラスタ・フェイルオーバー .................................................................................. 107<br />

5.2.1 クラスタ・リカバリ ....................................................................................... 108<br />

iv<br />

<strong>Caché</strong> データ 整 合 性 ガイド


5.2.2 クラスタ・リストア ........................................................................................ 108<br />

5.2.3 フェイルオーバーのエラー 条 件 .................................................................. 109<br />

5.3 クラスタ・シャドウイング ....................................................................................... 110<br />

5.3.1 クラスタ・シャドウの 構 成 ............................................................................. 111<br />

5.3.2 クラスタ・シャドウイングの 限 界 ..................................................................... 114<br />

5.4 ツールとユーティリティ ....................................................................................... 114<br />

5.5 クラスタ・ジャーナル・リストア ............................................................................... 115<br />

5.5.1 クラスタ・ジャーナル・リストアの 実 行 ............................................................. 115<br />

5.5.2 一 般 的 なジャーナル・ファイルの 生 成 ........................................................... 122<br />

5.5.3 バックアップ・リストア 後 のクラスタ・ジャーナル・リストアの 実 行 ........................... 122<br />

5.5.4 <strong>Caché</strong> バックアップに 基 づくクラスタ・ジャーナル・リストアの 実 行 ....................... 122<br />

5.6 ジャーナル・ダンプ・ユーティリティ ....................................................................... 123<br />

5.7 スタートアップ・リカバリ・ルーチン ......................................................................... 123<br />

5.8 クラスタ 化 されたシステムでのジャーナル・マーカの 設 定 .......................................... 124<br />

5.9 クラスタ・ジャーナル 情 報 のグローバル ................................................................. 125<br />

5.10 シャドウ 情 報 のグローバルとユーティリティ ........................................................... 126<br />

6 複 数 のシステムでのデータ 整 合 性 ................................................................................ 131<br />

6.1 DataCheck の 概 要 ............................................................................................ 131<br />

6.1.1 DataCheck クエリ ..................................................................................... 132<br />

6.1.2 DataCheck ジョブ ..................................................................................... 132<br />

6.1.3 DataCheck 結 果 ...................................................................................... 132<br />

6.1.4 DataCheck ワークフロー ............................................................................ 133<br />

6.2 ミラー 用 の DataCheck の 構 成 ............................................................................. 133<br />

6.2.1 ミラー 内 での DataCheck の 計 画 ................................................................. 134<br />

6.2.2 チェックするグローバルの 選 択 ................................................................... 135<br />

6.3 DataCheck のセットアップ 手 順 ............................................................................ 135<br />

6.3.1 DataCheck サービスの 有 効 化 .................................................................... 136<br />

6.3.2 チェックするグローバルおよび 添 え 字 範 囲 の 指 定 .......................................... 136<br />

6.4 ^DATACHECK ルーチン ................................................................................... 140<br />

6.4.1 新 規 構 成 の 作 成 ...................................................................................... 140<br />

6.4.2 構 成 の 編 集 ............................................................................................. 141<br />

6.4.3 詳 細 表 示 ................................................................................................ 142<br />

6.4.4 DataCheck のソースであるこのシステムへの 着 信 接 続 .................................... 143<br />

6.5 データ・チェックに 関 する 特 別 な 考 慮 事 項 ............................................................. 143<br />

6.5.1 パフォーマンスに 関 する 考 慮 事 項 ............................................................... 143<br />

6.5.2 セキュリティに 関 する 考 慮 事 項 .................................................................... 144<br />

<strong>Caché</strong> データ 整 合 性 ガイド<br />

v


図 一 覧<br />

図 4–1: シャドウイングの 概 要 ........................................................................................... 90<br />

図 4–2: シャドウの 状 態 と 実 行 可 能 なアクションの 関 係 .......................................................... 97<br />

図 5–1: クラスタ・シャドウイングの 概 要 ............................................................................. 111<br />

vi<br />

<strong>Caché</strong> データ 整 合 性 ガイド


テーブル 一 覧<br />

テーブル 2–1: バックアップ・タスクの 説 明 .......................................................................... 23<br />

テーブル 3–1: ^JRNDUMP で 表 示 されるジャーナル・データ・レコード・フィールド ..................... 70<br />

テーブル 3–2: ジャーナル・ファイルの 処 理 ........................................................................ 71<br />

テーブル 3–3: ^JRNUTIL で 使 用 可 能 な 関 数 ..................................................................... 84<br />

<strong>Caché</strong> データ 整 合 性 ガイド<br />

vii


このドキュメントについて<br />

団 体 や 組 織 は 以 前 にも 増 してコンピュータ・アプリケーションに 依 存 しているため、データベース・コンテンツの 保 護 は 今<br />

や 必 要 不 可 欠 となっています。このガイドでは、<strong>Caché</strong> がデータ 整 合 性 の 維 持 に 使 用 する 多 様 なメカニズムについて 説<br />

明 します。<br />

<strong>Caché</strong> ライト・イメージ・ジャーナリング・テクノロジによって、システム 障 害 の 発 生 時 に 内 部 の 整 合 性 が 失 われないように<br />

保 護 されます。<strong>Caché</strong> のバックアップとジャーナリング・システムによって、 物 理 的 な 整 合 性 障 害 からのリカバリが 迅 速 化<br />

されます。 論 理 的 なデータベースの 整 合 性 は、トランザクション 処 理 、ロック、 自 動 的 ロールバックにより 確 保 されていま<br />

す。<br />

以 下 の 項 目 について 説 明 します。<br />

• ライト・イメージ・ジャーナリングとリカバリ<br />

• バックアップとリストア<br />

• ジャーナリング<br />

• シャドウ・ジャーナリング<br />

• クラスタ・ジャーナリング<br />

• データのチェック<br />

詳 細 は、" 目 次 " を 参 照 してください。<br />

一 般 的 な 情 報 については、"InterSystems のドキュメントの 使 用 法 " を 参 照 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 1


1<br />

ライト・イメージ・ジャーナリングとリカバリ<br />

<strong>Caché</strong> は、ライト・イメージ・ジャーナリングを 使 用 して、<strong>Caché</strong> データベースの 内 部 の 整 合 性 を 維 持 します。これは、デー<br />

タベース・リカバリ 処 理 の 基 本 です。<br />

以 下 の 項 目 について 説 明 します。<br />

• ライト・イメージ・ジャーナリング<br />

• リカバリ<br />

• ライト・イメージ・ジャーナリングの 限 界<br />

1.1 ライト・イメージ・ジャーナリング<br />

<strong>Caché</strong> は、2 フェーズ 技 術 のライト・イメージ・ジャーナリングを 使 用 してデータベースの 更 新 を 保 護 します。 最 初 はメモリ<br />

から 転 送 ジャーナル CACHE.WIJ に、その 後 、データベースに 更 新 を 書 き 込 みます。システムが 第 2 フェーズ 中 にクラッ<br />

シュした 場 合 、 更 新 処 理 はリカバリを 再 度 適 用 します。 以 下 の 項 目 の 詳 細 を 説 明 しています。<br />

• ライト・イメージ・ジャーナル (WIJ)<br />

• 2 フェーズ・ライト・プロトコル<br />

1.1.1 ライト・イメージ・ジャーナル (WIJ)<br />

<strong>Caché</strong> の 起 動 時 にライト・デーモンがアクティブになり、ライト・イメージ・ジャーナル (WIJ) ファイルが 生 成 されます。<strong>Caché</strong><br />

データベースに 更 新 情 報 を 書 き 込 む 前 に、ライト・デーモンは WIJ にデータベースの 更 新 を 記 録 します。<br />

WIJ ファイルは、 既 定 では CACHE.WIJ という 名 前 になり、システム 管 理 者 ディレクトリ ( 通 常 は install-dir/Mgr) に 格 納<br />

されます。install-dir は、インストール・ディレクトリです。このファイルに 別 の 場 所 を 指 定 する 場 合 は、 管 理 ポータルを 使<br />

用 します。<br />

1. [システム] > [ 構 成 ] > [ジャーナル 設 定 ] ページに 移 動 します。<br />

2. WIJ の 新 しい 格 納 場 所 を [ライトイメージジャーナルディレクトリ] ボックスに 入 力 し、[ 保 存 ] をクリックします。この 名<br />

前 にはシステム 上 の 既 存 のディレクトリを 指 定 する 必 要 があり、 最 長 で 63 文 字 です。クラスタ 化 されたインスタンス<br />

でこの 設 定 を 編 集 した 場 合 、 変 更 内 容 を 適 用 するには、<strong>Caché</strong> を 再 起 動 してください。スタンドアロン・インスタンス<br />

の 場 合 、 再 起 動 は 必 要 ありません。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 3


ライト・イメージ・ジャーナリングとリカバリ<br />

1.1.2 2 フェーズ・ライト・プロトコル<br />

<strong>Caché</strong> は、データベースが 高 速 に 効 率 よく 検 索 、 更 新 できるような 構 造 で、アプリケーション・データを 維 持 します。 一 般<br />

的 に、アプリケーションがデータを 更 新 する 際 、<strong>Caché</strong> は、データベース 構 造 で 複 数 のブロックを 更 新 し、 変 更 を 反 映 す<br />

る 必 要 があります。<br />

連 続 したディスク・アクセスの 結 果 、ディスクやコンピュータ 処 理 が、 突 然 、 予 期 せずに 中 断 されることがあります。これに<br />

より、 最 初 のブロックが 書 き 込 まれた 後 、 最 後 のブロックが 更 新 されるまでの 間 に、 複 数 のデータベース・ブロックの 更 新<br />

が 停 止 します。2 つのフェーズで 構 成 されるライト・プロトコルは、このように 不 完 全 な 更 新 によってデータベース 構 造 に<br />

矛 盾 が 生 じるのを 防 ぐためのものですが、これにより 問 題 が 発 生 することがあります。このため、データベースは 通 常 の<br />

方 法 では 回 復 できず、すべてのデータが 使 用 できなくなってしまう 可 能 性 があります。<br />

<strong>Caché</strong> ライト・イメージ・ジャーナリング・テクノロジは、 以 下 のような 2 フェーズでデータベースへの 書 き 込 みを 行 い、その<br />

ような 状 況 から 保 護 します。<br />

• 第 1 フェーズでは、<strong>Caché</strong> は WIJ に、 更 新 されたブロックを 記 録 します。WIJ のすべての 更 新 を 入 力 した 後 、ファイ<br />

ル 内 にフラグを 設 定 し、 第 2 フェーズを 開 始 します。<br />

• 第 2 フェーズでは、WIJ 内 に 記 録 されたものと 同 じブロック・セットを、ライト・デーモンがディスク 上 のデータベース<br />

に 記 述 します。この 第 2 フェーズが 完 了 したら、ライト・デーモンは WIJ 内 にフラグを 設 定 し、これが 削 除 済 みであ<br />

ることを 示 します。<br />

<strong>Caché</strong> を 起 動 すると、WIJ が 自 動 的 にチェックされ、 異 常 なシャットダウンが 検 出 された 場 合 はリカバリ・プロシージャが<br />

実 行 されます。このプロシージャが 正 常 に 完 了 すれば、データベースの 内 部 整 合 性 はリストアされています。シャットダ<br />

ウンに 続 き、<strong>Caché</strong> は WIJ のリカバリも 実 行 します。これはデータベースが 確 実 にバックアップされるようにするための 安<br />

全 対 策 です。<br />

1.2 リカバリ<br />

<strong>Caché</strong> を 起 動 すると、WIJ が 自 動 的 にチェックされます。 異 常 なシャットダウン (システム・クラッシュなど) が 検 出 された 場<br />

合 はリカバリ・プロシージャが 実 行 されます。システム・クラッシュなどの 重 大 なシステム 障 害 が 発 生 した 場 合 にはリカバリ<br />

が 必 要 となります。2 つのフェーズで 構 成 されるライト・プロトコル・プロセスのどちらに WIJ があるかに 応 じて、リカバリは<br />

以 下 のように 実 行 されます。<br />

• ライト・デーモンが WIJ への 更 新 の 書 き 込 みを 完 了 する 前 にクラッシュが 発 生 した 場 合 、WIJ のリストアは 不 要 です。<br />

• ライト・デーモンが WIJ への 更 新 の 書 き 込 みを 完 了 した 後 にクラッシュが 発 生 した 場 合 、“リカバリ・プロシージャ”<br />

の 説 明 に 従 って WIJ がリストアされます。<br />

いずれの 場 合 も、データベースにまだ 書 き 込 まれていなかったために 消 失 した 可 能 性 のある 更 新 があれば、トランザク<br />

ションのジャーナル・ファイルを 適 用 してリストアされます。 詳 細 は “ジャーナリング” の 章 を 参 照 してください。<br />

以 下 の 項 目 を 詳 細 に 説 明 します。<br />

• リカバリ・プロシージャ<br />

• データセット・リカバリ<br />

1.2.1 リカバリ・プロシージャ<br />

WIJ が “アクティブ” とマークされている 場 合 、ライト・デーモンは WIJ への 変 更 されたディスク・ブロックの 書 き 込 みを 完<br />

了 していますが、それぞれのデータベースへの 書 き 込 みは 完 了 していません。この 場 合 、WIJ のリストアが 必 要 です。リ<br />

カバリ・プログラム cwdimj は、 以 下 を 実 行 します。<br />

4 <strong>Caché</strong> データ 整 合 性 ガイド


ライト・イメージ・ジャーナリングの 限 界<br />

• コンソール・ログ (cconsole.log) ファイルによってシステム 管 理 者 に 通 知 します。 詳 細 は、"<strong>Caché</strong> 監 視 ガイド" の “ 管<br />

理 ポータルを 使 用 した <strong>Caché</strong> の 監 視 ” の 章 にある "ログ・ファイルの 監 視 " を 参 照 してください。<br />

• データセット・リカバリを 実 行 します。<br />

通 常 すべてのリカバリは、cwdimj プログラムの 1 回 の 実 行 で 処 理 されます。<br />

1.2.1.1 データセット・リカバリ<br />

cwdimj プログラムは、 対 話 式 または 非 対 話 式 で 実 行 できます。UNIX®/OpenVMS では、オペレータが 在 席 する 場 合 に<br />

は 対 話 式 で、プロンプトに 応 答 するオペレータが 不 在 の 場 合 には 非 対 話 式 で 実 行 されます。Windows では、 常 に 非 対<br />

話 式 で 実 行 されます。<br />

リカバリ・プロシージャが 完 了 すると、cwdimj は WIJ の 内 容 に “ 削 除 済 み” とマークし、 起 動 が 継 続 されます。<br />

書 き 込 み 中 にエラーが 発 生 した 場 合 は、WIJ がアクティブ 状 態 のままとなり、<strong>Caché</strong> は 起 動 しません。このオプションが<br />

( 対 話 モードで) 上 書 きされない 限 り、 次 回 の <strong>Caché</strong> 起 動 時 にリカバリが 繰 り 返 されます。<br />

注 意<br />

オプションを 上 書 きして WIJ をリストアすると、データベースが 破 損 するか、またはデータが 消 失 します。<br />

以 下 の 項 目 を 詳 細 に 説 明 します。<br />

• 対 話 式 のデータセット・リカバリ<br />

• 非 対 話 式 のデータセット・リカバリ<br />

対 話 式 のデータセット・リカバリ<br />

リカバリ 手 順 により、データセットごとにリカバリするかどうかを 確 認 できます。 通 常 は、すべてのデータセットを 指 定 しま<br />

す。それぞれのデータセットのプロンプトの 後 、 以 下 を 入 力 します。<br />

• Y — データセットをリストアする<br />

• N — データセットをリストアしない<br />

また、データセットへのパスが 失 われても、そのデータセットにアクセスできる 場 合 は、そのデータセットの 新 しい 場 所 を<br />

指 定 できます。データセットがリカバリされると、リカバリを 要 求 するデータセットのリストからそのデータセットは 削 除 され<br />

ます。また、cwdimj プログラムが 引 き 続 き 実 行 されている 間 は、リカバリする 必 要 が 発 生 してもリカバリされません。<br />

非 対 話 式 のデータセット・リカバリ<br />

リカバリ・プロシージャ 中 にオペレータが 不 在 の 場 合 、<strong>Caché</strong> はプロンプトへの 応 答 で 既 定 の 動 作 を 実 行 します。つまり、<br />

すべてのディレクトリをリストアし、 自 動 的 に WIJ を 削 除 済 みとします。ただし、リカバリ 中 に 問 題 が 発 生 した 場 合 は、cwdimj<br />

プログラムが 終 了 し、システムは 起 動 しません。 正 常 にリカバリされなかったデータセットは、WIJ に、リカバリが 必 要 だと<br />

記 録 されたままになります。<br />

1.3 ライト・イメージ・ジャーナリングの 限 界<br />

2 フェーズ・ライト・プロトコルは、 構 造 的 なデータベースの 整 合 性 を 保 護 しますが、データの 損 失 は 保 護 しません。WIJ<br />

に 完 全 な 更 新 を 書 き 込 む 前 にシステム 障 害 が 発 生 した 場 合 、<strong>Caché</strong> は、ディスクを 完 全 に 更 新 するために 必 要 な 情 報<br />

が 不 足 している 状 態 になるため、そのデータは 失 われます。ただし、ジャーナル・ファイルに 書 き 込 まれたデータは、この<br />

章 の "リカバリ" の 説 明 に 従 ってリカバリされます。<br />

また、 以 下 の 場 合 、ライト・イメージ・ジャーナリングは、データベースの 劣 化 を 防 ぐことはできません。<br />

• メモリまたはストレージの 破 損 によるハードウェア 障 害 。<br />

• メモリ、ファイル・システム、またはストレージの 破 損 によるオペレーティング・システム 障 害 。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 5


ライト・イメージ・ジャーナリングとリカバリ<br />

• WIJ が 削 除 された 状 態 。<br />

• ライト・デーモンのパニック 状 態 。<br />

• ライト・バック・キャッシュの 内 容 の 消 失 。 停 電 の 場 合 には、ライト・バック・キャッシュが 消 失 し、データベースの 劣 化<br />

が 生 じる 可 能 性 があります。このような 劣 化 を 防 ぐには、ストレージアレイでライト・バック・キャッシュに 非 揮 発 性 のメ<br />

モリを 使 用 するか、または 揮 発 性 のライト・バック・キャッシュにバッテリ・バックアップを 使 用 するようにしてください。<br />

上 記 のいずれかの 状 況 が 発 生 したと 思 われる 場 合 には、インターシステムズのサポート 窓 口 までお 問 い 合 わせください。<br />

6 <strong>Caché</strong> データ 整 合 性 ガイド


2<br />

バックアップとリストア<br />

この 章 では、<strong>Caché</strong> システムの 確 かなバックアップ 計 画 を 立 てる 際 に 考 慮 すべき 要 素 について 説 明 します。バックアップ<br />

の 整 合 性 と 復 元 可 能 性 を 確 保 する 方 法 および 推 奨 バックアップ 方 法 について 説 明 します。さらにこの 章 では、<strong>Caché</strong><br />

ユーティリティなどのサードパーティ・ユーティリティを 使 用 してこれらの 作 業 を 実 行 する 手 順 についても 詳 しく 説 明 しま<br />

す。 以 下 のトピックについて 説 明 します。<br />

• バックアップの 整 合 性 と 復 元 可 能 性<br />

• ジャーナルの 重 要 性<br />

• バックアップの 方 法<br />

• バックアップからのリストア<br />

• <strong>Caché</strong> オンライン・バックアップ 設 定 の 構 成<br />

• <strong>Caché</strong> オンライン・バックアップの 管 理<br />

• <strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

• <strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

バックアップ 方 法 は、オペレーティング・システム、 使 用 するバックアップ・ユーティリティ、ディスク 構 成 、バックアップ・デ<br />

バイスなどによって 異 なる 場 合 があります。ご 使 用 の 環 境 に 適 したバックアップ 方 法 の 開 発 や 現 在 のバックアップ 方 法 の<br />

見 直 しのために 詳 細 な 情 報 が 必 要 な 場 合 は、インターシステムズのサポート 窓 口 にお 問 い 合 わせください。<br />

2.1 バックアップの 整 合 性 と 復 元 可 能 性<br />

バックアップ 方 法 に 関 係 なく、 定 期 的 にバックアップをリストアして、ご 使 用 の 手 順 を 検 証 する 必 要 があります。 最 善 の 方<br />

法 は、 運 用 環 境 のあらゆるバックアップを 代 替 サーバにリストアしてから、リストアされたデータベースの 整 合 性 を 検 証 す<br />

ることです ( 詳 細 は、"<strong>Caché</strong> システム 管 理 ガイド" の “<strong>Caché</strong> の 管 理 ” の 章 にある "データベースの 整 合 性 の 確 認 " を<br />

参 照 )。これには 以 下 のメリットがあります。<br />

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

• バックアップ 内 のデータベースの 物 理 的 な 整 合 性 を 検 証 します。<br />

• バックアップのウォーム・コピーを 提 供 し、 災 害 時 のバックアップのリストアに 必 要 な 時 間 を 大 幅 に 短 縮 します。その<br />

ような 事 態 が 発 生 した 場 合 でも、 必 要 な 処 理 はジャーナル・ファイルの 更 新 のリストアのみです。<br />

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

<strong>Caché</strong> データ 整 合 性 ガイド 7


バックアップとリストア<br />

このドキュメントで 説 明 するバックアップ 方 法 では、データベースの 物 理 構 造 が 保 持 されます。したがって、リストアされた<br />

コピーの 整 合 性 チェックを 完 全 に 行 い、それに 問 題 がなければ、バックアップ 時 点 のプロダクション・データベースの 整<br />

合 性 にも 問 題 がなかったことを 意 味 します。ただし、その 逆 は True ではありません。リストアされたデータベースのコピー<br />

に 整 合 性 のエラーが 検 出 されても、それは 必 ずしもプロダクション・データベースの 整 合 性 に 問 題 があったことを 意 味 し<br />

ません。 例 えば、バックアップ・メディアにエラーが 発 生 した 可 能 性 もあります。リストアされたデータベースで 整 合 性 エ<br />

ラーが 検 出 された 場 合 は、 即 座 に 実 稼 動 データベースで 整 合 性 チェックを 行 い、プロダクション・システムの 整 合 性 を 検<br />

証 してください。<br />

リストアされたデータベースでアプリケーションが 適 切 に 動 作 することを 検 証 するには、アプリケーション・レベルでチェッ<br />

クを 実 行 することも 可 能 です。これらのチェックを 実 行 するには、ジャーナル・ファイルをリストアしてトランザクションの 整<br />

合 性 をリストアすることが 必 要 な 場 合 もあります。 詳 細 は "ジャーナルの 重 要 性 " を 参 照 してください。<br />

バックアップをリストアし、それからリカバリが 可 能 であることを 確 認 したら、 次 の 良 好 なバックアップが 作 成 されるまでその<br />

コピーを 保 持 しておくことをお 勧 めします。したがって、バックアップの 検 証 に 使 用 するサーバには、 最 新 の 良 好 なバック<br />

アップと 現 在 検 証 中 のバックアップを 格 納 するために、プロダクション 領 域 の 2 倍 のストレージ 領 域 があることが 理 想 的<br />

です (ニーズによっては、バックアップのリストアに 使 用 するストレージ・デバイスの 性 能 の 要 件 は 厳 しくなく、ストレージ・<br />

ソリューションがより 安 価 であっても 問 題 がない 場 合 があります)。このようにすると、 現 在 のバックアップが 失 敗 しても、 災<br />

害 時 に 最 新 の 良 好 なバックアップがすぐに 使 用 できる 状 態 にあります。データ・センタを 破 壊 する 可 能 性 がある 災 害 から<br />

企 業 のデータベースを 保 護 するには、 定 期 的 にバックアップ・メディアを 安 全 なオフサイトの 場 所 に 送 ります。<br />

2.2 ジャーナルの 重 要 性<br />

<strong>Caché</strong> データベースをバックアップするだけでは、プロダクション・データのリストアには 不 十 分 です。 災 害 が 発 生 し、バッ<br />

クアップからリストアする 必 要 が 生 じた 場 合 は、リストアしたデータベースのコピーにもジャーナル・ファイルを 適 用 する 必<br />

要 があります。ジャーナル・ファイルを 適 用 すると、バックアップの 時 点 から 災 害 発 生 時 までの 間 にジャーナルに 記 述 さ<br />

れた 更 新 がすべてリストアされます。また、コミットされていないトランザクションをロールバックして、データベースのトラン<br />

ザクションの 整 合 性 をリストアするには、ジャーナルを 適 用 する 必 要 があります。<br />

災 害 発 生 時 のリストアのために、ジャーナル・ファイルは 利 用 可 能 になっている 必 要 があります。 災 害 復 旧 時 にデータ<br />

ベースのリストアが 必 要 な 場 合 は、 次 の 手 順 を 実 行 して、ジャーナル・ファイルに 損 傷 が 発 生 しないようにします ( 詳 細<br />

は、このドキュメントの “ジャーナリング” の 章 を 参 照 )。<br />

• 復 元 可 能 性 が 要 求 されるすべてのデータベースをジャーナリングしていることを 確 認 します。<br />

• バックアップ 検 証 手 順 で、ジャーナル・ファイルが 最 後 の 良 好 なバックアップの 前 に 閉 じたと 判 断 される 場 合 以 外 は、<br />

削 除 しないでください。ジャーナル・ファイルを 保 持 する 日 数 および、ジャーナル・ファイルに 保 持 する 成 功 したバッ<br />

クアップの 回 数 を 適 切 に 設 定 します。<br />

• 代 替 ジャーナル・ディレクトリを 定 義 します。<br />

• プライマリおよび 代 替 ジャーナル・ディレクトリはそれぞれ 異 なるデバイスに 配 置 し、さらにデータベースのストレージ<br />

ともライト・イメージ・ジャーナル (WIJ) のストレージとも 異 なるディスク・デバイスに 配 置 する 必 要 があります。 運 用 上<br />

の 理 由 から、 同 じ SAN (Storage Area Network) 上 の 論 理 ユニット 番 号 (LUN) が 異 なるデバイスに 配 置 することもで<br />

きますが、 一 般 的 にはなるべく 独 立 したデバイスに 配 置 するようにします。 可 能 な 限 り、データベースまたは WIJ に<br />

発 生 する 可 能 性 がある 障 害 からジャーナルを 分 離 するようにシステムを 構 成 する 必 要 があります。これは、データ<br />

ベースまたは WIJ に 障 害 が 発 生 した 場 合 は、バックアップおよびジャーナルからリストアする 必 要 があるからです。<br />

• ジャーナルのレプリケーションをオフサイトで 行 うようにします。ディスク・レベルのレプリケーション、ファイル・システ<br />

ムのシャドウイング、<strong>Caché</strong> シャドウイング、または <strong>Caché</strong> ミラーリングによって、ジャーナル・ファイルをリアルタイム<br />

でリモート・コピーできます。これにより、バックアップ・メディアのオフサイト・コピーをジャーナルのオフサイト・コピー<br />

と 組 み 合 わせて 使 用 し、プライマリ・ストレージが 破 壊 されるような 災 害 からリカバリすることができます。<strong>Caché</strong> シャド<br />

ウイングや <strong>Caché</strong> ミラーリングなど、 一 部 のソリューションでは、バックアップ・リストアを 必 要 とせずに、 災 害 時 にデー<br />

タベースのウォーム・コピーを 直 接 使 用 することも 可 能 です。<br />

8 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップの 方 法<br />

• ジャーナルの [エラー 発 生 時 に 凍 結 する] オプションを [はい] に 設 定 するようにします ( 詳 細 は、このドキュメントの<br />

“ジャーナリング” の 章 の "ジャーナル 入 出 力 エラー" のセクション を 参 照 )。プライマリと 代 替 のいずれのジャーナ<br />

ル・デバイスにも 書 き 込 めないようなジャーナリングの 障 害 が 発 生 した 場 合 に、システムがフリーズするように 構 成 で<br />

きます。もう 1 つの 選 択 肢 は、エラーが 発 生 してもシステムの 稼 動 を 続 行 する 構 成 ですが、この 場 合 はジャーナリン<br />

グが 無 効 になるため、バックアップとジャーナル・ファイルから 高 い 信 頼 性 でリストアする 機 能 が 損 なわれます。<br />

重 要<br />

定 期 的 にディザスタ・リカバリの 方 法 全 体 を 最 初 から 最 後 までテストする 必 要 があります。これには、バッ<br />

クアップのリストア、ジャーナルのリストア、およびリストアされた 環 境 でのユーザの 操 作 のシミュレーショ<br />

ンが 含 まれます。<br />

2.3 バックアップの 方 法<br />

<strong>Caché</strong> データをバックアップする 最 適 な 方 法 は、 外 部 バックアップと <strong>Caché</strong> オンライン・バックアップです。このセクション<br />

では、この 2 つの 方 法 と、 目 的 が 特 殊 なその 他 の 方 法 について 説 明 します。<br />

• 外 部 バックアップ<br />

• <strong>Caché</strong> オンライン・バックアップ<br />

• コールド・バックアップ<br />

• レガシー 並 行 外 部 バックアップ<br />

2.3.1 外 部 バックアップ<br />

外 部 バックアップは、 現 時 点 で <strong>Caché</strong> のバックアップに 推 奨 される 最 適 な 方 法 です。 外 部 バックアップは、 既 存 のシステ<br />

ム・バックアップ 手 順 に 簡 単 に 統 合 でき、 通 常 はダウンタイムなしでバックアップできることを 見 越 しておけます。 外 部 バッ<br />

クアップは 主 に、 論 理 ディスク・ボリュームの 有 効 な “スナップショット” を 迅 速 に 作 成 するテクノロジと 共 に 使 用 します。<br />

このようなテクノロジは、ストレージアレイからオペレーティング・システム、ディスクの 単 純 なミラーリングに 至 るまで、さま<br />

ざまなレベルで 存 在 します。このセクションでは、スナップショット・テクノロジが 使 用 できないシステムに 関 する 特 別 な 考<br />

慮 事 項 についても 説 明 します。<br />

<strong>Caché</strong> には、スナップショットの 作 成 中 、データベースへの 書 き 込 みをフリーズする 方 法 があります。スナップショットの 作<br />

成 中 は、データベース・ファイルへの 物 理 的 な 書 き 込 みのみがフリーズされ、ユーザ・プロセスによるメモリ 内 の 更 新 は 引<br />

き 続 き 実 行 できます。このスナップショットは 通 常 、システムで 使 用 中 のファイル・システムすべてのスナップショットになり<br />

ます。このスナップショットには、 少 なくとも <strong>Caché</strong> が 使 用 するすべてのディレクトリが 何 らかの 形 で 収 録 されています。こ<br />

のディレクトリには、インストール・ディレクトリ、データベース・ディレクトリ、ジャーナルおよび 代 替 ジャーナル・ディレクト<br />

リ、WIJ ディレクトリ、<strong>Caché</strong> で 使 用 する 外 部 ファイルを 格 納 したあらゆるディレクトリなどがあります。 書 き 込 みができるよう<br />

になったら、スナップショットをテープにバックアップすることができます。その 後 、 実 働 環 境 に 再 結 合 するか、またはウォー<br />

ム・バックアップとしてオンラインのままにしておくことができます ( 使 用 されている 具 体 的 なテクノロジによって 異 なる)。<br />

例 外 として、 次 の 2 つの 場 合 でサービスが 停 止 する 可 能 性 があります。<br />

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

す。<br />

• OpenVMS クラスタにクラスタ 化 された <strong>Caché</strong> インスタンスに 対 しては、フリーズの 期 間 中 、データベースの 更 新 処 理<br />

がすべて 一 時 停 止 されます。<br />

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

<strong>Caché</strong> データ 整 合 性 ガイド 9


バックアップとリストア<br />

メリット<br />

ほとんどのシステムで、ユーザの 操 作 が 停 止 されることなく、<br />

ダウンタイムなしのバックアップが 可 能 です。<br />

デメリット<br />

<strong>Caché</strong> OpenVMS クラスタでは、ユーザの 操 作 が<br />

停 止 されます。<br />

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

データベースをフリーズするクラス・メソッドは Backup.General.ExternalFreeze() で、フリーズを 解 除 するクラス・メソッドは<br />

Backup.General.ExternalThaw() です。 書 き 込 みの 停 止 に 加 えて、フリーズする 方 法 では、ジャーナル・ファイルの 切 り 替<br />

えやジャーナルへのバックアップ・マーカの 書 き 込 みも 処 理 されます。データベースの 物 理 的 な 書 き 込 みがフリーズされ<br />

ている 間 も、ジャーナル・ファイルには 引 き 続 き 正 常 に 書 き 込 まれます。データベースの 物 理 的 な 書 き 込 みがフリーズし<br />

ている 間 にシステムがクラッシュした 場 合 、 通 常 どおり 起 動 時 にジャーナルからデータがリカバリされます。<br />

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

1. Backup.General.ExternalFreeze() メソッドを 使 用 して、データベースへの 書 き 込 みをフリーズします。<br />

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

3. Backup.General.ExternalThaw() メソッドを 使 用 して、<strong>Caché</strong> 書 き 込 みを 再 開 します。<br />

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

これらのメソッドのプラットフォーム 固 有 の 例 については、"インターシステムズ・クラス・リファレンス" の "Backup.General"<br />

クラスのドキュメントを 参 照 してください。<br />

スナップショット・テクノロジが 使 用 できないシステムの 場 合 、 上 記 のスナップショットの 作 成 をファイル・システムのコピー<br />

に 置 き 換 えることにより、 外 部 バックアップ・アプローチで 低 速 のファイル・システム・コピーを 使 用 できます。これは 以 下<br />

のいずれかの 方 法 で 実 行 するか、または 必 要 に 応 じて <strong>Caché</strong> オンライン・バックアップ を 代 替 手 段 として 使 用 すること<br />

ができます。<br />

• ダウンタイムの 追 放 :Backup.General.ExternalFreeze() を 呼 び 出 すときに ExternalFreezeTimeOut パラメータの 値<br />

を 指 定 し、フリーズ 中 でもデータベースの 更 新 をメモリのバッファに 格 納 できるように、 十 分 なデータベース・キャッ<br />

シュを 構 成 しておきます。この 場 合 、ユーザは 物 理 的 な 書 き 込 みがフリーズしている 間 に、 最 大 で<br />

ExternalFreezeTimeOut に 指 定 した 値 まで 操 作 を 続 行 できます。ジャーナリングは、 書 き 込 みがフリーズされている<br />

間 にシステム・クラッシュが 発 生 した 場 合 に、データが 失 われないようにするうえで 重 要 です。クラッシュが 発 生 した<br />

場 合 は、 通 常 よりもシステムの 起 動 に 時 間 がかかる 可 能 性 があります。[エラー 発 生 時 に 凍 結 する] に 対 するジャー<br />

ナルの 設 定 は、[はい] に 設 定 する 必 要 があります ( 詳 細 は、このドキュメントの “ジャーナリング” の 章 の "ジャーナ<br />

ル 入 出 力 エラー" のセクションを 参 照 )。<br />

• ユーザ 操 作 の 停 止 :フリーズ 時 間 として 想 定 する 時 間 の 既 定 値 を 10 分 にします。この 時 間 が 経 過 すると、<br />

Backup.General.ExternalThaw() が 呼 び 出 されるまで、ユーザの 操 作 は 一 時 停 止 状 態 になります。<br />

重 要<br />

バックアップされているインスタンスがミラーのプライマリ・フェイルオーバー・メンバである 場 合 ("<strong>Caché</strong><br />

高 可 用 性 ガイド" の “ミラーリング” の 章 を 参 照 )、 外 部 フリーズが Backup.General.ExternalFreeze() の<br />

ExternalFreezeTimeOut パラメータの 指 定 よりも 長 く 更 新 を 中 断 しないようにする 必 要 があります。 指 定<br />

時 間 より 長 い 中 断 が 起 こると、ミラーがバックアップ・フェイルオーバー・メンバにフェイルオーバーし、そ<br />

の 結 果 、 進 行 中 のバックアップ 操 作 が 終 了 されてしまいます。<br />

2.3.2 <strong>Caché</strong> オンライン・バックアップ<br />

<strong>Caché</strong> には、プロダクション・システムのユーザが、ダウンタイムをほとんど、またはまったく 経 験 しないよう 設 計 された、 専<br />

用 のバックアップ・メカニズムが 実 装 されています。<strong>Caché</strong> オンライン・バックアップでは、CACHE.DAT ファイルのデータ<br />

のみがバックアップされ、データベース 内 でデータに 割 り 当 てられているブロックがすべて 取 得 されます。シーケンシャ<br />

ル・ファイルに 出 力 されます。このバックアップ 方 法 は、システム・バックアップと 連 係 させて、<strong>Caché</strong> オンライン・バックアッ<br />

プの 出 力 ファイルを、 他 のファイルと 共 にバックアップ・メディアにコピーする 必 要 があります。 通 常 、システム・バックアッ<br />

10 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップの 方 法<br />

プには、システムで 使 用 されているすべてのファイル・システム (CACHE.DAT ファイルは 除 く) を 含 める 必 要 があります。<br />

少 なくとも、インストール・ディレクトリ、ジャーナルおよび 代 替 ジャーナル・ディレクトリ、CSP ファイル、および <strong>Caché</strong> で 使<br />

用 される 外 部 ファイル (CACHE.DAT ファイルは 除 外 ) を 格 納 したあらゆるディレクトリを 含 める 必 要 があります。<br />

<strong>Caché</strong> オンライン・バックアップ・プロシージャでは、 複 数 のパスを 使 用 してデータがコピーされます。 前 のパスにある 間<br />

に 変 更 されたデータ・ブロックのリストがコピーされますが、 連 続 的 なパスを 経 るにつれ、 通 常 、このリストはしだいに 小 さ<br />

くなります。 一 般 に、バックアップを 完 了 するには 3 つのパスで 十 分 です。 最 終 パスの 期 間 全 体 と、 先 行 する 各 パスにあ<br />

る 間 の 短 期 間 、データベースへの 書 き 込 みが 停 止 されます。バックアップの 際 にデータベースへの 物 理 的 な 書 き 込 みが<br />

一 時 停 止 している 間 も、ユーザ・プロセスによるメモリ 内 の 更 新 は 引 き 続 き 実 行 できます。OpenVMS のクラスタ 化 した<br />

<strong>Caché</strong> 環 境 でバックアップを 実 行 する 場 合 は、 上 記 の 各 期 間 にユーザ・プロセスも 一 時 停 止 状 態 となります。<br />

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

メリット<br />

ほとんどのシステムで、ダウンタイムなしのバックアップ<br />

が 可 能 です。 古 い 形 式 のデータベースあるいは Open-<br />

VMS のクラスタ 構 成 を 使 用 している 場 合 は、ユーザの 操<br />

作 停 止 はごく 短 時 間 で 済 みます。<br />

定 期 的 な 累 積 バックアップやインクリメンタル・バックアッ<br />

プをサポートします。<br />

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

デメリット<br />

バックアップされるのはデータベースのみで、 外 部 ファイ<br />

ルはバックアップされません。<br />

1 つのデータベースをリストアするには、バックアップ・ファ<br />

イル 全 体 を 処 理 する 必 要 があります。<br />

リストアを 実 行 するには、<strong>Caché</strong> のインスタンスを 実 行 し<br />

ておく 必 要 があります。<br />

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

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

オンライン・バックアップには 以 下 の 種 類 があります。これらを 組 み 合 わせることによって、バックアップ 出 力 のサイズとバッ<br />

クアップからの 回 復 に 要 する 時 間 のバランスを 調 整 できます。<br />

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

• 累 積 バックアップ — 最 後 のフル・バックアップ 以 降 に 変 更 されたすべてのブロックを 書 き 込 みます。 以 前 のフル・バッ<br />

クアップと 共 に 使 用 する 必 要 があります。<br />

• インクリメンタル・バックアップ — タイプに 関 係 なく 最 後 に 行 われたバックアップ 以 降 に 変 更 されたすべてのブロック<br />

を 書 き 込 みます。 以 前 のフル・バックアップと 共 に 使 用 する 必 要 があります。また、 必 要 に 応 じてそのフル・バックアッ<br />

プ 以 降 に 実 行 した 累 積 バックアップあるいはインクリメンタル・バックアップも 使 用 します。<br />

オンライン・バックアップを 使 用 する 場 合 は、 最 初 にフル・バックアップを 実 行 する 必 要 があります。 累 積 バックアップおよ<br />

びインクリメンタル・バックアップ (またはこのいずれか) は、その 後 で 実 行 できます。<br />

オンライン・バックアップでは、すべてのデータベース・ブロックがインターリーブ 方 式 で 1 つのファイル (または 1 セット<br />

のテープ) に 書 き 込 まれます。 極 端 に 大 きいデータをオンライン・バックアップでバックアップした 場 合 、リストアは 煩 雑 に<br />

なる 可 能 性 があります。このような 場 合 は、バックアップ 方 法 の 計 画 時 に 対 応 を 検 討 します。<br />

リストア 検 証 プロセスでは、リストアされたデータベースのコピーがオンラインで 提 供 されるため、 制 約 の 解 消 に 役 立 ちま<br />

す。このバックアップ 検 証 方 法 は、インクリメンタル・バックアップや 累 積 バックアップにも 使 用 されます。インクリメンタル・<br />

バックアップまたは 累 積 バックアップは、それぞれ 実 行 後 に 直 ちに 代 替 サーバにリストアできます。 例 えば、フル・バック<br />

アップを 毎 週 行 い、インクリメンタル・バックアップを 毎 日 行 う 計 画 を 立 てたとします。 毎 日 のバックアップそれぞれには、<br />

その 日 に 変 更 されたブロックのみが 含 まれているので、 問 題 は 発 生 しません。この 方 法 を 使 用 すると、 毎 日 そのインクリ<br />

メンタル・バックアップを 代 替 サーバにリストアし、リストアされたデータベースの 整 合 性 を 確 認 する 必 要 があります。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 11


バックアップとリストア<br />

現 在 検 証 中 のバックアップをリストアする 際 は、 健 全 性 が 確 認 された 最 新 のバックアップのウォーム・コピーを 上 書 きしな<br />

いようにする 必 要 があります。また、 既 存 のリストアされたデータベースにインクリメンタル・バックアップをリストアする 場 合<br />

にもこれに 注 意 する 必 要 があります。バックアップが 最 新 で 健 全 性 にも 問 題 がないと 判 定 された 時 点 から、それに 次 の 日<br />

のインクリメンタル・バックアップまたは 累 積 バックアップを 適 用 するまでの 間 は、それ 以 降 のインクリメンタル・リストアに 失<br />

敗 した 場 合 に 備 えて、コピーを 保 存 し、 最 新 の 健 全 なバックアップを 常 にオンラインで 使 用 できるようにしておく 必 要 があ<br />

ります。リストアしたバックアップで 整 合 性 の 問 題 が 検 出 された 場 合 は、そのバックアップを 破 棄 しなければいけません。<br />

以 降 のインクリメンタル・リストアのターゲットに 使 用 することはできません。<br />

オンライン・バックアップからシステムをリストアする 場 合 は、 最 初 に 最 新 のフル・バックアップを、 次 に 最 新 の 累 積 バック<br />

アップを、その 後 で、その 累 積 バックアップ 以 降 に 行 ったすべてのインクリメンタル・バックアップをリストアします。<br />

<strong>Caché</strong> オンライン・バックアップの 構 成 の 詳 細 は、この 章 の "<strong>Caché</strong> オンライン・バックアップ 設 定 の 構 成 " を 参 照 してくだ<br />

さい。<strong>Caché</strong> オンライン・バックアップの 管 理 の 詳 細 は、この 章 の "<strong>Caché</strong> オンライン・バックアップの 管 理 " を 参 照 してく<br />

ださい。<br />

2.3.3 コールド・バックアップ<br />

コールド・バックアップとは、<strong>Caché</strong> が 正 常 にシャットダウンされたときに 行 われる、システムの 外 部 バックアップのことで<br />

す。このバックアップは 通 常 、システムで 使 用 中 のファイル・システムすべてのバックアップになります。 少 なくとも、 何 らか<br />

の 方 法 で <strong>Caché</strong> が 使 用 するすべてのディレクトリになります。これには、インストール・ディレクトリ、データベース・ディレ<br />

クトリ、ジャーナルおよび 代 替 ジャーナル・ディレクトリ、WIJ ディレクトリ、および <strong>Caché</strong> で 使 用 される 外 部 ファイルを 格 納<br />

したあらゆるディレクトリなどがあります。この 方 法 は、<strong>Caché</strong> が 通 常 夜 間 に 停 止 されるシステムに 適 しています。<br />

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

メリット<br />

手 順 が 簡 単 です (<strong>Caché</strong> の 停 止 とインスタンス 全 体 のコ<br />

ピー)。<br />

デメリット<br />

<strong>Caché</strong> は 使 用 できません。<br />

<strong>Caché</strong> の 停 止 中 にシステムをバックアップすることが 役<br />

に 立 つ 場 合 があります。<br />

2.3.4 レガシー 並 行 外 部 バックアップ<br />

レガシー 並 行 外 部 バックアップ 方 法 は、“ダーティ・バックアップ” とも 呼 ばれています。レガシー 並 行 外 部 バックアップ<br />

は、<strong>Caché</strong> にダウンタイムなしのバックアップ 実 行 機 能 ができる 前 に 設 計 されました。このダウンタイムなしのバックアップ<br />

は、“ 外 部 バックアップ” と “<strong>Caché</strong> オンライン・バックアップ” の 両 方 で 使 用 可 能 で、 最 小 限 のダウンタイムで 外 部 バッ<br />

クアップを 実 行 できるように 設 計 されています。 現 在 、このバックアップ 方 法 は 極 めて 特 殊 なケースでしか 使 用 されませ<br />

ん。 通 常 は、 以 下 の 条 件 がすべて 存 在 する 場 合 にのみ 使 用 します。<br />

• <strong>Caché</strong> が OpenVMS クラスタにクラスタ 化 されており、バックアップ 時 のダウンタイムを 最 小 限 に 抑 える 必 要 がある 場<br />

合 。これは、 他 のバックアップ 方 法 ではダウンタイムなしのバックアップが 使 用 できないようなクラスタに 限 られます。<br />

• スナップショット・テクノロジを 使 用 できない 場 合 。スナップショット・テクノロジが 使 用 可 能 な 場 合 は、レガシー 並 行 外<br />

部 バックアップよりもダウンタイムの 発 生 が 少 ない 外 部 バックアップを 使 用 できます。<br />

• <strong>Caché</strong> オンライン・バックアップでは、 要 件 を 満 たせない 場 合 。<strong>Caché</strong> オンライン・バックアップは、より 簡 単 な 方 法 で<br />

あると 同 時 に、レガシー 並 行 外 部 バックアップよりも 発 生 するダウンタイムが 少 なくなります。<br />

レガシー 並 行 外 部 バックアップ 方 法 は、 通 常 のデータベースの 書 き 込 みが 行 われている 間 にシステムの 外 部 バックアッ<br />

プを 実 行 できるようにすることによって 機 能 します。この 方 法 で 取 得 したデータベースのコピーは、 破 損 している (“ダー<br />

ティ”である) と 予 想 されます。このコピーの 後 に <strong>Caché</strong> オンライン・バックアップのインクリメンタル・バックアップを 行 いま<br />

す。これにより、ダーティ・コピーが 行 われている 間 に 変 更 されたすべてのデータベース・ブロックが 取 得 されます。バッ<br />

12 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップの 方 法<br />

クアップのリストア 時 には、まずデータベースのコピーをリストアし、 続 いてインクリメンタル・バックアップをリストアします。<br />

詳 細 な 手 順 は 以 下 のとおりです。<br />

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

Do CLRINC^DBACK("QUIET")<br />

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

2. 選 択 したオペレーティング・システム、またはサードパーティのバックアップ・ユーティリティを 使 用 して、CACHE.DAT<br />

データベース・ファイルをコピーします。<br />

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

す。 以 下 に 例 を 示 します。<br />

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

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

4. <strong>Caché</strong> のインクリメンタル・バックアップを 実 行 します。これによって、CACHE.DAT ファイルのコピー 中 に 変 更 された<br />

ブロックがすべてコピーされます。 構 成 によっては、このときにごく 短 時 間 ですがユーザ・プロセスが 一 時 停 止 する 場<br />

合 があります。<br />

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

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

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

メリット<br />

他 の 推 奨 アプローチのいずれも 使 用 できないサイトにお<br />

いて、 停 止 時 間 がほとんど、あるいはまったく 発 生 せず<br />

にバックアップ 可 能 な 方 法 です。<br />

デメリット<br />

複 数 のファイルをリストアする 必 要 があります<br />

(CACHE.DAT データベース・ファイルとインクリメンタル・<br />

バックアップ・ファイル)。このため、リストア 処 理 に 長 時 間<br />

を 要 します。<br />

手 順 が 複 雑 です。<br />

リストアを 実 行 するには、<strong>Caché</strong> のインスタンスを 実 行 し<br />

ておく 必 要 があります。<br />

OpenVMS のレガシー 並 行 外 部 バックアップの 例<br />

OpenVMS プラットフォーム 向 けに CBACKUP.COM コマンド・プロシージャが 用 意 されています。これは、<strong>Caché</strong> の 実 行<br />

中 に、<strong>Caché</strong> バックアップ・ルーチンでエントリ・ポイントを 使 用 してバックアップを 実 行 する 方 法 のモデルを 提 供 するもの<br />

です。このコマンド・プロシージャには、OpenVMS と <strong>Caché</strong> バックアップを 組 み 合 わせたさまざまな 例 が 提 供 されていま<br />

す。CBACKUP.COM は、 以 下 を 実 行 します。<br />

1. OpenVMS バックアップを 実 行 します。<br />

2. <strong>Caché</strong> バックアップ 履 歴 グローバルに、OpenVMS フル・バックアップの 日 時 と 簡 単 な 説 明 を 記 録 し、その 後 のリスト<br />

アの 要 求 時 にこの 情 報 を 使 用 します。<br />

3. <strong>Caché</strong> インクリメンタル・バックアップを 実 行 します。<br />

このプロシージャの 詳 細 を 確 認 して、 必 要 に 応 じて 変 更 することをお 勧 めします。また、OpenVMS BACKUP、または<br />

<strong>Caché</strong> バックアップ・プロシージャのエントリ・ポイントと 関 数 を 使 用 する 場 合 は、このプロシージャの 使 用 をお 勧 めします。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 13


バックアップとリストア<br />

注 釈<br />

OpenVMS の BACKUP を 使 用 して SaveSet ファイルをリストアするときは、 必 ず /REPAIR パラメータを 使 用 す<br />

ることをお 勧 めします。これにより、SaveSet ファイルの 状 態 に 関 係 なく、レコードの 属 性 が 必 ず 正 しく 設 定 され<br />

ます。<br />

2.4 バックアップからのリストア<br />

定 期 的 にバックアップをリストアして、ご 使 用 の 手 順 をテストする 必 要 があります。この 章 の "バックアップの 整 合 性 と 復 元<br />

可 能 性 " のセクションの 説 明 に 従 って、 検 証 時 にはあらゆるバックアップを 代 替 サーバにリストアし、リストアのウォーム・<br />

コピーとして 機 能 するようにすることをお 勧 めします。<br />

バックアップ・リストアは、 複 雑 かつ 時 間 がかかる 場 合 がありますが、 定 期 的 にリストアを 実 施 しておくことで、 関 連 するリス<br />

クの 軽 減 に 役 立 ちます。バックアップ・リストアは、 大 規 模 な 災 害 復 旧 計 画 の 一 環 として 検 討 する 必 要 があります。<strong>Caché</strong><br />

シャドウイングおよび <strong>Caché</strong> ミラーリングも、 災 害 復 旧 時 の 代 替 機 能 になります。<br />

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

い。<br />

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

• バックアップ・リストアのシナリオ<br />

• メンテナンス・モードによる <strong>Caché</strong> の 起 動<br />

• バックアップ・リストア 後 のジャーナル・リストア<br />

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

2.4.1 バックアップ・リストアのシナリオ<br />

バックアップ・リストアを 実 行 するには、さまざまなシナリオがあります。 多 くの 場 合 、 一 連 の 固 有 の 要 件 やリストア 手 順 が<br />

あります。このセクションでは、 各 種 バックアップ 方 法 のバリエーションを 含 め、 以 下 の 一 般 的 なリストア・シナリオについ<br />

て 説 明 します。<br />

• システム 全 体 のリストア — <strong>Caché</strong> またはシステムで 使 用 中 のストレージのすべてまたは 大 部 分 が、 全 体 として 使 用 不<br />

可 能 と 見 なされた 場 合 に 使 用 します。バックアップ・メディアからシステムのフル・バックアップをリストアして、 実 働 環<br />

境 で 使 用 できる 状 態 まで <strong>Caché</strong> をリカバリする 必 要 があります。<br />

• データベースのみのリストア — <strong>Caché</strong> データベースの 一 部 またはすべてが 使 用 不 可 能 と 見 なされ、バックアップか<br />

らリカバリする 必 要 がある 場 合 に 使 用 します。<br />

• 別 のシステムへのデータベースのリストア/ 移 行 — 1 つ 以 上 のデータベースが 別 のシステムにリストアされている 場<br />

合 に 使 用 します。ターゲット・システムでは、 新 しいハードウェアや 異 なるプラットフォームを 使 用 することも、 同 一 ハー<br />

ドウェア 上 に 別 の <strong>Caché</strong> インスタンスを 稼 働 させることも 可 能 です。ターゲット・システムでは、ファイル・システムのレ<br />

イアウトが 異 なっていてもかまいません。これは、データベースをバックアップ・メンバまたは 非 同 期 ミラー・メンバに<br />

追 加 する 場 合 ("<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリング” の 章 を 参 照 )、またはシャドウの 宛 先 と 同 期 化 する 場 合<br />

(このドキュメントの “シャドウイング” の 章 を 参 照 ) に 使 用 できます。<br />

2.4.1.1 システム 全 体 のリストア<br />

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

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

• すべてのファイル・システム (あるいは、 少 なくともバックアップ 済 みのすべてのファイル) は、バックアップ・メディアか<br />

らリストアされており、オペレーシング・システム・レベルでのパス 名 は 変 更 されていません。<br />

14 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップからのリストア<br />

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

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

外 部 バックアップまたはコールド・バックアップを 使 用 した 場 合 は、データベースは 物 理 的 に 整 合 性 が 保 たれた 状 態 まで<br />

既 にリストアされていますが、ジャーナルをリストアして 最 新 の 更 新 とトランザクションの 整 合 性 をリカバリする 必 要 がありま<br />

す。 以 下 はその 方 法 です。<br />

1. この 章 の "メンテナンス・モードによる <strong>Caché</strong> の 起 動 " のセクションの 説 明 に 従 って、メンテナンス・モードで <strong>Caché</strong><br />

を 起 動 し、ジャーナル・リストアを 実 行 した 後 でユーザがシステムにアクセスできるようにします。<br />

重 要<br />

この 手 順 では、CACHE.WIJ ファイルがバックアップ・スナップショットの 一 環 としてバックアップされ<br />

ており、データベースなどのファイル/ファイル・システムと 共 にリストアされていると 想 定 しています。<br />

バックアップ/バックアップ・リストア 方 法 を 計 画 する 際 にはこの 方 法 をお 勧 めします。ただし、これに<br />

該 当 しない 場 合 の <strong>Caché</strong> の 起 動 方 法 については、" 自 動 WIJ およびジャーナル・リカバリを 使 用 し<br />

ない <strong>Caché</strong> の 起 動 " のセクションを 参 照 してください。<br />

2. この 章 の "バックアップ・リストア 後 のジャーナル・リストア" のセクションの 説 明 に 従 って、ジャーナルをリストアします。<br />

3. ジャーナル・リストアが 完 了 したら、アプリケーションの 検 証 やその 他 のメンテナンスを 実 行 できます。<br />

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

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

このセクションの 以 降 の 部 分 では、<strong>Caché</strong> オンライン・バックアップまたはレガシー 並 行 外 部 バックアップのユーザを 対 象<br />

に、システム 全 体 のリストアについて 説 明 します。<strong>Caché</strong> オンライン・バックアップ・リストアを 実 行 して、バックアップ 出 力<br />

ファイルからデータベースをリストアする 必 要 があります。<strong>Caché</strong> オンライン・バックアップでは、この 章 の "<strong>Caché</strong> オンライ<br />

ン・バックアップ" のセクションで 説 明 されているように、バックアップ 出 力 ファイルはシステム 全 体 のバックアップの 一 環 と<br />

してバックアップ・メディアに 書 き 込 まれます。<br />

<strong>Caché</strong> オンライン・バックアップ・リストアは、 実 行 中 の <strong>Caché</strong> インスタンスに 対 してのみ 実 行 できます。そのため、このシ<br />

ステム 全 体 をリストアするシナリオでは、プライマリ・インスタンスのデータベースのリストアを 実 行 するためにインストール<br />

された 別 の <strong>Caché</strong> セカンダリ・インスタンスを 使 用 する 必 要 があります。リストア 中 のデータベースでは、セカンダリ・イン<br />

スタンスにデータベース 定 義 もネームスペース 定 義 も 不 要 です。<br />

セカンダリ・インスタンスは、<strong>Caché</strong> インストーラを 実 行 し、プライマリ・インスタンスとは 異 なるインスタンス 名 とインストール・<br />

ディレクトリを 選 択 することで、このリストア 手 順 の 一 環 としてインストールすることができます。あるいは、リストア 時 にこの<br />

手 順 を 回 避 するには、<strong>Caché</strong> オンライン・バックアップ 方 法 の 使 用 を 決 めたときに、セカンダリ “リストア” インスタンスを<br />

インストールします。このセカンダリ・インスタンスは 常 に 停 止 状 態 にしておき、システム 全 体 のバックアップの 一 環 として<br />

インストール・ディレクトリをバックアップしておく 必 要 があります (つまり、これはセカンダリ・インスタンスのコールド・バック<br />

アップになります)。プライマリ・インスタンスの <strong>Caché</strong> オンライン・バックアップ・リストアを 実 行 するために、システム 全 体<br />

のリストア 中 にセカンダリ・インスタンスを 簡 単 に 起 動 できます。<br />

システム 全 体 のリストア 後 に <strong>Caché</strong> のオンライン・バックアップまたはレガシー 並 行 外 部 バックアップからリストアするに<br />

は、 以 下 の 手 順 を 実 行 します。<br />

1. <strong>Caché</strong> のセカンダリ・インスタンスを 使 用 し、この 章 の "<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ" のセ<br />

クションの 指 示 に 従 って、 以 下 の 手 順 を 実 行 します。<br />

a. 最 新 のフル・バックアップをリストアします (レガシー 並 行 外 部 バックアップを 使 用 すると、ファイル・システムのリ<br />

ストア 中 にフル・バックアップは 外 部 でリストアされています)。<br />

b. フル・バックアップの 後 に 累 積 バックアップを 実 行 している 場 合 は、 最 新 の 累 積 バックアップをリストアします。 累<br />

積 バックアップを 実 行 していない 場 合 は、 次 の 手 順 に 進 んでください。<br />

c. 最 新 の 累 積 バックアップ ( 存 在 する 場 合 )、または 最 新 のフル・バックアップ ( 累 積 バックアップが 存 在 しない 場<br />

合 ) 以 降 に 実 行 されたすべてのインクリメンタル・バックアップを、バックアップが 実 行 された 順 序 に 従 ってリスト<br />

アします。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 15


バックアップとリストア<br />

2. <strong>Caché</strong> のセカンダリ・インスタンスを 使 用 し、この 章 の "バックアップ・リストア 後 のジャーナル・リストア" のセクションの<br />

指 示 に 従 います。<br />

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

4. 重 要 :この 章 の " 自 動 WIJ およびジャーナル・リカバリを 使 用 しない <strong>Caché</strong> の 起 動 " のセクションの 説 明 に 従 って、<br />

プライマリ・インスタンスを 起 動 します。この 手 順 では、<strong>Caché</strong> がメンテナンス・モードで 実 行 状 態 を 維 持 するので、ア<br />

プリケーションの 検 証 やその 他 のメンテナンスを 実 行 できます。<br />

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

2.4.1.2 データベースのみのリストア<br />

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

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

れます。<br />

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

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

タベースを 起 動 する 必 要 がない 場 合 があります。<br />

• <strong>Caché</strong> を 完 全 に 起 動 できない 場 合 は、リストアが 必 要 なデータベースを 起 動 する 必 要 があるか、または 起 動 を 妨 げ<br />

る 破 損 が 生 じている 可 能 性 があります。<br />

注 釈<br />

外 部 バックアップまたはコールド・バックアップを 使 用 しており、リストア 対 象 のデータベースが 複 数 存 在 してい<br />

る 場 合 は、<strong>Caché</strong> をシャットダウンしてすべての CACHE.DAT をリストアし、この 章 の "システム 全 体 のリストア"<br />

のセクションの 説 明 にあるリストア 手 順 を 実 行 するとより 簡 単 です。 特 に CACHESYS データベースをリストアす<br />

る 必 要 がある 場 合 は、このケースに 該 当 します。<br />

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

1. <strong>Caché</strong> が 起 動 していない 場 合 は、この 章 の "メンテナンス・モードによる <strong>Caché</strong> の 起 動 " のセクションの 説 明 に 従 っ<br />

て 起 動 します。<strong>Caché</strong> を 起 動 すると、 既 存 のデータベースに 対 する 保 留 中 の 自 動 リカバリがあれば 直 ちに 行 われる<br />

ため、 今 後 の 起 動 時 に、リストア 対 象 のデータベースと 競 合 することはありません。<br />

既 に <strong>Caché</strong> が 起 動 しており、リストア 処 理 中 にユーザがアクセスする 可 能 性 のあるデータベースをリストアする 場 合<br />

は、"メンテナンス・モードによる <strong>Caché</strong> の 起 動 " の 説 明 に 従 って、シャットダウンおよび 再 起 動 することをお 勧 めしま<br />

す。<br />

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

16 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップからのリストア<br />

問 題<br />

1. <strong>Caché</strong> の 起 動 に 失 敗<br />

する<br />

解 決 策<br />

メンテナンス・モードで <strong>Caché</strong> を 起 動 すると、 起 動 に 必 要 なデータベースがマウント<br />

できない 場 合 でも、<strong>Caché</strong> を 起 動 することができます。ただし、 起 動 に 必 要 とマーク<br />

されているデータベースに 自 動 ジャーナル・リカバリが 保 留 されている 場 合 は、この<br />

手 順 はスキップされません。<br />

したがって、 破 損 したデータベースで 引 き 続 き <strong>Caché</strong> が 起 動 できない 場 合 には、 以<br />

下 の 手 順 を 実 行 します。<br />

a. CACHE.DAT ファイルの 名 前 を 変 更 して、データベースにいっさいアクセスでき<br />

ないようにします。<br />

b. 構 成 を 変 更 して、これらのデータベースが 起 動 に 必 要 とならないようにマークし<br />

ます。<br />

c. "メンテナンス・モードによる <strong>Caché</strong> の 起 動 " の 説 明 に 従 って、 再 度 <strong>Caché</strong> を 起<br />

動 します。<br />

2. CACHESYS データ<br />

ベースの 損 傷 により<br />

<strong>Caché</strong> が 起 動 できない<br />

3. <strong>Caché</strong> が 起 動 しない<br />

状 態 が 続 く<br />

一 時 的 に CACHESYS データベースを 外 部 バックアップのコピー、または 同 一 バー<br />

ジョンの <strong>Caché</strong> の 新 しいインストールに 置 き 換 えます。これは、<strong>Caché</strong> を 起 動 してリ<br />

ストア 手 順 を 完 了 するための 一 時 的 な 解 決 策 です。<br />

"システム 全 体 のリストア" の 手 順 に 従 って、すべてのデータベースをリストアするこ<br />

とができます。<br />

ヘルプの 詳 細 は、インターシステムズのサポート 窓 口 までお 問 い 合 わせください。<br />

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

す。<br />

使 用 したバックアップ 方<br />

法<br />

外 部 バックアップまたは<br />

コールド・バックアップ<br />

データベースのリストアのサブ 手 順<br />

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

a. <strong>Caché</strong> からデータベースをディスマウントします。<br />

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

c. データベースを 再 度 マウントします。<br />

CACHESYS データベースをリストアする 場 合 は、 一 時 的 に 代 替 ディレクトリにリスト<br />

アします。<br />

<strong>Caché</strong> オンライン・バッ<br />

クアップ<br />

この 章 の "<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ" のセクションの<br />

指 示 に 従 って、 以 下 の 手 順 を 実 行 します。<br />

a. 最 新 のフル・バックアップをリストアします。<br />

b. フル・バックアップの 後 に 累 積 バックアップを 実 行 している 場 合 は、 最 新 の 累 積<br />

バックアップをリストアします。 累 積 バックアップを 実 行 していない 場 合 は、 次 の<br />

手 順 に 進 んでください。<br />

c. 最 新 の 累 積 バックアップ ( 存 在 する 場 合 )、または 最 新 のフル・バックアップ ( 累<br />

積 バックアップが 存 在 しない 場 合 ) 以 降 に 実 行 されたすべてのインクリメンタル・<br />

バックアップを、バックアップが 実 行 された 順 序 に 従 ってリストアします。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 17


バックアップとリストア<br />

使 用 したバックアップ 方<br />

法<br />

レガシー 並 行 外 部 バッ<br />

クアップ<br />

データベースのリストアのサブ 手 順<br />

(この 表 の) 外 部 バックアップに 記 述 されている 手 順 を 実 行 して、CACHE.DAT ファイ<br />

ルの “ダーティ” コピーをリストアしてから、(この 表 の) <strong>Caché</strong> オンライン・バックアッ<br />

プに 記 述 されているインクリメンタル・バックアップを 適 用 します。<br />

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

4. この 章 の "メンテナンス・モードによる <strong>Caché</strong> の 起 動 " のセクションの 説 明 に 従 って <strong>Caché</strong> を 起 動 し、ユーザがシス<br />

テムを 使 用 できる 状 態 にある 場 合 には、 通 常 どおりに <strong>Caché</strong> を 停 止 および 再 起 動 します。 再 起 動 の 前 に、アプリケー<br />

ションの 検 証 やその 他 のメンテナンスを 実 行 できます。<br />

注 釈<br />

この 手 順 の 手 順 2 の 表 に 記 述 されているように、 外 部 バックアップまたはコールド・バックアップから 一 時 的<br />

な 代 替 ディレクトリに CACHESYS データベースをリストアしている 場 合 は、<strong>Caché</strong> をシャットダウンした 後 で<br />

( 再 起 動 する 前 に) 既 存 の CACHESYS データベースを 一 時 ディレクトリの CACHE.DAT ファイルに 置 き 換<br />

える 必 要 があります。<br />

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

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

• 1 つ 以 上 のデータベースがターゲット・システムにリストアされています。このターゲット・システムは、バックアップを<br />

生 成 したシステムとは 別 のシステムです。<br />

• ターゲット・システムでは、 新 しいハードウェアや 異 なるプラットフォームを 使 用 することも、 単 に 同 一 ハードウェア 上<br />

に 単 に 別 の <strong>Caché</strong> インスタンスを 稼 働 させることも 可 能 です。<br />

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

• ターゲット・システムには 既 に <strong>Caché</strong> がインストールされています。<strong>Caché</strong> のインストール または CACHESYS デー<br />

タベースを、ソースとは 異 なるターゲット・マシンにコピーすることはできません。<br />

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

• ハードウェアの 移 行<br />

• データベースをバックアップ・メンバまたは 非 同 期 ミラー・メンバに 追 加 する ("<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリン<br />

グ” の 章 を 参 照 )、またはシャドウの 宛 先 と 同 期 化 する (このドキュメントの “シャドウイング” の 章 を 参 照 )<br />

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

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

重 要<br />

システムが 同 一 でない 限 り、 宛 先 システムの CACHESYS データベースをソースの CACHESYS データ<br />

ベースのリストアに 置 き 換 えないでください。ソースの CACHESYS データベースに 必 要 なデータはすべ<br />

て、エクスポートしてから 宛 先 の CACHESYS データベースにインポートすることができます。<br />

ソース・システムとターゲット・システムで 使 用 しているエンディアンが 異 なる 場 合 は、この 手 順 の 後 にあ<br />

る “エンディアンに 関 する 注 意 事 項 ” のサブセクションを 参 照 してください。ソース・システムまたはター<br />

ゲット・システムでデータベース 暗 号 化 を 使 用 している 場 合 は、この 手 順 の 後 にある “データベース 暗<br />

号 化 に 関 する 注 意 事 項 ” のサブセクションを 参 照 してください。<br />

1. <strong>Caché</strong> がまだ 起 動 されてない 場 合 は 起 動 します。<strong>Caché</strong> を 起 動 すると、 既 存 のデータベースに 対 する 保 留 中 の 自<br />

動 リカバリがあれば 直 ちに 行 われるため、リストア 対 象 のデータベースと 競 合 することはありません。<br />

リストア 処 理 中 にユーザがアクセスする 可 能 性 のあるデータベースをリストアする 場 合 は、この 章 の "メンテナンス・<br />

モードによる <strong>Caché</strong> の 起 動 " のセクションの 説 明 に 従 って 起 動 する 必 要 があります。<br />

18 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップからのリストア<br />

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

す。<br />

使 用 したバックアップ 方<br />

法<br />

外 部 バックアップまたは<br />

コールド・バックアップ<br />

データベースのリストアのサブ 手 順<br />

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

a. リストア 対 象 のデータベースがターゲット・インスタンスにマウントされている 場<br />

合 は、すべてディスマウントします。<br />

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

c. 新 しいデータベースがあればすべて 構 成 に 追 加 します。<br />

d. ディスマウントしたデータベースを 再 度 マウントします。<br />

<strong>Caché</strong> オンライン・バッ<br />

クアップ<br />

この 章 の "<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ" のセクションの<br />

指 示 に 従 って、 以 下 の 手 順 を 実 行 します。<br />

a. 最 新 のフル・バックアップをリストアします。<br />

b. フル・バックアップの 後 に 累 積 バックアップを 実 行 している 場 合 は、 最 新 の 累 積<br />

バックアップをリストアします。 累 積 バックアップを 実 行 していない 場 合 は、 次 の<br />

手 順 に 進 んでください。<br />

c. 最 新 の 累 積 バックアップ ( 存 在 する 場 合 )、または 最 新 のフル・バックアップ ( 累<br />

積 バックアップが 存 在 しない 場 合 ) 以 降 に 実 行 されたすべてのインクリメンタル・<br />

バックアップを、バックアップが 実 行 された 順 序 に 従 ってリストアします。<br />

レガシー 並 行 外 部 バッ<br />

クアップ<br />

(この 表 の) 外 部 バックアップに 記 述 されている 手 順 を 実 行 して、CACHE.DAT ファイ<br />

ルの “ダーティ” コピーをリストアしてから、(この 表 の) <strong>Caché</strong> オンライン・バックアッ<br />

プに 記 述 されているインクリメンタル・バックアップを 適 用 します。<br />

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

注 釈<br />

<strong>Caché</strong> オンライン・バックアップからリストアして、データベースをバックアップ・メンバまたは 非 同 期 ミラー・メ<br />

ンバに 追 加 ("<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリング” の 章 を 参 照 ) したり、シャドウの 宛 先 と 同 期 化 (こ<br />

のドキュメントの “シャドウイング” の 章 を 参 照 ) したりする 場 合 は、この 手 順 をスキップしてください。このよ<br />

うな 場 合 は、ジャーナルが 自 動 的 に 適 用 されます。<br />

4. この 章 の "メンテナンス・モードによる <strong>Caché</strong> の 起 動 " のセクションの 説 明 に 従 って <strong>Caché</strong> を 起 動 し、ユーザがシス<br />

テムを 使 用 できる 状 態 にある 場 合 には、 通 常 どおりに <strong>Caché</strong> を 停 止 および 再 起 動 します。<br />

エンディアンに 関 する 注 意 事 項<br />

ソース・システムと 異 なるエンディアン ( 一 方 がビッグ・エンディアンでもう 一 方 がリトル・エンディアン) を 使 用 しているター<br />

ゲット・システムにバックアップをリストアするには、データベースのバックアップに 使 用 した 方 法 に 応 じて 追 加 の 手 順 が 必<br />

要 になります。サポートされるプラットフォームのエンディアンの 詳 細 は、"サポート 対 象 プラットフォーム" の “プラット<br />

フォームのエンディアン” を 参 照 してください。<br />

• " 外 部 バックアップ"または"コールド・バックアップ"の 場 合 — CACHE.DAT ファイルのコピーを 変 換 します。"<strong>Caché</strong><br />

専 用 のシステム/ツールおよびユーティリティ" の “ 移 行 と 変 換 ユーティリティ” の 章 にある "cvendian を 使 用 した<br />

ビッグ・エンディアン・システムとリトル・エンディアン・システム 間 の 変 換 " のセクションの 説 明 に 従 ってください。<br />

• <strong>Caché</strong> オンライン・バックアップまたはレガシー 並 行 外 部 バックアップの 場 合 — ソース・システムと 異 なるエンディア<br />

ンを 使 用 しているターゲット・システムに CACHE.DAT をリストアすることはできません。 代 わりに、 以 下 の 手 順 を 実 行<br />

します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 19


バックアップとリストア<br />

1. このセクションに 記 述 されている 手 順 を 使 用 して、ソース・システムと 同 じエンディアンを 使 用 しているシステムに<br />

リストアします。このリストアには、 必 要 となるジャーナル・リストアをすべて 含 める 必 要 があります (この 手 順 の 手<br />

順 3 を 参 照 )。<br />

2. <strong>Caché</strong> をシャットダウンするか、またはデータベースをディスマウントします。<br />

3. データベースを 変 換 します。"<strong>Caché</strong> 専 用 のシステム/ツールおよびユーティリティ" の “ 移 行 と 変 換 ユーティリ<br />

ティ” の 章 にある "cvendian を 使 用 したビッグ・エンディアン・システムとリトル・エンディアン・システム 間 の 変 換 "<br />

のセクションの 説 明 に 従 ってください。<br />

4. ターゲット・システムに CACHE.DAT ファイルをコピーします。<br />

5. このセクションの 外 部 バックアップ 用 の 説 明 のとおりにデータベースを 変 換 し、このセクションに 記 述 されている<br />

手 順 を 使 用 してターゲット・システムにリストアします。<br />

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

ターゲット・システムにデータベースをリストアする 場 合 、リストア 後 のデータベースではデータベース 暗 号 化 キーの 変 更<br />

が 必 要 になることがあります。データベースのバックアップに 使 用 した 方 法 に 応 じて、リストアしたデータベースのキーを<br />

以 下 のように 変 換 しなければならない 場 合 があります。<br />

• "<strong>Caché</strong> オンライン・バックアップ" の 場 合 — <strong>Caché</strong> オンライン・バックアップでは、データベースの 内 容 が 暗 号 化 せ<br />

ずに 格 納 されます。ターゲット・システムにある 既 存 の 暗 号 化 データベースに <strong>Caché</strong> オンライン・バックアップ・ファイ<br />

ルをリストアする 場 合 は、<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティによってターゲット・システム 上 でファ<br />

イルが 動 的 に 暗 号 化 されます。それ 以 外 は、リストアしたデータベースは 暗 号 化 されません。<br />

• " 外 部 バックアップ"、"コールド・バックアップ"、または "レガシー 並 行 外 部 バックアップ" の 場 合 — ソース・システム<br />

の CACHE.DAT ファイルの 状 態 に 応 じ、cvencrypt ユーティリティを 使 用 して、ターゲット・システムにファイルをリスト<br />

アした 後 でデータベース 暗 号 化 を 管 理 します。 例 えば、データベース・ファイルで 使 用 している 暗 号 化 キーがソー<br />

ス・システムとターゲット・システムとで 異 なる 場 合 は、ターゲット・システムの 暗 号 化 キーを 使 用 するように、リストアし<br />

たデータベースを 変 換 する 必 要 があります。cvencrypt ユーティリティの 詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の<br />

付 録 “cvencrypt ユーティリティの 使 用 ” を 参 照 してください。<br />

2.4.2 メンテナンス・モードによる <strong>Caché</strong> の 起 動<br />

いずれのリストア 手 順 でも、バックアップ・リストアおよびジャーナル・リストアが 完 全 に 終 了 し、 対 象 のアプリケーション・レ<br />

ベルの 検 証 がすべて 完 了 するまで、リストア 中 のデータベースでアプリケーションの 動 作 が 発 生 しないようにする 必 要 が<br />

あります。アプリケーション 環 境 または 運 用 環 境 に、<strong>Caché</strong> の 起 動 時 にユーザの 操 作 が 発 生 しないようなメカニズムがあ<br />

る 場 合 は、そのメカニズムを 利 用 できます。 例 えば、 完 全 に Web ベースのアプリケーションを 使 用 している 場 合 は、Web<br />

サーバをシャットダウンすれば、リストア 手 順 に 関 与 している 管 理 者 のみがシステムにアクセス 可 能 となることを 保 証 する<br />

には 十 分 です。<br />

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

注 意<br />

以 下 の 手 順 は、バージョン 2011.1 で 導 入 された 緊 急 アクセス・モードの 強 化 機 能 を 利 用 するため、 初<br />

期 のバージョンから 変 更 されたものです。<strong>Caché</strong> の 初 期 バージョンを 使 用 している 場 合 は、バージョン<br />

2010.2 のドキュメントを 参 照 してください。<br />

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

1. すべてのメンテナンス 作 業 時 に 使 用 する 一 意 のユーザ 名 とパスワードを 指 定 し、 緊 急 アクセス・モードで <strong>Caché</strong> を<br />

起 動 します。このユーザ 名 とパスワードは、どの 既 存 ユーザも 使 用 していないものであることが 必 要 です。<br />

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

ccontrol start /EmergencyId=,<br />

• UNIX®、OpenVMS、Mac の 各 プラットフォームの 場 合 は、 以 下 のようにコマンドを 呼 び 出 します。<br />

20 <strong>Caché</strong> データ 整 合 性 ガイド


バックアップからのリストア<br />

ccontrol start EmergencyId=,<br />

詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “システム 管 理 およびセキュリティ” の 章 にある " 緊 急 アクセス" のセク<br />

ションを 参 照 してください。<br />

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

3. リストア 手 順 (あらゆるジャーナル・リストアやアプリケーションの 検 証 などのメンテナンス 作 業 を 含 む) が 完 了 したら、<br />

以 下 の 手 順 を 実 行 して、ユーザがシステムを 使 用 できるようにします。<br />

a. <strong>Caché</strong> をシャットダウンします。<br />

b. EmergencyId スイッチを 使 用 しないで <strong>Caché</strong> を 起 動 します。<br />

2.4.3 バックアップ・リストア 後 のジャーナル・リストア<br />

バックアップ・リストアに 続 いて、ジャーナル・ファイルを 適 用 する 必 要 があります。この 章 の "ジャーナルの 重 要 性 " のセ<br />

クションの 説 明 にあるように、 通 常 、バックアップ 以 降 のジャーナル・ファイルをリストア 時 に 使 用 できるようにしておきます。<br />

これらのジャーナル・ファイルを 適 用 すると、バックアップの 時 点 から 災 害 発 生 時 までの 間 にジャーナルに 記 述 された 更<br />

新 がすべてリストアされます。<br />

また、コミットされていないトランザクションをロールバックして、リストアした ( 不 完 全 なトランザクションが 存 在 する 可 能 性<br />

がある) データベースのトランザクションの 整 合 性 をリストアするには、ジャーナルを 適 用 する 必 要 があります。バックアッ<br />

プ 直 前 までのジャーナル・ファイルが 存 在 し、それ 以 降 に 新 しいジャーナル・ファイルが 作 成 されていない 場 合 でもこの<br />

作 業 は 必 要 です。<br />

重 要<br />

少 なくともバックアップ 直 前 までのジャーナル・ファイルが 存 在 しない 場 合 は、いずれのジャーナル・ファ<br />

イルも 適 用 しないでください。<br />

リストアを 開 始 する 際 に、ジャーナル・リストアの 開 始 点 を 選 択 する 必 要 があります。ジャーナル・リストアでは、ジャーナ<br />

ル・ストリームをさかのぼって、バックアップよりも 前 に 開 始 されたトランザクションの 開 始 を 検 索 することもできます。<strong>Caché</strong><br />

オンライン・バックアップを 使 用 すると、 推 奨 される 開 始 点 がバックアップに 格 納 されます。^DBACK または ^BACKUP<br />

ユーティリティを 使 用 してバックアップすると、リストア 時 のトランザクション・ロールバックに 必 要 な 最 も 古 いジャーナル・<br />

ファイルに 関 する 情 報 が 3 番 目 または 最 後 のパスの 開 始 時 に 表 示 されます。<br />

バックアップ・リストア 後 のジャーナル・リストアの 適 用 方 法 については、このドキュメントの “ジャーナリング” の 章 にある<br />

"ジャーナル・ファイルのリストア" のセクションを 参 照 してください。<br />

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

この 章 で 説 明 されているリストア 手 順 の 一 部 では、<strong>Caché</strong> の 起 動 時 にデータベースの 自 動 リカバリが 発 生 しないように 起<br />

動 する 必 要 があります。これは、リストア 手 順 でリカバリをすべて 手 動 で 実 行 することになっている 手 順 で、 起 動 時 の 自 動<br />

リカバリとこの 手 動 リカバリの 結 果 に 不 整 合 が 生 じる 可 能 性 がある 場 合 に 当 てはまります。<br />

注 意<br />

この 章 で 説 明 しているリストア 手 順 は、 特 に 以 下 の 手 順 が 必 要 となる 場 合 を 目 的 としています。 他 の 条 件<br />

下 でこの 手 順 を 実 行 することはきわめて 危 険 であり、データベースの 整 合 性 が 損 なわれる 可 能 性 があり<br />

ます。また、この 手 順 はバージョン 2011.1 で 導 入 された 緊 急 アクセス・モードの 強 化 機 能 を 利 用 するた<br />

め、 初 期 のバージョンから 変 更 されたものです。<strong>Caché</strong> の 初 期 バージョンを 使 用 している 場 合 は、その<br />

バージョン 専 用 のドキュメントを 参 照 してください。<br />

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

1. 以 下 のようにして、CACHE.WIJ ファイルを 削 除 します。<br />

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

<strong>Caché</strong> データ 整 合 性 ガイド 21


バックアップとリストア<br />

b. この 行 で 指 定 されているディレクトリに 格 納 されている CACHE.WIJ ファイルを 削 除 します。NULL ディレクトリが<br />

指 定 されている 場 合 、CACHE.WIJ ファイルは 管 理 者 ディレクトリに 格 納 されています。<br />

2. すべてのメンテナンス 作 業 時 に 使 用 する 一 意 のユーザ 名 とパスワードを 指 定 し、 緊 急 アクセス・モードで <strong>Caché</strong> を<br />

起 動 します。このユーザ 名 とパスワードは、どの 既 存 ユーザも 使 用 していないものであることが 必 要 です。<br />

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

ccontrol start /EmergencyId=,<br />

• UNIX®、OpenVMS、Mac の 各 プラットフォームの 場 合 は、 以 下 のようにコマンドを 呼 び 出 します。<br />

ccontrol start EmergencyId=,<br />

詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “システム 管 理 およびセキュリティ” の 章 にある " 緊 急 アクセス" のセク<br />

ションを 参 照 してください。<br />

3. ほとんどの 場 合 、WIJ 内 のジャーナル・リカバリ 情 報 が 失 われているため、<strong>Caché</strong> は 完 全 には 起 動 しません。<strong>Caché</strong><br />

が 正 常 に 起 動 する 場 合 は、この 手 順 の 残 りはスキップしてください。<br />

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

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

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

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

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

7. リストア 手 順 (あらゆるジャーナル・リストアやアプリケーションの 検 証 などのメンテナンス 作 業 を 含 む) が 完 了 したら、<br />

以 下 の 手 順 を 実 行 して、ユーザがシステムを 使 用 できるようにします。<br />

a. <strong>Caché</strong> をシャットダウンします。<br />

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

す。<br />

2.5 <strong>Caché</strong> オンライン・バックアップ 設 定 の 構 成<br />

<strong>Caché</strong> オンライン・バックアップは、 実 装 可 能 なバックアップ 方 法 の 一 つです。サポートされている 方 法 およびその 最 適<br />

な 使 用 方 については、この 章 の "バックアップの 方 法 " のセクションを 参 照 してください。<br />

<strong>Caché</strong> オンライン・バックアップの 設 定 は、 管 理 ポータルの [システム] > [ 構 成 ] > [データベースバックアップ 設 定 ] ペー<br />

ジで 構 成 できます。これらのタスクの 一 部 は、Backup.General クラスのメソッドを 使 用 しても 実 行 できます。 適 切 なメソッド<br />

がある 場 合 は、ここで 紹 介 しています。<br />

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

• データベース・バックアップ・リストの 定 義<br />

• バックアップ・タスクの 構 成<br />

• バックアップ・タスクのスケジュール<br />

注 釈<br />

この 構 成 タスクは、 管 理 ポータル・アプリケーションの 管 理 部 分 にあります。バックアップの 設 定 を 構 成 するに<br />

は、 適 切 なマネージャレベルのセキュリティ 権 限 が 必 要 です。<br />

22 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ 設 定 の 構 成<br />

2.5.1 データベース・バックアップ・リストの 定 義<br />

<strong>Caché</strong> では、バックアップの 対 象 となるデータベースを 指 定 するデータベース・リストが 管 理 されます。このリストは、 管 理<br />

ポータルの [システム] > [ 構 成 ] > [データベースバックアップ 設 定 ] > [バックアップデータベースリスト] ページに 移 動 す<br />

ると 表 示 できます。<br />

矢 印 ボタンを 使 用 して、バックアップしないデータベースを [ 使 用 可 能 ] リストに 移 動 し、バックアップするデータベースを<br />

[ 選 択 済 み] リストに 移 動 します。[ 保 存 ] をクリックします。どのデータベースも 選 択 していない 場 合 は、すべてのデータ<br />

ベースがバックアップされます。<br />

システムに 新 規 データベースを 追 加 すると、そのデータベースはデータベース・リストに 自 動 的 に 追 加 されます。その 新<br />

規 データベースがバックアップ 対 象 でない 場 合 は、[バックアップ・データベース・リスト] から 必 ず 削 除 してください。<br />

注 釈<br />

CACHETEMP、CACHELIB、および DOCBOOK のデータベースを 除 くすべてのデータベースのバックアップ<br />

を 実 行 する FullAllDatabases バックアップ・タスクでは、 定 義 されたデータベース・リストが 無 視 されます。<br />

バックアップ・データベース・リストは、^BACKUP ルーチンまたは Backup.General.AddDatabaseToList() メソッ<br />

ドおよび Backup.General.RemoveDatabaseFromList() メソッドを 使 用 して 管 理 することもできます。これらのメ<br />

ソッドの 使 用 法 に 関 する 詳 細 は、"インターシステムズ・クラス・リファレンス" の "Backup.General" クラスの 説 明<br />

を 参 照 してください。<br />

2.5.2 バックアップ・タスクの 構 成<br />

<strong>Caché</strong> には、 複 数 のタイプのバックアップ・タスクがあります。 各 タイプは、[データベースバックアップ 設 定 ] メニューの 項<br />

目 として 表 示 されます。このバックアップ・タスクの 構 成 とは、 以 下 のとおりです。<br />

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

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

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

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

これらは、あらかじめ 定 義 されたバックアップ・タスクで、ポータルの [システム] > [バックアップ] ページから 必 要 に 応 じて<br />

実 行 できます。タスク・マネージャを 使 用 することで、これらのバックアップ・タスクを 組 み 合 わせてスケジュールすることも<br />

できます。 詳 細 は、この 章 の "バックアップ・タスクのスケジュール" を 参 照 してください。<br />

これらの 各 タスクを 構 成 する 手 順 は 同 じです。[ 名 前 ]、[ 説 明 ]、および [タイプ] の 各 フィールドは 読 み 取 り 専 用 であり、 以<br />

下 のテーブルで 説 明 するように、 選 択 したメニュー 項 目 のものを 反 映 します。<br />

テーブル 2–1: バックアップ・タスクの 説 明<br />

名 前<br />

FullAllDatabases<br />

FullDBList<br />

IncrementalDBList<br />

説 明<br />

[バックアップ・データベース・リスト] に 記 載 されているかどうかに 関 係 な<br />

く、 共 通 に 更 新 されるすべてのデータベースのフル・バックアップを 実 行<br />

します。<br />

[バックアップ・データベース・リスト] 内 の <strong>Caché</strong> データベースのフル・<br />

バックアップを 行 います。<br />

最 後 のフル・バックアップまたは 累 積 バックアップ 以 降 のデータ 変 更 の<br />

インクリメンタル・バックアップを 実 行 します。[バックアップ・データベース・<br />

リスト] に 記 載 されているデータベースがバックアップされます。<br />

タイプ<br />

フル<br />

フル<br />

インクリメンタ<br />

ル<br />

<strong>Caché</strong> データ 整 合 性 ガイド 23


バックアップとリストア<br />

名 前<br />

CumuIncrDBList<br />

説 明<br />

最 後 のフル・バックアップ 以 降 にデータに 加 えられたすべての 変 更 の 累<br />

積 バックアップおよびインクリメンタル・バックアップ。[バックアップ・デー<br />

タベース・リスト] に 記 載 されているデータベースがバックアップされます。<br />

タイプ<br />

累 積<br />

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

れかを 選 択 します。<br />

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

をクリックして、ディレクトリを 選 択 します。<br />

2. 磁 気 テープにバックアップするには、[テープに 保 存 ] チェック・ボックスにチェックを 付 けます。 使 用 可 能 なテープ・<br />

デバイス 番 号 のリストで、[テープ 番 号 ] を 指 定 します。<br />

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

注 釈<br />

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

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

い。<br />

2.5.2.1 バックアップ・ファイル 名<br />

既 定 の 場 合 、バックアップ・ファイルは install-dir\Mgr\Backup に 格 納 されます。バックアップ・ログ・ファイルは 同 じディ<br />

レクトリに 格 納 されます。バックアップ・ファイルの 接 尾 語 は .cbk です。バックアップ・ログ・ファイルの 接 尾 語 は .log です。<br />

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

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

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

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

• .log や .cbk 接 尾 語 を 使 用 します。<br />

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

2.5.3 バックアップ・タスクのスケジュール<br />

バックアップの 実 行 スケジュールは、 適 切 に 設 定 する 必 要 があります。バックアップは、システムを 利 用 しているユーザが<br />

可 能 な 限 り 少 ない 時 間 に 実 行 します。<br />

<strong>Caché</strong> に 付 属 し、 必 要 に 応 じて 実 行 される 4 種 類 のバックアップ・タスクに 加 え、これらのバックアップ・タスクにさらにバッ<br />

クアップ 定 義 を 追 加 作 成 できます。 例 えば、1 つはバックアップをディスク・ファイルに 保 存 し、もう 1 つはテープに 保 存<br />

するといった 2 つのフル・バックアップ・タスク 作 成 できます。または、2 つのディスク・ドライブ 間 でバックアップする 代 わ<br />

りに、ドライブごとにバックアップ・タスクを 生 成 できます。<br />

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

1. 管 理 ポータルの [システム] > [タスク・マネージャ] ページに 移 動 します。<br />

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

3. 既 定 の 設 定 を 変 更 するほかに、[タスク 名 ]、[ 説 明 ]、[タスク・タイプ] を 指 定 して、[ 次 へ] をクリックします。<br />

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

24 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップの 管 理<br />

これで、[システム] > [タスクマネージャ] > [タスクスケジュールの 表 示 ] ページに 作 成 したタスクが 表 示 され、 行 に 表 示 さ<br />

れた [ 詳 細 ] をクリックすると 他 のタスクと 同 様 に 管 理 できます。<br />

2.6 <strong>Caché</strong> オンライン・バックアップの 管 理<br />

<strong>Caché</strong> オンライン・バックアップは、 実 装 可 能 なバックアップ 方 法 の 一 つです。サポートされている 方 法 およびその 最 適<br />

な 使 用 方 については、この 章 の "バックアップの 方 法 " のセクションを 参 照 してください。<br />

<strong>Caché</strong> オンライン・バックアップは、 管 理 ポータルと <strong>Caché</strong> ^BACKUP ユーティリティのいずれからでも 管 理 できます。こ<br />

こでは、ポータルでの 手 順 を 中 心 に 説 明 し、 必 要 に 応 じてユーティリティ 使 用 の 手 順 が 記 載 されたセクションを 紹 介 しま<br />

す。<br />

<strong>Caché</strong> データベースのバックアップ・タスクの 実 行 とバックアップ 履 歴 の 表 示 は、 管 理 ポータルの [システム] > [バックアッ<br />

プ] ページで 行 えます。タスク・マネージャを 使 用 して 別 のバックアップ・タスクのスケジュールを 設 定 する 場 合 は、 管 理<br />

ポータルの [システム] > [タスクマネージャ] ページで 管 理 できます。<br />

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

• バックアップ・タスクの 実 行<br />

• バックアップ・ステータスの 表 示<br />

• 実 行 中 のバックアップの 中 止<br />

• バックアップ 履 歴 の 表 示<br />

システムに 新 規 データベースを 追 加 する 場 合 は、フル・バックアップを 実 行 する 必 要 があります。インクリメンタル・バック<br />

アップを 実 行 できるのは、フル・バックアップが 存 在 するようになってからです。インクリメンタル・バックアップや 累 積 バッ<br />

クアップの 機 能 の 使 用 を 計 画 している 場 合 は、バックアップ・データベース・リストを 管 理 して、そのリストのフル・バックアッ<br />

プを 実 行 する 必 要 があります。<br />

<strong>Caché</strong> のインストール 後 、FullDBList バックアップを 実 行 して 完 全 なバックアップを 作 成 しておき、その 後 の 他 のバック<br />

アップ・タスクで 使 用 できるようにすることをお 勧 めします。<br />

注 釈<br />

これらのバックアップ・タスクは、 管 理 ポータル・アプリケーションの 処 理 部 分 にあります。バックアップ・タスクを<br />

実 行 するには 適 切 なオペレータレベルのセキュリティ 権 限 が 必 要 です。<br />

2.6.1 バックアップ・タスクの 実 行<br />

管 理 ポータルの [システム] > [バックアップ] ページから 実 行 できるバックアップ・タスクには、 次 の 4 つのタイプがあり、<br />

それぞれに 対 応 したメニュー 項 目 があります。<br />

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

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

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

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

インクリメンタル・バックアップや 累 積 バックアップの 前 には、データベースのフルバックアップを 実 行 する 必 要 があります。<br />

オンライン・バックアップを 実 行 する 手 順 は 以 下 のとおりです。<br />

1. 必 要 なバックアップ・タイプのメニュー 項 目 をクリックします。<br />

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

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

<strong>Caché</strong> データ 整 合 性 ガイド 25


バックアップとリストア<br />

バックアップ・オプションが 適 切 でない 場 合 は、“<strong>Caché</strong> オンライン・バックアップ 設 定 の 構 成 ” の 手 順 に 従 って 更 新<br />

してください。<br />

4. バックアップの 実 行 中 は、[ 開 始 済 みのバックアップ] の 横 のテキストをクリックすると、 実 行 中 のバックアップのステー<br />

タスを 表 示 できます。 詳 細 は、"バックアップ・ステータスの 表 示 " を 参 照 してください。<br />

^BACKUP ユーティリティから 1) Backup オプションを 選 択 するか、^DBACK ユーティリティを 実 行 することによって、 最<br />

近 実 行 された 直 前 3 回 までのバックアップ・タスクを 実 行 することもできます。 詳 細 は、“^DBACK によるデータベースの<br />

バックアップ” を 参 照 してください。<br />

マルチボリューム・バックアップ<br />

バックアップには、 複 数 のテープ・ボリュームや 複 数 のディスク・ファイルが 必 要 になる 場 合 があります。 現 時 点 では、 管<br />

理 ポータルでマルチボリューム・バックアップを 実 行 することはできません。マルチボリューム・バックアップが 必 要 な 場 合<br />

は、^BACKUP ユーティリティを 使 用 してください。ディスクがいっぱいになった 場 合 、^BACKUP によって、 別 のディスク<br />

上 の 別 のディスク・ファイル 名 を 入 力 するように 要 求 されます。<br />

バックアップ 中 にエラーが 発 生 した 場 合 は、その 後 に 続 くボリュームからバックアップを 再 開 することはできません。バッ<br />

クアップを 最 初 から 実 行 する 必 要 があります。<br />

これらのタスクを 実 行 する 前 に、バックアップのサイズを 見 積 もる 方 法 については、“^DBSIZE によるバックアップ・サイズ<br />

の 見 積 もり” を 参 照 してください。<br />

2.6.2 バックアップ・ステータスの 表 示<br />

バックアップ 処 理 の 進 行 状 況 を 監 視 するには、[システム] > [バックアップ] ページで [バックアップステータス 参 照 ] をク<br />

リックするか、 実 行 中 のバックアップ・プロセスで [ 表 示 ] をクリックします。それと 同 じ 情 報 が、バックアップ 処 理 のログ・ファ<br />

イルにも 記 録 されます。 後 で、[バックアップ 履 歴 の 表 示 ] ページでこのログ・ファイルを 表 示 できます。<br />

<strong>Caché</strong> がバックアップを 開 始 すると、リストの [ 日 時 ] 列 と [ 状 態 ] 列 が 更 新 されます。[ 日 時 ] 列 には、バックアップの 完 了<br />

時 ではなく、 開 始 日 時 が 記 録 されます。[ 状 態 ] 列 は、「 」と 表 示 されます。<br />

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

ます。<br />

• 「 」は、バックアップが 成 功 したことを 示 します。<br />

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

• 「 」は、 途 中 で 問 題 が 発 生 したが、 完 了 したことを 示 します。<br />

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

プ・ログが 表 示 されます。<br />

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

す。<br />

2.6.3 実 行 中 のバックアップの 中 止<br />

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

• [バックアップ・ステータスの 表 示 ] ページに 移 動 し、 実 行 中 のタスクの 横 の [ 中 止 ] をクリックしてから [OK] をクリック<br />

して、バックアップ 中 止 の 要 求 を 確 定 します。<br />

• Backup.General クラスのメソッドを 呼 び 出 します。 詳 細 は、"インターシステムズ・クラス・リファレンス"<br />

で、"Backup.General.GetAbortStatus()"、"Backup.General.ClearAbortStatus()"、および<br />

"Backup.General.AbortBackup()" のメソッドの 説 明 を 参 照 してください。<br />

26 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

• ^BACKUP ルーチンで 中 止 オプションを 選 択 します。 詳 細 は、“^BACKUP による 実 行 中 のバックアップの 中 止 ” を<br />

参 照 してください。<br />

2.6.4 バックアップ 履 歴 の 表 示<br />

バックアップ 処 理 ごとに、 独 立 したバックアップ・ログ・ファイルが 生 成 されます。ログは、"バックアップ・ファイル 名 " で 説<br />

明 した 名 前 付 け 規 約 に 従 います。<br />

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

1. 管 理 ポータルの [システム] > [バックアップ] ページに 移 動 します。<br />

2. 右 側 の 列 の [バックアップ 履 歴 の 表 示 ] をクリックして、[システム] > [バックアップ] > [バックアップ 履 歴 の 表 示 ] ペー<br />

ジを 表 示 します。このページには、 完 了 したバックアップに 関 する 情 報 が 一 覧 表 示 されます。<br />

3. 特 定 のバックアップの 結 果 を 表 示 するには、 該 当 する 行 の 右 側 の 列 の [ビュー] をクリックします。バックアップ・ログ・<br />

ファイルの 内 容 を 表 示 し、そのファイル 内 の 文 字 列 を 検 索 できます。<br />

バックアップ・エラー<br />

バックアップで 入 出 力 エラーが 発 生 した 場 合 、バックアップは 中 止 され、バックアップ・ログ・ファイルにシステム・エラーが<br />

記 録 されます。これらのログ・ファイルに 記 録 された 情 報 を 使 用 すると、 問 題 の 発 生 個 所 をすばやく 確 認 し、 修 正 できま<br />

す。<br />

バックアップが 失 敗 する 原 因 の 1 つは、ディスマウントされているデータベースでバックアップを 実 行 しようとしたことで<br />

す。バックアップ 中 にエラーが 発 生 すると、バックアップ・ユーティリティにより、エラーが 発 生 したデバイスでのバックアッ<br />

プを 再 試 行 できます。または、バックアップを 中 止 することもできます。<br />

2.7 <strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

<strong>Caché</strong> には、バックアップ・タスクを 実 行 するためのユーティリティが 用 意 されています。^BACKUP ルーチンには、 共 通<br />

のバックアップ 手 順 を 実 行 するためのメニュー 項 目 があります。これらのバックアップ 手 順 は、 単 独 で 実 行 することもでき、<br />

場 合 によっては、スクリプトを 使 用 して、 非 インタラクティブに 実 行 することもできます。<br />

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

す。<br />

• ^DBSIZE によるバックアップ・サイズの 見 積 もり<br />

• ^BACKUP によるバックアップおよびリストアのタスクの 実 行<br />

• ^DBACK によるデータベースのバックアップ<br />

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

• ^BACKUP による 実 行 中 のバックアップの 中 止<br />

<strong>Caché</strong> では、 最 終 バックアップ 以 降 に 変 更 されたデータベース・ブロックのビットマップ・リストが 保 管 されます。このリスト<br />

は、バックアップ・ステージにおけるデータベース 更 新 の 追 跡 に 利 用 できます。^DBSIZE ユーティリティは、これらのビッ<br />

トマップを 調 べ、バックアップのサイズの 計 算 に 利 用 できます。<strong>Caché</strong> ^BACKUP ユーティリティは、これらのリストのマル<br />

チパス・スキャンを 使 用 して 最 終 パス 以 降 に 変 更 されたブロックのみをバックアップします。<br />

2.7.1 ^DBSIZE によるバックアップ・サイズの 見 積 もり<br />

<strong>Caché</strong> バックアップの 実 行 直 前 に、^DBSIZE ユーティリティを 使 用 して、 出 力 のサイズを 見 積 もることができます。バック<br />

アップが 開 始 されると、 変 更 されるブロック 数 を 認 識 する 手 段 がないため、このサイズは 単 なる 推 定 値 です。^DBSIZE 実<br />

<strong>Caché</strong> データ 整 合 性 ガイド 27


バックアップとリストア<br />

行 中 にグローバル 更 新 が 行 われないようにして、グローバル 更 新 の 再 開 前 にバックアップを 実 行 すると、 取 得 される 見 積<br />

もりの 精 度 がさらに 向 上 します。<br />

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

• ^DBSIZE のインタラクティブな 実 行<br />

• ルーチンからの ^DBSIZE の 呼 び 出 し<br />

注 釈<br />

データベースを ^DBSIZE で 評 価 できるようにするには、データベース・バックアップ・リストに 含 まれている 必 要<br />

があります。 詳 細 は、"データベース・バックアップ・リストの 定 義 " を 参 照 してください。<br />

2.7.1.1 ^DBSIZE のインタラクティブな 実 行<br />

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

1. <strong>Caché</strong> ターミナルを 開 き、%SYS ネームスペースからユーティリティを 実 行 します。<br />

%SYS>Do ^DBSIZE<br />

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

Incremental Backup Size Estimator<br />

What kind of backup:<br />

1. Full backup of all in-use blocks<br />

2. Incremental since last backup<br />

3. Cumulative incremental since last full backup<br />

4. Exit the backup program<br />

1 =><br />

3. 適 切 なメニュー・オプションを 入 力 して、 見 積 もりが 必 要 なバックアップのタイプを full (フル)、incremental (インクリメ<br />

ンタル)、または cumulative ( 累 積 ) から 選 択 します。このプロンプトは 各 タイプで 同 じです。<br />

4. 次 のプロンプトで、 更 新 を 一 時 停 止 して 見 積 もりの 精 度 を 上 げる 場 合 は Enter キーを 押 し、 更 新 を 許 可 する 場 合 は<br />

「No」を 入 力 します。<br />

Suspend Updates Yes=><br />

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

WARNING: Switch is set and may affect production for up to 30 seconds.<br />

Waiting for disk cleanup to finish... ready.<br />

5. 出 力 の 最 初 に、 選 択 したバックアップ・タイプに 応 じて 実 行 が 必 要 な <strong>Caché</strong> ブロック 数 が 表 示 されます。バックアッ<br />

プ・リストに 記 載 されたディレクトリ 別 の 見 積 もりと 合 計 が 表 示 されます。 以 下 は、フル・バックアップの 場 合 の 表 示 例<br />

です。<br />

In-Use Block<br />

Directory Blocks Size<br />

c:\mycache\mgr\ 19,963 (8KB)<br />

c:\mycache\mgr\cacheaudit\ 189 (8KB)<br />

c:\mycache\mgr\docbook\ 16,015 (8KB)<br />

c:\mycache\mgr\user\ 61 (8KB)<br />

--------------<br />

Total number of database blocks: 36,228<br />

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

28 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

Modified Block<br />

Directory Blocks Size<br />

c:\mycache\mgr\ 5 (8KB)<br />

c:\mycache\mgr\cacheaudit\ 3 (8KB)<br />

c:\mycache\mgr\docbook\ 1 (8KB)<br />

c:\mycache\mgr\user\ 1 (8KB)<br />

--------------<br />

Total number of database blocks: 10<br />

6. Microsoft Windows プラットフォームおよび UNIX® プラットフォームでは、バックアップ・ディスクのファイル 領 域 に 関<br />

する 情 報 が 表 示 されます。<br />

Total backup size, including overhead of volume and pass labels:<br />

For a disk file:<br />

Number of 512-byte blocks: 598,092 (306,223,104 bytes)<br />

OpenVMS プラットフォームでは、バックアップ RMS ファイル 領 域 に 関 する 情 報 が 表 示 されます。<br />

For an RMS file:<br />

Total Number of 512 Blocks including overhead of backup<br />

volume and pass labels: 24064<br />

Pre Allocation quantity is: 32016<br />

7. 最 後 に、バックアップを 磁 気 テープに 送 信 した 場 合 に 使 用 される 領 域 情 報 が 提 示 されます。<br />

For magnetic media:<br />

Number of 58KB blocks: 4 (237,568 bytes)<br />

2.7.1.2 ^DBSIZE 関 数 の 使 用<br />

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

$$INT^DBSIZE(backup_type)<br />

重 要<br />

バックアップ・<br />

タイプ<br />

1<br />

2<br />

3<br />

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

ります。<br />

説 明<br />

インクリメンタル・バックアップ<br />

フル・バックアップ<br />

累 積 インクリメンタル・バックアップ<br />

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

%SYS>w $$INT^DBSIZE(2)<br />

18950^5^160952320^2710^160309248^313104^313104<br />

返 り 値 は、キャレット (^) で 区 切 られた 7 つの 数 字 です。この 例 で、 返 り 値 18950 は、ブロック 単 位 のバックアップの 合<br />

計 見 積 もりサイズで、5 はバックアップ 対 象 のデータベース・ディレクトリ 数 を 示 しています。 下 表 は、 出 力 の 各 部 の 内 容<br />

を 示 しています。<br />

出 力 位 置<br />

部 分 1<br />

部 分 2<br />

説 明<br />

バックアップ 対 象 のデータベース・ブロック 数 。<br />

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

バックアップ 対 象 のディレクトリ 数 。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 29


バックアップとリストア<br />

出 力 位 置<br />

部 分 3<br />

部 分 4<br />

部 分 5<br />

部 分 6<br />

部 分 7<br />

説 明<br />

磁 気 メディアのバイト 数 (レコード 間 ギャップは 除 外 )。<br />

磁 気 メディアのブロック 数 。<br />

ディスク・ファイルのバイト 数 。<br />

ディスク・ファイルの 512 バイト・ブロック 数 。<br />

ディスク・ファイル・ブロックの 事 前 割 り 当 ての 見 積 もり (OpenVMS で 使 用 )。<br />

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

%SYS>w $$INT^DBSIZE(1)<br />

466^5^4157440^70^4122624^8052^8052<br />

%SYS>w $$INT^DBSIZE(2)<br />

18950^5^160952320^2710^160309248^313104^313104<br />

%SYS>w $$INT^DBSIZE(3)<br />

466^5^4157440^70^4122624^8052^8052<br />

2.7.2 ^BACKUP によるバックアップおよびリストアのタスクの 実 行<br />

<strong>Caché</strong> ^BACKUP ユーティリティによって、 以 下 の 例 に 示 すように、 中 央 メニューから <strong>Caché</strong> のバックアップおよびリストア<br />

のタスクを 実 行 できます。<br />

%SYS>Do ^BACKUP<br />

1) Backup<br />

2) Restore ALL<br />

3) Restore Selected or Renamed Directories<br />

4) Edit/Display List of Directories for Backups<br />

5) Abort Backup<br />

Option<br />

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

プションの 番 号 を 入 力 せずに Enter キーを 押 します。<br />

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

説 明 します。<br />

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

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

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

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

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

2.7.3 ^DBACK によるデータベースのバックアップ<br />

<strong>Caché</strong> ^DBACK ユーティリティによって、<strong>Caché</strong> データベースをバックアップできます。^DBACK ユーティリティの 実 行<br />

は、^BACKUP ユーティリティ・メニューからオプション 1 を 選 択 した 場 合 と 同 じです。 以 下 は、<strong>Caché</strong> ターミナルからユー<br />

ティリティを 実 行 する 場 合 の 例 です。<br />

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

択 します。<br />

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

30 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

%SYS>Do ^DBACK<br />

Cache Backup Utility<br />

--------------------------<br />

What kind of backup:<br />

1. Full backup of all in-use blocks<br />

2. Incremental since last backup<br />

3. Cumulative incremental since last full backup<br />

4. Exit the backup program<br />

3. 対 応 するメニュー・オプション 番 号 を 入 力 して、 実 行 する <strong>Caché</strong> バックアップ・タイプ (フル、インクリメンタル、または<br />

累 積 ) を 選 択 します。バックアップ 実 行 手 順 は、すべてのタイプで 共 通 です。<br />

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

Specify output device (type STOP to exit)<br />

Device: c:\mycache\mgr\backup\FullDBList_20081201_003.cbk =><br />

Backing up to device: c:\mycache\mgr\backup\FullDBList_20081201_003.cbk<br />

Description: Full Backup using ^DBACK<br />

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

使 用 しています。<br />

5. 次 に、バックアップ 対 象 のデータベース・ディレクトリのリストが 表 示 されます (データベース・バックアップ・リストに 記<br />

載 されているもの)。 以 下 に 例 を 示 します。<br />

Backing up the following directories:<br />

c:\mycache\mgr\<br />

c:\mycache\mgr\cacheaudit\<br />

c:\mycache\mgr\docbook\<br />

c:\mycache\mgr\user\<br />

6. 「Y」で 応 答 するとバックアップが 開 始 されます。ジャーナル・ファイルが 切 り 替 わり、バックアップの 進 捗 状 況 が 表 示<br />

されます。<br />

Start the Backup => [answer Y or N] => y<br />

Journal file switched to:<br />

c:\mycache\mgr\journal\20081201.004<br />

.<br />

Starting backup pass 1<br />

7. 3 番 目 または 最 後 のパスの 開 始 時 に、バックアップをリストアするときのトランザクション・ロールバックに 必 要 な 最 も<br />

古 いジャーナル・ファイルに 関 する 情 報 が 表 示 されます。 次 に 例 を 示 します。<br />

Starting backup pass 3<br />

Journal file 'c:\intersystems\cache62\mgr\journal\20120919.003' and the subsequent ones<br />

are required for recovery purposes if the backup were to be restored<br />

Journal marker set at<br />

offset 197180 of c:\intersystems\cache62\mgr\journal\20120919.003<br />

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

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

***FINISHED BACKUP***<br />

Global references are enabled.<br />

Backup complete.<br />

%SYS><br />

次 の “^DBACK に 対 する 外 部 エントリ・ポイント” では、 指 定 されたエントリ・ポイントを 使 用 してこのユーティリティを 外 部<br />

のバックアップ・プロシージャから 呼 び 出 す 方 法 を 説 明 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 31


バックアップとリストア<br />

2.7.3.1 ^DBACK に 対 する 外 部 エントリ・ポイント<br />

^DBACK ユーティリティに 対 して 指 定 されたエントリ・ポイントは、 外 部 バックアップ・プロシージャで 使 用 できます。バック<br />

アップの 整 合 性 確 保 のため、このポイントは 説 明 されたとおりに 使 用 する 必 要 があります。エントリ・ポイントはすべて、 正<br />

常 完 了 の 場 合 は 1 を 返 し、 失 敗 の 場 合 は0 を 返 します。^DBACK ルーチンでは、 以 下 の 外 部 エントリ・ポイントを 使 用 で<br />

きます。<br />

• BACKUP^DBACK<br />

• LISTDIRS^DBACK<br />

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

BACKUP^DBACK<br />

このプロシージャによってバックアップが 起 動 され、^DBACK のインタラクティブな 実 行 の 際 に 示 される 質 問 に 対 しては、<br />

渡 された 引 数 を 使 用 して 応 答 します。<br />

BACKUP^DBACK(argfile,TYPE,DESC,OUTDEV,kiljrn,LOGFILE,MODE,clrjrn,swjrn,<br />

nwjrnfil,quietimeout,taskname)<br />

大 文 字 で 示 された 引 数 は、 今 回 の <strong>Caché</strong> リリースのバックアップ・プロシージャで 最 も 重 要 な 引 数 です。ジャーナリング・<br />

メカニズムが 変 更 されているため、バックアップ・ユーティリティでは、 現 在 のジャーナル・ファイルの 削 除 、 現 在 のジャー<br />

ナル・ファイルのクリア、および 新 しいジャーナル・ファイル 名 の 指 定 はできなくなりました。このため、 今 回 のバージョンの<br />

<strong>Caché</strong> では、 次 の 表 に 示 されるように 多 数 の 引 数 が 無 視 されます。<br />

引 数<br />

argfile<br />

DESC<br />

TYPE<br />

説 明<br />

使 用 できなくなりました。 必 ず NULL 値 を 使 用 します。<br />

バックアップ・ラベルおよびバックアップ 履 歴 グローバルに 保 存 されている 説 明 。 空 白 が 許 容 され<br />

る 自 由 形 式 のテキスト 文 字 列 。<br />

バックアップのタイプ ( 必 須 )<br />

値 :<br />

I — インクリメンタル<br />

C — 累 積<br />

F — フル<br />

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

ル・バックアップ。<br />

外 部 (タイプ E) のバックアップでは、 次 の 表 の 引 数 が 無 視 されます。この 表 では、 他 のタイプのバックアップで 無 視 され<br />

るか 必 須 であるかについても 記 載 されています。<br />

引 数<br />

clrjrn<br />

kiljrn<br />

説 明<br />

現 在 のジャーナル・ファイルのクリアには 使 用 されなくなりました。 現 在 、この 関 数 では 指 定 された<br />

値 が 以 下 のように 解 釈 されます。<br />

Y — ジャーナル・ファイルを 切 り 替 えます。<br />

N — ( 無 視 )。<br />

ジャーナル・ファイルの 削 除 を 示 すものではなくなりました。 現 在 、この 関 数 では 指 定 された 値 が 以<br />

下 のように 解 釈 されます。<br />

Y — ジャーナル・ファイルを 切 り 替 えます。<br />

N — ( 無 視 )。<br />

32 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

引 数<br />

LOGFILE<br />

MODE<br />

nwjrnfil<br />

OUTDEV<br />

swjrn<br />

説 明<br />

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

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

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

プロシージャの 実 行 時 にターミナルに 書 き 込 まれる 出 力 を 指 定 します。ログ・ファイルに 書 き 込 まれ<br />

る 内 容 を 制 御 するものではありません。<br />

値 :<br />

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

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

“NOINPUT” — このプロセスにアタッチされたターミナルがないため、 出 力 は 送 信 されません。 読<br />

み 取 りが 必 要 な 場 合 は、バックアップが 中 止 されます。<br />

( 無 視 )<br />

バックアップの 出 力 デバイス。ファイル 名 またはテープ・デバイスを 使 用 できます ( 必 須 )。<br />

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

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

N — ジャーナル・ファイルを 切 り 替 えません (ジャーナル・ファイルの 変 更 のため、 引 数 clrjrn また<br />

は kiljrn の 値 が Y の 場 合 は swjrn が Y に 変 換 されます)。<br />

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

引 数<br />

quietimeout<br />

taskname<br />

説 明<br />

システムが 停 止 するまで 待 機 する 秒 数 。この 秒 数 を 経 過 するとバックアップが 中 止 されます。ゼロ<br />

(0) または 負 の 値 は、 無 限 に 待 機 することを 示 します ( 既 定 = 60)。<br />

バックアップ・タイプ F、I、および C の 場 合 に <strong>Caché</strong> の 内 部 で 使 用 されるタスク 名 。<br />

これらの 外 部 エントリ・ポイントを 使 用 するには、すべてのモードで ^SYS グローバルへの 読 み 取 り/ 書 き 込 みアクセス 権<br />

が 必 要 です。 外 部 (タイプ E) バックアップでは、^SYS グローバル 内 のディレクトリの .IND ファイル、.INE ファイル、およ<br />

び .INF ファイルが 削 除 されます。また、ルーチンによって、このバックアップが LASTFULL バックアップであるという 説 明<br />

と 共 にバックアップ 履 歴 グローバルに 記 録 されます。<br />

このルーチンを 呼 び 出 す 際 に、スイッチ 10 を 設 定 している 場 合 は、バックアップ 全 体 を 通 じてこの 設 定 が 保 持 されます。<br />

スイッチ 13 を 設 定 している 場 合 、バックアップで 必 要 な Set および Kill コマンドが 実 行 される 間 はプロシージャによって<br />

スイッチ 10 に 変 換 され、 終 了 時 にスイッチ 13 に 復 元 されます。<br />

このルーチンは、このエントリ・ポイントによって 定 義 された 変 数 に 対 しては New コマンドを 実 行 しますが、^DBACK プロ<br />

シージャの 本 体 内 で 定 義 された 変 数 では 実 行 しません。このため、^DBACK の 呼 び 出 し 前 に 呼 び 出 されるすべてのルー<br />

チンで、その 他 のすべての 変 数 を 慎 重 に 保 護 する 必 要 があります。<br />

返 り 値 :<br />

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

• 1 — 成 功 しました。<br />

• 1, 警 告 メッセージ 文 字 列 — 成 功 しましたが、 警 告 があります。この 警 告 は、 文 字 列 内 でチルダ 文 字 (~) によって 区<br />

切 られています。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 33


バックアップとリストア<br />

LISTDIRS^DBACK<br />

このプロシージャは、 出 力 ファイルを 開 き、バックアップに 含 まれるデータベース・ディレクトリに 関 するリストを 書 き 込 みま<br />

す。リストが 空 白 の 場 合 は、すべてのデータベース・ディレクトリ (CACHETEMP を 除 く) がプロシージャによってバックアッ<br />

プされます。この 関 数 の 形 式 は 以 下 のとおりです。<br />

LISTDIRS^DBACK(file,mode)<br />

引 数<br />

file<br />

mode<br />

説 明<br />

関 数 がバックアップ・リスト 内 のデータベース・ディレクトリのリストを 書 き 込 む 出 力 ファイルの 名 前 。<br />

このプロシージャの 実 行 時 にターミナルに 書 き 込 まれる 出 力 内 容 を 指 定 します。<br />

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

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

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

%SYS>w $$LISTDIRS^DBACK("c:\temp\listdirs.txt","NOISY")<br />

List of directories to be backed up<br />

c:\mycache\mgr\cacheaudit\<br />

c:\mycache\mgr\cachelib\<br />

c:\mycache\mgr\<br />

c:\mycache\mgr\docbook\<br />

c:\mycache\mgr\samples\<br />

c:\mycache\mgr\user\<br />

1<br />

%SYS><br />

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

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

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

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

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

このプロシージャを 呼 び 出 すと、バックアップ・リスト 内 のデータベースで 変 更 されているブロックを 示 すインクリメンタル・<br />

バックアップ・ビットマップがクリアされます。 同 時 に、 先 にフル・バックアップを 実 行 しなければあらゆる 種 類 のバックアッ<br />

プが 実 行 できなくなるため、バックアップ 履 歴 も 削 除 されます。このプロシージャは、<strong>Caché</strong> 実 行 状 態 での 外 部 フル・バッ<br />

クアップの 実 行 前 に 使 用 することを 目 的 としています。<strong>Caché</strong> がダウンした 状 態 で 外 部 バックアップを 実 行 する 場 合 は、<br />

システムのシャットダウン 前 にこのエントリ・ポイントを 呼 び 出 します。この 関 数 の 形 式 は 以 下 のとおりです。<br />

CLRINC^DBACK(mode)<br />

引 数<br />

mode<br />

説 明<br />

このプロシージャの 実 行 時 にターミナルに 書 き 込 まれる 出 力 内 容 を 指 定 します。<br />

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

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

例 :<br />

%SYS>w $$CLRINC^DBACK("QUIET")<br />

1<br />

%SYS><br />

34 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・ユーティリティ<br />

%SYS>Do CLRINC^DBACK("NOISY")<br />

Cleared incremental backup bitmap in c:\mycache\mgr\<br />

Cleared incremental backup bitmap in c:\mycache\mgr\cacheaudit\<br />

Cleared incremental backup bitmap in c:\mycache\mgr\docbook\<br />

Cleared incremental backup bitmap in c:\mycache\mgr\samples\<br />

Cleared incremental backup bitmap in c:\mycache\mgr\user\<br />

%SYS><br />

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

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

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

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

ます。<br />

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

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

重 要<br />

データベースのリストを 編 集 する 場 合 は、ディレクトリ 名 ではなくデータベース 名 を 使 用 します。これは 管<br />

理 ポータルでバックアップを 構 成 する 場 合 と 同 様 です。<br />

<strong>Caché</strong> の ^BACKUP ユーティリティのオプションを 使 用 すると、<strong>Caché</strong> データベースのバックアップや、 既 に 作 成 された<br />

バックアップのリストアができます。データベースのリストが 作 成 されていない 場 合 は、すべてのデータベースがバックアッ<br />

プ 対 象 となります。リストを 作 成 すると、スクリプト 化 されたバックアップの ^DBACK ユーティリティのエントリ・ポイントの 呼<br />

び 出 しも 含 めて、<strong>Caché</strong> バックアップのすべてに 適 用 されます。<br />

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

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

%SYS>Do ^BACKUP<br />

1) Backup<br />

2) Restore ALL<br />

3) Restore Selected or Renamed Directories<br />

4) Edit/Display List of Directories for Backups<br />

5) Abort Backup<br />

6) Display Backup volume information<br />

7) Monitor progress of backup or restore<br />

Option 4<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

2. リストにデータベースを 追 加 するには、オプション1 を 選 択 します。この 例 では、データベースが 現 在 のリストに 追 加<br />

されたことを 示 すため、オプション 3 も 使 用 しています。<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

Option 1<br />

Enter database to add SAMPLES<br />

Enter database to add<br />

You've selected SAMPLES to be added to the backups<br />

Are you sure you want to do this (yes/no) y<br />

Completed.<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

<strong>Caché</strong> データ 整 合 性 ガイド 35


バックアップとリストア<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

Option 3<br />

The following 5 databases are included in backups<br />

CACHEAUDIT<br />

C:\MyCache\Mgr\cacheaudit\<br />

CACHESYS<br />

C:\MyCache\Mgr\<br />

DOCBOOK<br />

C:\MyCache\Mgr\Docbook\<br />

SAMPLES<br />

C:\MyCache\Mgr\Samples\<br />

USER<br />

C:\MyCache\Mgr\User\<br />

3. リストのデータベースを 削 除 するには、オプション 2 を 選 択 します。この 例 では、データベースが 現 在 のリストから 削<br />

除 されたことを 示 すため、オプション 3 も 使 用 しています。<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

Option 2<br />

Enter database to remove (^ when done) SAMPLES<br />

Enter database to remove (^ when done)<br />

You've removed SAMPLES from the backups<br />

Are you sure you want to do this y<br />

Completed.<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

Option 3<br />

The following 4 databases are included in backups<br />

CACHEAUDIT<br />

C:\MyCache\Mgr\cacheaudit\<br />

CACHESYS<br />

C:\MyCache\Mgr\<br />

DOCBOOK<br />

C:\MyCache\Mgr\Docbook\<br />

USER<br />

C:\MyCache\Mgr\User\<br />

4. このインスタンスのすべてのデータベースのリストを 表 示 するには、オプション 4 を 選 択 します。<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

Option 4<br />

The following is a list of all databases in the configuration.<br />

Databases which are part of the backup are marked with (*)<br />

(*) CACHEAUDIT c:\MyCache\mgr\cacheaudit\<br />

CACHELIB (Read Only) c:\MyCache\mgr\cachelib\<br />

CACHE<br />

c:\MyCache\mgr\cache\<br />

(*) CACHESYS c:\MyCache\mgr\<br />

DOCBOOK<br />

c:\MyCache\mgr\docbook\<br />

SAMPLES<br />

c:\MyCache\mgr\samples\<br />

(*) USER c:\MyCache\mgr\user\<br />

5. 最 新 のフル・バックアップに 関 する 情 報 を 表 示 するには、オプション 5 を 選 択 します。<br />

1) Add a database to the backup<br />

2) Remove a database from the backup<br />

3) Show current list of databases included in backups<br />

4) Show list of available databases<br />

5) Display last full backup information<br />

Option 5<br />

=====Last Full Backup Information=====<br />

Date: 19 Jan 2011<br />

Description: Full backup of all databases that are in the backup database list.<br />

Device: c:\MyCache\mgr\backup\FullDBList_20110119_001.cbk<br />

36 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

2.7.5 ^BACKUP による 実 行 中 のバックアップの 中 止<br />

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

%SYS>Do ^BACKUP<br />

1) Backup<br />

2) Restore ALL<br />

3) Restore Selected or Renamed Directories<br />

4) Edit/Display List of Directories for Backups<br />

5) Abort Backup<br />

6) Display Backup volume information<br />

7) Monitor progress of backup or restore<br />

Option 5<br />

Are you sure you want to abort the backup operation Yes<br />

Backup abortion succeed.<br />

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

No Backup operation is currently running.<br />

2.8 <strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

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

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

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

選 択 します。<br />

• リストアするバックアップを 保 持 しているファイル 名 を 確 認 します。バックアップが 複 数 のボリュームに 存 在 する 場 合 、<br />

バックアップ 情 報 はボリューム・ヘッダに 書 き 込 まれます。 最 初 のボリュームのリストア 後 、 次 にリストアするボリューム<br />

がユーティリティから 指 示 されます。<br />

• ボリューム・ヘッダを 表 示 します。このヘッダには、バックアップ 中 に 確 定 した 情 報 が 記 述 されています。この 情 報 に<br />

は、このボリュームのバックアップ 日 付 、 前 回 のバックアップ 日 付 、および 最 後 のフル・バックアップ 日 付 があります。<br />

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

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

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

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

^DBREST メニューのオプション 1、2、および 3 は、^BACKUP メニューのオプション 2、3、および 6 と 同 じです。<br />

これらのリストア・オプションのいずれかを 選 択 すると、リストアする 最 初 のバックアップが 保 存 されたデバイス 名 を 入 力 す<br />

るよう 求 められます。リストア・オプションの 初 回 入 力 時 の 既 定 値 は、 最 新 のフル・バックアップが 送 信 されたデバイスです<br />

( 存 在 する 場 合 )。<br />

注 意<br />

インクリメンタル・バックアップ、または 累 積 バックアップをリストアする 場 合 、 対 象 となるデータベースの 状<br />

態 が、 最 新 のフル・バックアップでリストアした 時 点 と 完 全 に 同 じ 状 態 である 必 要 があります。<br />

後 続 のすべてのインクリメンタル・バックアップのリストアが 完 了 するまで、リストアしたデータベースは 絶<br />

対 に 更 新 しないでください。この 警 告 を 守 らないと、インクリメンタル・バックアップや 累 積 バックアップか<br />

らのリストアで、データベースが 破 損 することがあります。<br />

以 下 は、<strong>Caché</strong> ターミナルからユーティリティを 実 行 する 場 合 の 例 です。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 37


バックアップとリストア<br />

%SYS>Do ^DBREST<br />

Cache DBREST Utility<br />

Restore database directories from a backup archive<br />

Restore: 1. All directories<br />

2. Selected and/or renamed directories<br />

3. Display backup volume information<br />

4. Exit the restore program<br />

1 =><br />

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

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

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

3. バックアップ 履 歴 によるデータベースのリストア<br />

4. ミラーリングされたデータベースの 考 慮 事 項<br />

また、スクリプトで 非 インタラクティブにこれらの 関 数 を 実 行 できます。 詳 細 は、"^DBREST の 外 部 エントリ・ポイント" を 参<br />

照 してください。<br />

2.8.1 ^DBREST によるすべてのデータベースのリストア<br />

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

注 釈<br />

ミラーリングされたデータベース (ミラーリング・データベース) をリストアする 場 合 は、 手 順 の 実 行 の 前 にこのセ<br />

クションの "ミラーリングされたデータベースの 考 慮 事 項 " を 確 認 してください。<br />

以 下 の 手 順 は、すべてのディレクトリをリストアする 場 合 の 概 要 を 示 す 例 です。リストア 処 理 の 開 始 プロンプトが 示 されま<br />

す。 処 理 を 進 めるにつれ、リストア・プロセスのステッピングの 際 に 非 常 に 個 別 的 な 質 問 が 行 われます。<br />

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

にあるすべてのディレクトリがリストアされます。<br />

%SYS>Do ^DBREST<br />

Cache DBREST Utility<br />

Restore database directories from a backup archive<br />

Restore: 1. All directories<br />

2. Selected and/or renamed directories<br />

3. Display backup volume information<br />

4. Exit the restore program<br />

1 => 1<br />

2. すべてのディレクトリをリストアすることを 確 認 します。<br />

Proceed with restoring ALL directories Yes=><br />

3. 次 に、すべてのデータベースのリストア 先 にする 最 上 位 パスを 入 力 するよう 求 められます。これは、リストア 対 象 の<br />

データベースの 元 のパスに 接 頭 語 として 自 動 的 に 追 加 されます。これによって、 元 のディレクトリをこのディレクトリの<br />

サブディレクトリとして、すべてのデータベースがこのディレクトリの 下 位 でリストアされます。これを 無 視 して、データ<br />

ベースを 元 のパスでリストアするには、Enter を 押 します。<br />

Top directory for all Databases to be restored to ( for Help)<br />

4. リストア 実 行 中 、<strong>Caché</strong> 処 理 を 一 時 停 止 するかどうかを 示 します。これらの 処 理 は 一 時 停 止 することをお 勧 めします。<br />

Do you want to set switch 10 so that other processes will be<br />

prevented from running during the restore Yes =><br />

5. リストア 場 所 から 最 初 のファイルを 指 定 します。Enter キーを 押 すと 既 定 のファイルを 指 定 できます。 既 定 のファイル<br />

は、 最 後 のフル・バックアップです。<br />

38 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

Specify input file for volume 1 of backup 1<br />

(Type STOP to exit)<br />

Device: c:\mycache\mgr\backup\FullAllDatabases_20110323_001.cbk =><br />

6. バックアップの 詳 細 が 正 確 かどうかをチェックし、このファイルが、リストアするファイルであることを 確 認 します。<br />

This backup volume was created by:<br />

Cache for Windows (Intel) 5.1<br />

The volume label contains:<br />

Volume number 1<br />

Volume backup MAR 23 2011 09:52AM Full<br />

Previous backup MAR 22 2011 11:00AM Incremental<br />

Last FULL backup MAR 16 2011 11:00AM<br />

Description<br />

Full backup of ALL databases, whether or not they are in<br />

the backup database list.<br />

Buffer Count 0<br />

Is this the backup you want to start restoring Yes =><br />

7. リストアするディレクトリがユーティリティから 示 され、リストア 処 理 が 進 められます。<br />

The following directories will be restored:<br />

c:\mycache\mgr\<br />

c:\mycache\mgr\cacheaudit\<br />

c:\mycache\mgr\samples\<br />

c:\mycache\mgr\test\<br />

c:\mycache\mgr\user\<br />

***Restoring c:\mycache\mgr\ at 10:46:01<br />

146045 blocks restored in 241.3 seconds for this pass, 146045 total restored.<br />

8. リストアを 要 する 次 のインクリメンタル・バックアップの 入 力 ファイルを 指 定 します。これ 以 上 リストアする 入 力 ファイル<br />

がない 場 合 は「stop」と 入 力 します。<br />

Specify input file for volume 1 of backup following MAR 23 2011 09:52AM<br />

(Type STOP to exit)<br />

Device: stop<br />

9. 他 のバックアップをリストアするかどうかを 示 します。「Yes」で 応 答 すると、このプロシージャが 再 び 実 行 されます。<br />

「No」で 応 答 すると、リストアされたデータベースが <strong>Caché</strong> によってマウントされます。<br />

Do you have any more backups to restore Yes => No<br />

Mounting c:\mycache\mgr\<br />

c:\mycache\mgr\ ... (Mounted)<br />

Mounting c:\mycache\mgr\cacheaudit\<br />

c:\mycache\mgr\cacheaudit\ ... (Mounted)<br />

Mounting c:\mycache\mgr\samples\<br />

c:\mycache\mgr\samples\ ... (Mounted)<br />

Mounting c:\mycache\mgr\test\<br />

c:\mycache\mgr\test\ ... (Mounted)<br />

Mounting c:\mycache\mgr\user\<br />

c:\mycache\mgr\user\ ... (Mounted)<br />

10. リストアしたデータベースに 割 り 当 てるジャーナル・エントリと、リストアするジャーナル・ファイル 名 を 指 定 します。 通<br />

常 は、オプション 1 を 選 択 して、リストアしたディレクトリに 影 響 する 変 更 のみを 適 用 します。<br />

Restoring a directory restores the globals in it only up to the<br />

date of the backup. If you have been journaling, you can apply<br />

journal entries to restore any changes that have been made in the<br />

globals since the backup was made.<br />

What journal entries do you wish to apply<br />

1. All entries for the directories that you restored<br />

2. All entries for all directories<br />

3. Selected directories and globals<br />

4. No entries<br />

Apply: 1 =><br />

<strong>Caché</strong> データ 整 合 性 ガイド 39


バックアップとリストア<br />

11. いくつかの 情 報 の 確 認 後 に、ジャーナル・ファイルからのリストアが 開 始 されます。<br />

We know something about where journaling was at the time of the backup:<br />

0: offset 172940 in c:\mycache\mgr\journal\20110323.002<br />

Use current journal filter (ZJRNFILT) No<br />

Use journal marker filter (MARKER^ZJRNFILT) No<br />

Updates will not be replicated<br />

The earliest journal entry since the backup was made is at<br />

offset 172940 in c:\mycache\mgr\journal\20110323.002<br />

Do you want to start from that location Yes => Yes<br />

Final file to process (name in YYYYMMDD.NNN format): []<br />

=><br />

Prompt for name of the next file to process No => No<br />

Provide or confirm the following configuration settings:<br />

Journal File Prefix: =><br />

Files to dejournal will be looked for in:<br />

c:\mycache\mgr\journal\<br />

c:\journal\altdir\<br />

in addition to any directories you are going to specify below, UNLESS<br />

you enter a minus sign ('-' without quotes) at the prompt below,<br />

in which case ONLY directories given subsequently will be searched<br />

Directory to search: <br />

Here is a list of directories in the order they will be searched for files:<br />

c:\mycache\mgr\journal\<br />

c:\journal\altdir\<br />

The journal restore includes the current journal file.<br />

You cannot do that unless you stop journaling or switch<br />

journaling to another file.<br />

Do you want to switch journaling Yes => Yes<br />

Journaling switched to c:\mycache\mgr\journal\20110323.004<br />

You may disable journaling the updates for faster restore; on the other hand,<br />

you may not want to do so if a database to restore is being shadowed.<br />

Do you want to disable journaling the updates Yes => yes<br />

Updates will NOT be journaled<br />

12. ユーティリティによって 進 捗 状 況 が 表 示 され、 完 了 時 点 が 示 されます。<br />

c:\mycache\mgr\journal\20110323.002<br />

61.32% 65.03% 68.44% 72.21% 75.86% 79.26% 82.73% 86.08% 89.56%<br />

92.99% 96.07% 98.87%100.00%<br />

***Journal file finished at 11:03:31<br />

c:\mycache\mgr\journal\20110323.003<br />

16.17% 17.10% 17.90% 18.90% 20.05% 21.33% 22.58% 23.81% 25.15%<br />

26.32% 27.65% 28.85% 30.08% 31.37% 32.59% 33.98% 35.16% 36.25%<br />

37.32% 38.41% 39.55% 40.72% 41.81% 42.83% 43.85% 44.89% 46.00%<br />

47.15% 48.24% 49.28% 50.32% 51.41% 52.54% 53.71% 54.76% 55.80%<br />

56.85% 57.97% 59.10% 60.16% 61.17% 62.19% 63.24% 64.32% 65.18%<br />

66.02% 66.87% 67.71% 68.52% 69.34% 70.14% 70.96% 71.76% 72.60%<br />

73.58% 74.51% 75.43% 76.35% 77.26% 78.17% 79.07% 79.69% 80.31%<br />

80.93% 81.56% 82.20% 82.83% 83.47% 84.27% 87.00% 88.57% 91.65%<br />

93.03% 96.09% 97.44% 99.04%100.00%<br />

***Journal file finished at 11:03:32<br />

Journal reads completed. Applying changes to databases...<br />

14.29% 28.57% 42.86% 57.14% 71.43% 85.71% 100.00%<br />

[journal operation completed]<br />

40 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

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

ア<br />

^DBREST メニューから 2 を 選 択 すると、^BACKUP メニューから 3 を 選 択 した 場 合 と 同 じになります。このオプションで<br />

は、バックアップ・メディアからリストアするディレクトリを 選 択 できます。また、 別 のディレクトリ 名 や 別 のデバイスでデータ<br />

ベースをリストアすることもできます。<br />

注 釈<br />

ミラーリングされたデータベース (ミラーリング・データベース) をリストアする 場 合 は、 手 順 の 実 行 の 前 にこのセ<br />

クションの "ミラーリングされたデータベースの 考 慮 事 項 " を 確 認 してください。<br />

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

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

%SYS>Do ^DBREST<br />

Cache DBREST Utility<br />

Restore database directories from a backup archive<br />

Restore: 1. All directories<br />

2. Selected and/or renamed directories<br />

3. Display backup volume information<br />

4. Exit the restore program<br />

1 => 2<br />

2. リストア 実 行 中 、<strong>Caché</strong> 処 理 を 一 時 停 止 するかどうかを 示 します。これらの 処 理 は 一 時 停 止 することをお 勧 めします。<br />

Do you want to set switch 10 so that other Cache processes<br />

will be prevented from running during the restore Yes =><br />

3. リストア 場 所 から 最 初 のファイルを 指 定 します。Enter キーを 押 すと、 既 定 のファイルが 選 択 されます。 既 定 のファイ<br />

ルは、 最 新 のフル・バックアップです。<br />

Specify input file for volume 1 of backup 1<br />

(Type STOP to exit)<br />

Device: c:\mycache\mgr\backup\IncrementalDBList_20110323_001.cbk =><br />

4. バックアップの 詳 細 が 正 確 かどうかをチェックし、このファイルが、リストアするファイルであることを 確 認 します。<br />

This backup volume was created by:<br />

Cache for Windows (Intel) 5.1<br />

The volume label contains:<br />

Volume number 1<br />

Volume backup MAR 23 2011 11:03AM Full<br />

Previous backup MAR 23 2011 09:52AM Full<br />

Last FULL backup MAR 23 2011 09:52AM<br />

Description<br />

Incremental backup of all databases that are in the backup<br />

database list.<br />

Buffer Count 0<br />

Is this the backup you want to start restoring Yes =><br />

5. ユーティリティからディレクトリ 名 を 要 求 されるので、リストアするデータベースとリストア 先 のディレクトリを 指 定 します。<br />

For each database included in the backup file, you can:<br />

-- press RETURN to restore it to its original directory;<br />

-- type X, then press RETURN to skip it and not restore it at all.<br />

-- type a different directory name. It will be restored to the directory<br />

you specify. (If you specify a directory that already contains a<br />

database, the data it contains will be lost).<br />

c:\mycache\mgr\ =><br />

c:\mycache\mgr\cacheaudit\ =><br />

c:\mycache\mgr\test\ =><br />

c:\mycache\mgr\user\ =><br />

6. ディレクトリに 関 するプロンプトのそれぞれに 応 答 すると、 次 のプロンプトが 表 示 されます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 41


バックアップとリストア<br />

Do you want to change this list of directories No =><br />

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

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

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

2.8.3 バックアップ 履 歴 によるデータベースのリストア<br />

<strong>Caché</strong> のバックアップ・ユーティリティでは、バックアップ 履 歴 が 管 理 されるため、バックアップを 論 理 的 な 順 序 でリストア<br />

できます。リストア・ユーティリティにより、タイプとバックアップ 履 歴 の 順 序 に 従 ってバックアップがリストアされるように 要 求<br />

されます。<br />

最 新 のフル・バックアップをリストアした 後 、バックアップ 履 歴 の 情 報 を 使 用 して、リストアする 次 の 論 理 バックアップが 示 さ<br />

れ、 履 歴 の 最 後 までこれが 続 きます。 後 続 のバックアップは 以 下 の 順 序 でリストアするように 要 求 されます。<br />

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

2. 最 新 の 累 積 バックアップ 以 降 の ( 累 積 バックアップが 存 在 しない 場 合 は、 最 新 のフル・バックアップ 以 降 の) すべて<br />

のインクリメンタル・バックアップが 要 求 されます。 一 番 古 いものから 最 新 までの 順 番 で、リストアを 実 行 します。<br />

リストア 処 理 で、 指 示 されたバックアップを 変 更 できます。しかし、インクリメンタル・バックアップや 累 積 バックアップは、<br />

データベースの 完 全 なコピーではありません。インクリメンタル・バックアップをリストアするには、 事 前 にフル・バックアッ<br />

プをリストアしておく 必 要 があります。<br />

重 要<br />

クラスタ (OpenVMS など) の 各 ノードから 同 一 データベースへのアクセスがサポートされる <strong>Caché</strong> プラッ<br />

トフォームでは、 指 定 されたデータベース・ディレクトリを 常 に 同 じノードからバックアップする 必 要 があり<br />

ます。これにより、ディレクトリのリストアが 必 要 な 場 合 に、 完 全 なバックアップ 履 歴 の 使 用 が 可 能 になりま<br />

す。<br />

2.8.4 ^DBREST の 外 部 エントリ・ポイント<br />

<strong>Caché</strong> リストア・ユーティリティ ^DBREST には、 外 部 エントリ・ポイントによる 非 インタラクティブな 実 行 オプションが 用 意 さ<br />

れています。<br />

注 釈<br />

ミラーリングされたデータベース (ミラーリング・データベース) をリストアする 場 合 は、 自 動 リストアを 実 行 する 前<br />

にこのセクションの "ミラーリングされたデータベースの 考 慮 事 項 " を 確 認 してください。<br />

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

成 できます。<br />

• EXTALL^DBREST — バックアップ・デバイスに 配 置 するすべてのディレクトリをリストアします。^DBREST ユーティリ<br />

ティの EXTALL エントリ・ポイントを 使 用 する 構 文 は、 以 下 のようになります。<br />

EXTALL^DBREST(quietmode,allowupd,inpdev,dirlist,jrnopt,jrnfile,jdirglo)<br />

• EXTSELCT^DBREST — バックアップ・デバイスから 選 択 したファイルをリストアするか、またはソース・ディレクトリとは<br />

異 なるターゲット・ディレクトリにリストアします。^DBREST ユーティリティの EXTSELCT エントリ・ポイントを 使 用 する 構<br />

文 は、 以 下 のようになります。<br />

EXTSELCT^DBREST(quietmode,allowupd,inpdev,dirlist,jrnopt,jrnfile,jdirglo)<br />

両 方 のエントリ・ポイントは、 呼 び 出 しの 状 態 を 返 す 関 数 です。 引 数 はすべて 入 力 のみです。 特 に 指 定 がない 限 り、 下 表<br />

に 記 載 された 入 力 引 数 は 両 方 の 関 数 で 使 用 されます。<br />

42 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

引 数<br />

allowupd<br />

dirlist<br />

inpdev<br />

jdirglo<br />

jrnfile<br />

jrnopt<br />

quietmode<br />

説 明<br />

リストア 処 理 中 に 更 新 を 許 可 するか 否 かのインジケータ<br />

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

0 — 更 新 を 許 可 しません。<br />

リストアするディレクトリのリストを 含 むファイルの 名 前 。リストアする 各 ディレクトリに 1 つのレコー<br />

ドが 存 在 する 必 要 があります。EXTALL エントリ・ポイントでは 無 視 されます。“ディレクトリ・リスト・<br />

ファイルの 要 件 ” を 参 照 してください。<br />

バックアップを 含 む 入 力 デバイス。このデバイスがテープ・デバイスの 場 合 、ユーティリティでは、<br />

次 のボリュームのデバイスを 指 定 するよう 求 められます。<br />

jrnopt が 3 の 場 合 のみ 使 用 します。これは、ジャーナルのリストアのためのディレクトリおよびグ<br />

ローバルの 選 択 条 件 を 含 むファイルの 名 前 です。“ディレクトリとグローバルの 選 択 条 件 ” を 参 照<br />

してください。<br />

ジャーナル・ファイル。NULL の 場 合 、ユーティリティは、^%SYS("JOURNAL“,”CURRENT") グロー<br />

バルに 保 存 されている 現 在 のファイルを 使 用 します。<br />

ジャーナルをリストアするためのオプション<br />

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

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

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

4 — ディレクトリなし<br />

値 は、 処 理 が quiet ( 非 インタラクティブ) モードであることを 示 し、この 外 部 呼 出 しに 対 しては、NULL<br />

以 外 の 値 ( 通 常 1) とする 必 要 があります。<br />

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

リター<br />

ン・コー<br />

ド<br />

3<br />

-1<br />

-2<br />

-3<br />

-4<br />

-5<br />

-6<br />

説 明<br />

エラーは 発 生 していません。 正 常 に 完 了 しました。<br />

入 力 デバイス (リストア 元 のデバイス) を 開 くことができません。<br />

ボリュームのラベルが、バックアップ 履 歴 のラベルと 一 致 しません。<br />

バックアップおよびリストアは、 既 に 進 行 中 です。<br />

読 み 取 り 選 択 条 件 に 対 して (ディレクトリの 選 択 的 リストアに 対 して) 無 効 なデバイスです。<br />

無 効 なジャーナル・リストア・オプションです。<br />

無 効 なジャーナル・ファイルであるか、ジャーナル・リストアの 選 択 条 件 のファイルを 開 けません。<br />

2.8.4.1 ディレクトリ・リスト・ファイルの 要 件<br />

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

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

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

• 各 レコードの 形 式 は、SourceDir、TargetDir、CreateDir で、これらの 意 味 は 以 下 のとおりです。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 43


バックアップとリストア<br />

引 数<br />

SourceDir<br />

TargetDir<br />

CreateDir<br />

説 明<br />

リストアするディレクトリの 名 前 。<br />

リストア 先 のディレクトリの 名 前 。ソース・ディレクトリと 同 じ 名 前 のディレクトリにリストアする 場<br />

合 は 省 略 します。<br />

ターゲット・ディレクトリが 存 在 しない 場 合 、ターゲット・ディレクトリを 作 成 するか 否 か。<br />

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

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

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

C:\intersystems\cache\mgr\user\,C:\intersystems\cache\mgr\,Y<br />

以 下 のルーチンを %SYS ネームスペースで 実 行 すると、C:\intersystems\cache\mgr\user\ から<br />

C:\intersystems\cache\mgr\ にデータベースをリストアできます。<br />

set SourceDir = "C:\intersystems\cache\mgr\user\"<br />

set BackupDir = "C:\Backup\"<br />

set BackupListFile="C:\Backup\RestoreList.txt"<br />

do EXTSELCT^DBREST(1,0,BackupDir_"back1.cbk",BackupListFile,4,"","")<br />

2.8.4.2 ディレクトリとグローバルの 選 択 条 件<br />

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

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

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

• 各 レコードの 形 式 は、DirName、RestAll、Globals で、これらの 意 味 は 以 下 のとおりです。<br />

引 数<br />

DirName<br />

グローバル<br />

RestAll<br />

説 明<br />

ジャーナルをリストアするディレクトリの 名 前 。<br />

ジャーナル・リストアのためにコンマで 区 切 られたグローバルのリスト。RestAll が N の 場 合 のみ<br />

使 用 します。グローバルのリストが 大 きい 場 合 、 次 の 行 に 残 りのグローバル 名 を 記 述 できますが、<br />

再 び、ディレクトリ 名 に 続 いて、N およびグローバルのリストを 指 定 する 必 要 があります。<br />

ディレクトリ 内 のすべてのグローバルについてジャーナル・エントリをリストアするか 否 か。 大 文 字<br />

小 文 字 を 区 別 しない、 必 須 の 引 数 です。<br />

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

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

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

DUA0:[TEST1],Y<br />

DUA1:[TEST2],N,GLO1,GLO2,GLO3<br />

DUA1:[TEST2],N,GLO4,GLO5,GLO6<br />

DUA1:[TEST3],n<br />

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

44 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

2.8.5 ミラーリングされたデータベースの 考 慮 事 項<br />

ミラーリングされたデータベース (ミラーリング・データベース) が <strong>Caché</strong> バックアップ・リストアのターゲット ( 対 象 ) である<br />

場 合 、ソース・データベースはターゲット・データベースと 一 致 する 必 要 があります (つまり、 同 じミラーリング・データベー<br />

スであることが 必 要 です)。<br />

注 釈<br />

フェイルオーバー・ミラー・メンバで 作 成 されたミラーリング・データベースのバックアップは、そのミラーの 任 意<br />

のメンバ (つまり、 他 のフェイルオーバー・メンバもしくは 非 同 期 メンバ) にリストアできます。 非 同 期 メンバで 作 成<br />

されたバックアップからリストアする 場 合 、このセクションの " 非 同 期 ミラー・メンバからのリストア" を 参 照 してくだ<br />

さい。<br />

ミラーでの <strong>Caché</strong> バックアップ・リストアの 動 作 は、バックアップを 作 成 したミラー・メンバでリストアしているのか、あるいは<br />

別 のシステムであるかにより、 以 下 のように 異 なります。<br />

• プライマリ・フェイルオーバー・メンバ — ^DBREST ではプライマリ・フェイルオーバー・メンバのアクティブなミラーリン<br />

グ・データベースをリストアできません。ただし、データベースにリストアの 必 要 がある 場 合 は、ミラーからそれを 削 除<br />

できます。 詳 細 は、" 高 可 用 性 ガイド" の “ミラーリング” の 章 の "ミラーリングされたデータベースをミラーから 削 除<br />

する" を 参 照 してください。<br />

• バックアップ・フェイルオーバー・メンバ — バックアップ・フェイルオーバー・メンバで、アクティブ 状 態 にある、もしくは<br />

バックアップのコピーよりも 新 しいミラーリング・データベースのリストアを 行 うと、 以 下 のように 警 告 メッセージが 表 示<br />

されます。<br />

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

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

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

^DBREST ユーティリティによる 対 話 形 式 (この 章 の "<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ" を 参 照 ) と<br />

EXTALL エントリ・ポイントによる 非 対 話 形 式 (この 章 の "^DBREST の 外 部 エントリ・ポイント" を 参 照 ) のどちらで 実 行 し<br />

たかによって、ミラーリングされたデータベース (ミラーリング・データベース) のフルバックアップ・リストアは 以 下 のように<br />

異 なります。<br />

• バックアップを 作 成 したシステムでのフルバックアップ・リストアは、ミラーリングされていないシステムに 対 する 場 合 と<br />

同 様 に 行 われます。ただし、バックアップのコピーよりも 新 しい、ローカルのミラーリング・データベース ( 定 義 では、<br />

現 在 アクティブなデータベースも 含 む) はスキップされる 点 が 異 なります。すべてのデータベースは 元 の 場 所 へリス<br />

トアされます。<br />

• バックアップを 作 成 したシステム 以 外 のミラー・メンバでのフルバックアップ・リストアは、 既 にシステムに 存 在 するミ<br />

ラーリング・データベースのみをリストアします。ただし、バックアップ 内 のミラーリング・データベースよりも 新 しい、ター<br />

ゲット・システムのミラーリング・データベースはスキップされます。<br />

• 新 規 の 最 上 位 のディレクトリを 指 定 するフルバックアップ・リストアでは、データベースの 新 規 パスを 生 成 した 後 にバッ<br />

クアップ 内 のデータベースすべてをリストアします。リストアの 後 、ミラーリング・データベースのコピーが 最 終 的 に 2<br />

つになった 場 合 、リストアされたコピーは 既 にシステム 上 でアクティブであるためにアクティブ 化 できないと 警 告 され<br />

ます。<br />

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

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

2. ミラーリング・データベースをアクティブなミラーへリンクする (ミラーが 存 在 し、かつデータベースのコピーは 存 在 し<br />

ない 場 合 )。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 45


バックアップとリストア<br />

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

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

• バックアップをリストアする 際 、リストアをミラーリング・データベースのみに 制 限 するかどうかを 尋 ねられます。ユーザ<br />

の 応 答 によって 以 下 のようになります。<br />

– [ ] — ミラーリングされたデータベースのみが 表 示 されます。<br />

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

• 選 択 的 リストアのデータベース 選 択 フェーズの 間 、バックアップのデータベースのリストが 表 示 され、それらをリストア<br />

する 場 所 のパスを 指 定 するよう 求 められます。リストア 先 のパスを 入 力 するか、“X” もしくは “x” (ディレクトリをス<br />

キップ) を 入 力 するか、そのまま Enter キー (バックアップファイル 内 に 保 存 されたパスにリストアする 場 合 ) を 押 して<br />

ください。<br />

バックアップを 作 成 したシステム 以 外 のミラー・メンバでのバックアップをリストアする 際 は、ミラーリングされたディレク<br />

トリの 指 定 で Enter キーを 押 すことにより、ローカル・システム 上 のデータベースの 該 当 コピーにリストアされます。 該<br />

当 のローカル・コピーがない 場 合 はメッセージが 表 示 され、 明 示 的 なパスの 入 力 もしくはスキップが 求 められます。<br />

• 選 択 的 バックアップ・リストアにおいて、 以 下 の 状 況 でミラーリング・データベースがリストアによって 上 書 きされること<br />

が 検 出 されると、その 続 行 によってターゲット・データベースが 破 壊 される 旨 の 警 告 が 表 示 され、 続 行 するかどうかを<br />

尋 ねられます。<br />

– バックアップのデータベースが 現 在 のデータベースより 古 い。<br />

– バックアップのデータベースが 現 在 のデータベースのコピーではない ( 例 えば、ミラーリングされていないデー<br />

タベースや 別 のミラー・データベースである 場 合 )。<br />

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

• 選 択 的 バックアップ・リストアが EXTSELECT エントリ・ポイント (この 章 の "^DBREST の 外 部 エントリ・ポイント" を 参<br />

照 ) を 介 して 非 対 話 形 式 で 行 われている 場 合 は、ソース・パスおよびターゲット・パスのデータベース 選 択 ファイル<br />

は、パス 名 またはミラー・データベース 名 のいずれかで 指 定 できます。<br />

ミラーリングされたデータベースの 場 合 、ターゲットを 空 白 にすることでローカル・マシンの 該 当 ミラー・データベース<br />

に 対 するリストアとなります。ターゲットを 空 白 としない 場 合 、データベースは 以 下 のいずれかになります。<br />

– ミラーリングされたデータベースの 正 規 のローカル・コピー。<br />

– ミラーリングされたデータベースのローカル・コピーがシステムにない 場 合 は、ミラーリングされていないデータ<br />

ベース (または、 存 在 しないディレクトリ/データベース)。<br />

– ミラー・データベース 名 。<br />

注 釈<br />

ターゲットがミラー・データベース 名 (もしくは 空 白 )で、ミラーリングされたデータベースがローカル・システ<br />

ムに 存 在 しない (もしくはディスマウントである) 場 合 、バックアップを 作 成 したシステム 上 でバックアップをリ<br />

ストアする 場 合 に 限 り、ターゲットは 作 成 されます。バックアップが 他 のミラー・メンバでリストアされる 場 合 、<br />

データベースはスキップされます。<br />

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

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

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

2.8.5.3 非 同 期 ミラー・メンバからのリストア<br />

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

46 <strong>Caché</strong> データ 整 合 性 ガイド


<strong>Caché</strong> オンライン・バックアップ・リストア・ユーティリティ<br />

• 非 同 期 ミラー・メンバで 作 成 されたミラーリング・データベースのバックアップは、 同 じミラーの 任 意 の 非 同 期 メンバに<br />

対 してリストアできます。<br />

• 非 同 期 ミラー・メンバで 作 成 されたミラーリング・データベースのバックアップは、ミラーリング・データベースの 新 規 コ<br />

ピーを 作 成 する 場 合 に 限 って 使 用 できます (つまり、フェイルオーバー・メンバの 既 存 のミラーリング・データベース<br />

上 にリストアすることはできません)。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 47


3<br />

ジャーナリング<br />

グローバル・ジャーナリングは、 最 後 のバックアップ 以 後 に 実 行 されたデータベース 内 の 変 更 を 保 存 します。バックアップ<br />

は 物 理 的 なリカバリの 基 礎 ですが、これが 常 に 正 しい 方 法 であるとは 限 りません。バックアップからデータベースをリスト<br />

アしても、そのバックアップ 以 後 に 行 われた 変 更 は 回 復 されません。 通 常 、これは 物 理 的 な 整 合 性 が 失 われてから、 数<br />

時 間 が 経 過 しているものです。 前 回 のバックアップ 以 降 にデータベースで 発 生 したすべての 変 更 についても 把 握 する 必<br />

要 があります。このための 機 能 がジャーナリングです。<br />

以 下 の 項 目 について 説 明 します。<br />

• ジャーナリングの 概 要<br />

• ジャーナリングの 構 成<br />

• ジャーナリング 処 理 タスク<br />

• ジャーナリング・ユーティリティ<br />

• ジャーナル 入 出 力 エラー<br />

• ジャーナリングに 関 する 特 別 な 考 慮 事 項<br />

3.1 ジャーナリングの 概 要<br />

<strong>Caché</strong> の 各 インスタンスにはジャーナルがあります。ジャーナルとは、 最 後 のバックアップ 以 後 、データベースに 対 して<br />

行 われた 変 更 を、 時 間 順 で 記 録 している 一 連 のファイルからなるログです。その 処 理 は 冗 長 的 、 論 理 的 で、<strong>Caché</strong> ライ<br />

ト・デーモンを 使 用 しません。<strong>Caché</strong> のトランザクション 処 理 は、データの 論 理 的 整 合 性 を 維 持 するために、ジャーナリン<br />

グと 共 に 機 能 します。<br />

<strong>Caché</strong> を 起 動 すると、 最 後 のライト・デーモン・パス 以 降 のすべてのジャーナル・エントリが 再 適 用 されます。この 方 法 で<br />

は、ユーザ・プロセスにより、ライト・デーモンを 使 用 せずに、 処 理 と 同 時 にジャーナルが 更 新 されるので、クラッシュが 発<br />

生 する 前 の 更 新 がより 確 実 に 保 持 されます。<br />

<strong>Caché</strong> のジャーナリング・システムの 構 成 と 管 理 により、 高 い 可 用 性 を 持 つシステムをサポートするための 安 全 で 一 貫 性<br />

のあるアプローチが 実 現 します。ジャーナル 状 態 は、 個 々のグローバルのプロパティではなく、データベースのプロパ<br />

ティです。データベースのグローバル・ジャーナリング 状 態 は、Yes または No のいずれかになります。<br />

ジャーナルには、トランザクションにあるグローバルに 対 するグローバルな 更 新 処 理 ( 主 に Set 処 理 と Kill 処 理 ) が 記 録<br />

されます。これは、 更 新 の 影 響 を 受 けるグローバルが 保 存 されているデータベースの 設 定 には 関 係 なく 記 録 されます。<br />

さらに、[グローバル・ジャーナル 状 態 ] を Yes に 設 定 したデータベースのグローバルに 対 するすべての 更 新 処 理 も 記 録<br />

されます。これによって、システムの 信 頼 性 が 大 きく 向 上 します。つまり、クラッシュからの 回 復 後 、グローバルの 更 新 の<br />

中 にジャーナルに 記 録 されていないものがあったり、トランザクションの 対 象 にならないものがあったりするために 発 生 す<br />

<strong>Caché</strong> データ 整 合 性 ガイド 49


ジャーナリング<br />

る 矛 盾 を 防 止 できます (ローカルでの Set および Kill の 操 作 、およびプロセス・プライベート 変 数 はジャーナルに 記 録 さ<br />

れません)。<br />

クラスタにマウントされたデータベースのグローバル 処 理 をジャーナリングするかどうかは、データベース 設 定 によって 決<br />

まります。ローカル <strong>Caché</strong> インスタンスでは、リモート・ノードのグローバルのトランザクション 処 理 はジャーナルしません。<br />

ネットワーク 構 成 の 場 合 、ジャーナリングは、グローバルが 実 際 に 格 納 されているノードをサポートしますが、Set または<br />

Kill コマンドを 要 求 したノードはサポートしません。したがって、ノード B がノード A の 要 求 で Set コマンドを 実 行 する 場<br />

合 、ジャーナル・エントリは、ノード A ではなく、ノード B のジャーナルに 表 示 されます。<br />

注 釈 <strong>Caché</strong> クラスタ・ノードに 個 別 にマウントしたデータベースを、そのノードで 最 後 に 発 生 したクラッシュ、 起 動 、ま<br />

たは 再 起 動 の 前 の 状 態 にジャーナル・リストアする 必 要 がある 場 合 は、 非 クラスタ・ジャーナル・リストアではな<br />

く、クラスタ・ジャーナル・リストアの 手 順 を 使 用 します (このドキュメントの “クラスタ・ジャーナリング” の 章 の "ク<br />

ラスタ・ジャーナル・リストア" を 参 照 )。これは、クラッシュしたノードで 開 いている ECP トランザクションは、ロー<br />

ルバックされるのではなく 正 常 に 動 作 しているノードに 転 送 されるからです。クラスタ・フェイルオーバー 復 元 の<br />

後 、データベースをバックアップすることをお 勧 めします。これにより、ジャーナル・リストアの 開 始 をフェイルオー<br />

バー 発 生 前 の 時 点 とする 必 要 がなくなります。<br />

バックアップとジャーナリングは、 使 用 しているデータベースを 再 作 成 することができる 日 常 処 理 です。データベースにア<br />

クセスできなくなったり、 使 用 不 可 能 になるような 問 題 が 生 じた 場 合 、バックアップをリストアし、ジャーナル 内 の 変 更 を 適<br />

用 して、データベースを 再 作 成 することができます。 物 理 的 整 合 性 の 損 失 を 回 復 するこの 技 術 は、“ロール・フォワード”<br />

リカバリと 呼 びます。また、ジャーナルは 不 完 全 なトランザクションをロールバックするためにも 使 用 されます。<br />

新 しいデータベースの [グローバル・ジャーナル 状 態 ] の 既 定 は Yes です。 新 しい <strong>Caché</strong> インスタンスでは、CACHEAUDIT、<br />

CACHESYS、および USER データベースのジャーナリング・プロパティは Yes に 設 定 されています。CACHELIB、<br />

CACHETEMP、DOCBOOK、CACHE、および SAMPLES データベースでは、そのプロパティは No に 設 定 されていま<br />

す。CACHETEMP のグローバルに 対 する 処 理 はジャーナルされません。 一 時 グローバルを <strong>Caché</strong> テンポラリ・データ<br />

ベース CACHETEMP にマップしてください。<br />

以 下 の 項 目 で、ジャーナルの 機 能 を 詳 しく 説 明 します。<br />

• ジャーナリングとライト・イメージ・ジャーナリングの 違 い<br />

• データベースの 整 合 性 の 保 護<br />

• トランザクションの 自 動 ジャーナリング<br />

• 不 完 全 トランザクションのロールバック<br />

• ジャーナル 書 き 込 みサイクル<br />

• ジャーナル・ファイルとジャーナル 履 歴 ログ<br />

• 一 時 グローバルと CACHETEMP の 使 用<br />

• ジャーナル 管 理 のクラスとグローバル<br />

3.1.1 ジャーナリングとライト・イメージ・ジャーナリングの 違 い<br />

この 章 では、“ジャーナル” とはジャーナル・ファイルを 指 し、“ジャーナリング” とはグローバル 更 新 をジャーナル・ファ<br />

イルに 書 き 込 む 処 理 を 指 すものとします。この 章 で 説 明 する <strong>Caché</strong> ジャーナルをライト・イメージ・ジャーナリングと 混 同<br />

しないでください。ライト・イメージ・ジャーナリングの 詳 細 は、このドキュメントの “ライト・イメージ・ジャーナリングとリカバ<br />

リ” の 章 で 説 明 します。ジャーナリングとライト・イメージ・ジャーナリングでは、 以 下 のように 機 能 が 異 なります。<br />

• データベースに 対 してジャーナリングが 有 効 になっている 場 合 、データベースの 変 更 はすべてジャーナルに 記 録 さ<br />

れます。 一 部 の 変 更 が ( 例 えば、リカバリされたデータベースの 最 新 のバックアップ 後 に 行 われたために) 消 失 した<br />

場 合 は、ジャーナル・ファイルの 内 容 をリストアすることで、データベースに 変 更 をリストアします。<br />

50 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリングの 概 要<br />

• ライト・イメージ・ジャーナリングでは、メモリ 内 で 行 われ、データベースにまだ 書 き 込 まれていないデータベースの 変<br />

更 がすべて 記 録 されます。システム・クラッシュが 発 生 すると、ライト・イメージ・ジャーナルの 内 容 は、<strong>Caché</strong> の 再 起<br />

動 時 に 自 動 的 にデータベースに 書 き 込 まれます。<br />

3.1.2 データベースの 整 合 性 の 保 護<br />

<strong>Caché</strong> リカバリ・プロセスは、 最 大 限 の 保 護 機 能 を 提 供 するよう 設 計 されています。<br />

• これには、“ロール・フォワード” 技 術 が 使 用 されています。システム 障 害 が 発 生 した 場 合 、 実 行 途 中 の 更 新 はリカ<br />

バリ 機 能 によって 最 後 まで 実 行 されます。 対 照 的 に、 他 のシステムの 中 には、 回 復 のために 更 新 を 元 に 戻 す、“ロー<br />

ル・バック” 方 法 を 採 用 するシステムもあります。どちらの 方 法 も 内 部 整 合 性 を 保 護 しますが、<strong>Caché</strong> は、ロール・フォ<br />

ワード 技 術 を 使 用 することで、データの 損 失 を 減 少 させます。<br />

• 更 新 順 序 を 保 護 します。リカバリ 後 のデータベースに 更 新 が 存 在 する 場 合 、 先 行 するすべての 更 新 も 実 行 されま<br />

す。 更 新 順 序 を 適 切 に 保 護 しない 他 のシステムは、 内 部 的 な 一 貫 性 を 保 っていますが、 論 理 的 には 無 効 なデータ<br />

ベースになります。<br />

• データベースだけでなく、インクリメンタル・バックアップ・ファイル 構 造 を 保 護 します。クラッシュ 後 のリカバリに 続 き、<br />

有 効 なインクリメンタル・バックアップを 実 行 できます。<br />

3.1.3 トランザクションの 自 動 ジャーナリング<br />

<strong>Caché</strong> アプリケーションでは、トランザクションと 呼 ばれる 作 業 ユニットを 定 義 できます。<strong>Caché</strong> のトランザクション 処 理 で<br />

は、ジャーナルを 使 用 してトランザクションを 格 納 します。<strong>Caché</strong> では、 影 響 を 受 けるグローバルが 含 まれるデータベース<br />

のグローバル・ジャーナル 状 態 設 定 に 関 係 なく、トランザクションに 含 まれるグローバルの 更 新 がすべてジャーナルされ<br />

ます。<br />

以 下 の 目 的 で、コマンドを 使 用 します。<br />

• トランザクションの 開 始 を 指 示<br />

• トランザクションが 通 常 に 終 了 した 場 合 、トランザクションをコミット<br />

• トランザクション 中 にエラーが 発 生 した 場 合 、トランザクションをロールバック<br />

<strong>Caché</strong> は、 多 くの SQL トランザクション 処 理 コマンドをサポートします。これらのコマンドの 詳 細 は、"<strong>Caché</strong> ObjectScript<br />

の 使 用 法 " の “トランザクション 処 理 ” の 章 を 参 照 してください。<br />

3.1.4 不 完 全 トランザクションのロールバック<br />

トランザクションが 完 了 していない 場 合 、ジャーナル・ファイルを 使 用 してそのトランザクションはロール・バックされ、 関 連<br />

するグローバルはトランザクション 実 行 前 の 値 に 戻 ります。<strong>Caché</strong> は、データベース 更 新 の 一 環 として、ジャーナルに 変<br />

更 を 適 用 してジャーナル・リストアを 実 行 し、 不 完 全 なトランザクションをロールバックします。これは 以 下 の 条 件 で 発 生 し<br />

ます。<br />

• システム・クラッシュ 後 の <strong>Caché</strong> 起 動 で 発 生 するリカバリ 中<br />

• トランザクション 進 行 中 にプロセスを 一 時 停 止 した 場 合<br />

• 管 理 ポータルの [システム] > [プロセスの 詳 細 ] ページから [ 終 了 ] オプションを 使 用 してプロセスを 終 了 した 場 合 。<br />

Job コマンドによって 開 始 されたプロセスを 終 了 した 場 合 、その 中 の 不 完 全 なトランザクションは 自 動 的 にロールバッ<br />

クされます。ユーザ・プロセスを 終 了 すると、システムはユーザにメッセージを 送 信 し、 不 完 全 なトランザクションをコ<br />

ミットするかロールバックするかを 尋 ねます。<br />

アプリケーションにロールバック・コードを 記 述 できます。アプリケーションそのものが 問 題 を 検 出 し、ロールバックを 要 求<br />

します。 普 通 、これはアプリケーション・エラーに 続 くエラー 処 理 ルーチンで 実 行 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 51


ジャーナリング<br />

詳 細 は、“<strong>Caché</strong> ObjectScript の 使 用 法 ” の “トランザクション 処 理 ” の 章 で、“アプリケーションでのトランザクション 管<br />

理 ” セクションを 参 照 してください。<br />

3.1.5 ジャーナル 書 き 込 みサイクル<br />

グローバル 処 理 がジャーナルに 書 き 込 まれる 頻 度 は、 関 連 する <strong>Caché</strong> インスタンスの 動 作 状 況 によって 異 なります。<br />

ジャーナル 書 き 込 み 操 作 は、 次 の 場 合 にトリガされる 可 能 性 があります。<br />

• システムがアイドルの 場 合 2 秒 ごとに 1 回 トリガされる。<br />

• ECP 構 成 では、アプリケーション・サーバからの 特 定 の 要 求 ( 例 えば、$Increment) に 応 答 して ECP のセマンティッ<br />

クスを 保 証 する 場 合 にデータ・サーバによってトリガされる。<br />

• <strong>Caché</strong> トランザクションを 使 用 している 場 合 、( 同 期 コミット・モードで、このトランザクションに 関 するデータがディスク<br />

にフラッシュされる 場 合 ) TCOMMIT によってトリガされる。<br />

• 各 データベース 書 き 込 みサイクルの 一 部 として 書 き 込 みデーモンによってトリガされる。<br />

• ジャーナル・バッファがフルの 場 合 にトリガされる。<br />

3.1.6 ジャーナル・ファイルとジャーナル 履 歴 ログ<br />

既 定 では、ジャーナル・ファイルは install-dir\Mgr\journal ディレクトリに 格 納 され、ジャーナル 履 歴 ログ・ファイルである<br />

install-dir\Mgr\journal.log に 記 録 されます。このログ・ファイルには、インスタンスで 管 理 されているすべてのジャーナ<br />

ル・ファイルのリストが 含 まれています。ジャーナルに 関 連 するすべての 機 能 、ユーティリティ、および API では、このログ<br />

を 使 用 してジャーナル・ファイルを 探 します。<br />

ジャーナル 履 歴 ログ・ファイルは 以 下 のように 更 新 されます。<br />

• 新 規 のジャーナル・ファイルが 作 成 されると、エントリがログに 追 加 されます。<br />

• エントリで 特 定 されるジャーナル・ファイルが 存 在 せず、そのエントリが 30 日 以 上 経 過 したものであれば、エントリが<br />

定 期 的 に 削 除 され、ログ・ファイルの 先 頭 からエントリの 記 録 が 始 まります。エントリがこの 2 つの 条 件 に 該 当 しない<br />

場 合 、 削 除 は 行 われません。<br />

注 意<br />

journal.log ファイルは 変 更 しないでください。ジャーナル・ユーティリティを 使 用 せずにこのファイルを 変<br />

更 すると、ファイルは 破 損 していると 見 なされ、ジャーナリングが 無 効 になる 可 能 性 があります。このファ<br />

イルが 破 損 している 場 合 は、インターシステムズのサポート 窓 口 までお 問 い 合 わせください。 ジャーナリ<br />

ングが 無 効 になっている 場 合 (<strong>Caché</strong> が journal.log ファイルを 更 新 できない 場 合 ) は、 破 損 したログ・ファ<br />

イルの 名 前 を 変 更 してジャーナリングを 再 開 します。<br />

バックアップからのリストアに 続 いて 実 行 するジャーナルのリストアで 必 要 になったときに 必 ず 利 用 できるように、journal.log<br />

ファイルをバックアップ 方 針 に 取 り 入 れることをお 勧 めします。バックアップとリストアの 方 針 および 手 順 に 関 する 詳 細 は、<br />

このドキュメントの “バックアップとリストア” の 章 を 参 照 してください。<br />

journal.log が 存 在 しない 場 合 ( 例 えば、 破 損 によりファイル 名 を 変 更 した 場 合 )、<strong>Caché</strong> では 新 規 ジャーナル・ファイル 作<br />

成 の 際 に 新 しいログ・ファイルが 作 成 されますが、このログ・ファイルにはその 作 成 時 点 以 後 に 作 成 されたジャーナル・<br />

ファイルのみが 記 録 されるので、 以 前 のジャーナル・ファイルについての 情 報 は 失 われます。journal.log ファイルを 使 用<br />

するジャーナル 関 連 の 機 能 、ユーティリティ、および API では、このログ・ファイルに 記 録 されていないジャーナル・ファ<br />

イルは 利 用 できません。 一 方 、ジャーナルをリストアするとき、journal.log が 存 在 しない 場 合 または 既 存 のログ・ファイル<br />

を 使 用 しない 場 合 は、 手 動 でジャーナル・ファイルを 指 定 できます (この 章 の “^JRNRESTO を 使 用 したジャーナル・ファ<br />

イルからのグローバルのリストア” のセクションを 参 照 してください)。<br />

また、journal.log ファイルを 使 用 して、 以 下 のように 別 の 場 所 へのジャーナル・ファイルの 移 行 やリストアも 可 能 です。<br />

1. ターゲットとしている <strong>Caché</strong> インスタンスで、install-dir\Mgr ディレクトリ 以 外 の 場 所 に、ジャーナル・ファイルおよび<br />

journal.log をコピーします。<br />

52 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリングの 概 要<br />

2. ターゲット・システム 上 で ^JRNRESTO ルーチンを 実 行 し、 次 のプロンプトへの 応 答 で「No」を 入 力 します。<br />

Are journal files created by this Cache instance and located in their original<br />

paths (Uses journal.log to locate journals)<br />

3. 表 示 されるプロンプトに 従 って、コピーしたジャーナル・ファイルおよび journal.log ファイルのターゲット・システム 上<br />

での 格 納 場 所 を 指 定 します。^JRNRESTO では、このログ・ファイルを 使 用 して、ターゲット・システムへ 移 行 またはリ<br />

ストアするジャーナル・ファイルの 範 囲 を 検 証 します。<br />

4. この 章 の “^JRNRESTO を 使 用 したジャーナル・ファイルからのグローバルのリストア” セクションの 説 明 に 従 って、<br />

プロセスを 完 了 します。<br />

注 釈<br />

<strong>Caché</strong> インスタンスがミラーのメンバとなった 場 合 、 以 下 のミラーリング・サポート 用 のジャーナル 変 更 が 発 生 し<br />

ます。<br />

• プライマリになる 際 、MIRROR-mirror_name が 先 頭 に 付 く 新 規 ジャーナル・ファイル<br />

(MIRROR-MIR21-20120921.001 など) に 対 してのジャーナル 切 り 替 えが 発 動 します。その 時 点 より、すべ<br />

てのジャーナル・ファイルはミラー・ジャーナル・ファイルとして 書 き 込 まれ、mirrorjrn-mirror_name.log<br />

(mirrorjrn-MIR21-20120921.log や journal.log など) にログが 記 録 されます。<br />

• バックアップまたは 非 同 期 になる 際 には、プライマリより 受 信 したミラー・ジャーナル・ファイルがローカル・イ<br />

ンスタンスの 標 準 ジャーナル・ファイルと 共 に、 構 成 されたジャーナル・ディレクトリに 書 き 込 まれて、プライ<br />

マリのミラー・ジャーナル・ログ (mirrorjrn-mirror_name.log) のコピーが install-dir\Mgr に 作 成 された 後 に、<br />

継 続 的 に 更 新 されます。<br />

ミラーリングにおけるジャーナル・ファイルの 役 割 の 詳 細 は、"<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリング” の 章<br />

にある "ミラー 同 期 " を 参 照 してください。<br />

3.1.7 一 時 グローバルと CACHETEMP の 使 用<br />

CACHETEMP データベースにマップされているものはジャーナルされません。<br />

ネームスペース 内 のグローバルはそれぞれ 別 々のデータベースにマッピングされている 可 能 性 もあるため、 一 部 はジャー<br />

ナルに 記 録 され、 他 は 記 録 されないということもあります。グローバルがマップされているデータベースのジャーナル・プ<br />

ロパティによって、<strong>Caché</strong> がそのグローバル 処 理 をジャーナルするかどうかが 決 まります。CACHETEMP とジャーナル・<br />

プロパティが No に 設 定 されているデータベースとの 違 いは、CACHETEMP では、トランザクションの 更 新 も 含 めて 何 も<br />

ジャーナルされないことです。<br />

注 釈<br />

No に 設 定 した [ジャーナルグローバル] プロパティで 構 成 されたデータベース ("<strong>Caché</strong> システム 管 理 ガイド"<br />

の “<strong>Caché</strong> の 構 成 ” の 章 、"ローカル・データベースの 作 成 " 参 照 ) は、ジャーナル・トランザクションのグロー<br />

バル Set/Kill 処 理 のジャーナルを 継 続 し、ジャーナル・ファイルが 非 常 に 大 きくなる 可 能 性 があります。しかし、<br />

CACHETEMP はジャーナル・トランザクション 中 であっても、Set/Kill 処 理 のジャーナルを 行 いません。<br />

ジャーナリングから 新 規 z/Z* グローバルを 除 外 する 必 要 がある 場 合 は、それらのグローバルを、ジャーナル・プロパティ<br />

を No に 設 定 してデータベースにマップします。ジャーナリングから z/Z* グローバルを 常 に 除 外 するには、すべての<br />

ネームスペース 内 の z/Z* グローバルを CACHETEMP データベースにマップする 必 要 があります。<br />

<strong>Caché</strong> では 一 時 グローバルはジャーナルされません。<strong>Caché</strong> によって 一 時 グローバルに 指 定 され、CACHETEMP に 含<br />

まれるのは、 以 下 のシステム・グローバルです。<br />

• ^%cspSession<br />

• ^CacheTemp*<br />

• ^mtemp<br />

<strong>Caché</strong> データ 整 合 性 ガイド 53


ジャーナリング<br />

3.1.8 ジャーナル 管 理 のクラスとグローバル<br />

ジャーナリングで 使 用 できるメソッドとクエリの 詳 細 は、"インターシステムズ・クラス・リファレンス" の "%SYS.Journal.System"<br />

クラスに 関 するドキュメントを 参 照 してください。これは %SYS.Journal パッケージに 収 められています。<br />

また、<strong>Caché</strong> では、^%SYS(“JOURNAL”) グローバル・ノードを 使 用 してジャーナル・ファイルに 関 する 情 報 を 格 納 します。<br />

以 下 に 例 を 示 します。<br />

• ^%SYS("JOURNAL","ALTDIR") は、 代 替 ジャーナル・ディレクトリ 名 を 格 納 します。<br />

• ^%SYS("JOURNAL","CURDIR") は、 現 在 のジャーナル・ディレクトリ 名 を 格 納 します。<br />

• ^%SYS("JOURNAL","CURRENT") は、ジャーナルの 状 態 とジャーナル・ファイル 名 を 格 納 します。<br />

管 理 ポータルの [システム] > [グローバル] ページからこの 情 報 を 表 示 できます。<br />

3.2 ジャーナリングの 構 成<br />

<strong>Caché</strong> が 起 動 すると、まず CACHESYS、CACHELIB、および USER の 各 データベースのジャーナリングが 有 効 になりま<br />

す。データベースごとにジャーナリングを 有 効 または 無 効 にするには、 管 理 ポータルの [システム] > [ 構 成 ] > [ローカル・<br />

データベース] ページを 使 用 します。 目 的 のデータベースに 該 当 する 行 で [ 編 集 ] をクリックし、[グローバル・ジャーナル<br />

状 態 ] ボックスで [Yes] または [No] をクリックします。<br />

新 しいデータベースのジャーナル 状 態 の 既 定 の 設 定 は Yes です。 旧 リリースの <strong>Caché</strong> のデータベースを 初 めてマウン<br />

トするときに、この 値 は Yes に 設 定 されます。 新 規 グローバルの 以 前 の 設 定 値 およびそのデータベースにある 個 々のグ<br />

ローバルの 以 前 の 設 定 は 無 視 されます。<br />

実 行 中 のシステムで、データベースのグローバル・ジャーナル 設 定 を 変 更 できます。これを 実 行 すると、 何 らかの 影 響 が<br />

発 生 する 可 能 性 があることが 警 告 されます。また、 監 査 が 有 効 になっていると 変 更 に 対 する 監 査 が 実 行 されます。<br />

ジャーナル・ファイル 名 は、 現 在 の 日 付 形 式 (yyyymmdd.nnn) を 使 用 します。 接 尾 部 の nnn は、001 から 始 まり、 徐 々に<br />

増 加 します。ジャーナル・ファイルが 一 杯 の 場 合 、<strong>Caché</strong> は 新 しいジャーナルを 自 動 的 に 切 り 替 えます。 新 しいジャーナ<br />

ル・ファイルは、ディレクトリ 名 は 同 じですが、 接 尾 語 の 数 字 が 異 なります。ジャーナル・ファイルの 接 頭 部 を 指 定 すると、<br />

その 接 頭 部 が 引 き 続 き 使 用 されます。<br />

例 えば、ジャーナル・ファイル 20110827.001 が 一 杯 になった 場 合 、<strong>Caché</strong> は 20110827.002 という 新 規 ファイルを 開 始<br />

します。ジャーナル・ファイルが 一 杯 になる 途 中 で 日 付 が 変 わると、 新 しいジャーナル・ファイル 名 は 20110828.001 にな<br />

ります。<br />

以 下 のセクションでは、 構 成 についてさらに 詳 しく 説 明 します。<br />

• ジャーナル 設 定 の 構 成<br />

• ジャーナリングの 最 善 の 使 用 方 法<br />

3.2.1 ジャーナル 設 定 の 構 成<br />

<strong>Caché</strong> のジャーナリングを 構 成 するには、 管 理 ポータルの [システム] > [ 構 成 ] > [ジャーナル 設 定 ] ページに 移 動 しま<br />

す。<br />

以 下 の 設 定 が 編 集 可 能 です。<br />

• [ 主 ジャーナルディレクトリ] — ジャーナル・ファイルを 格 納 するディレクトリの 名 前 を 入 力 します。ディレクトリ 名 の 長 さ<br />

は 最 長 214 (OpenVMS では 215) 文 字 です。ジャーナル・ディレクトリは、データベースとは 異 なるパーティションに<br />

54 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリングの 構 成<br />

配 置 することをお 勧 めします。 既 定 の 設 定 は、<strong>Caché</strong> のインストール・マネージャのディレクトリにある Journal サブ<br />

ディレクトリです。<br />

• [ 二 次 ジャーナルディレクトリ] — ジャーナリングの 際 に、 現 在 のディレクトリのディスクが 容 量 不 足 になったとき、また<br />

は 使 用 できなくなったときに 切 り 替 えて 使 用 する 代 替 ディレクトリの 名 前 を 入 力 します。プライマリ・ジャーナル・ディ<br />

レクトリと 同 様 の 特 性 を 持 ちます。 既 定 の 設 定 は 主 ジャーナル・ディレクトリです。<br />

重 要<br />

システムで 何 らかの 処 理 を 実 行 する 前 に、 現 在 のジャーナル・ファイルの 位 置 と 代 替 ジャーナル・<br />

ファイルの 位 置 の 両 方 を 独 立 したディスク・パーティションに 更 新 することで、データベースからジャー<br />

ナル・ファイルを 分 離 することをお 勧 めします。<br />

• [ 次 のサイズに 達 すると 新 規 ジャーナルに 切 り 替 える] — ジャーナル・ファイルの 最 大 サイズをメガバイト 単 位 で 入 力<br />

します。このサイズに 到 達 すると 次 のジャーナル・ファイルに 切 り 替 わります。 既 定 のサイズは 1024 MB、 最 大 サイズ<br />

は 4097 MB です。<br />

• [ジャーナルファイル 接 頭 語 ] (オプション) — ジャーナル・ファイル 名 を 識 別 する 英 数 字 文 字 列 を 入 力 します。<br />

• [ジャーナルファイルを 削 除 するタイミング] — 以 下 の 2 つのオプションのいずれか、または 両 方 を 設 定 できます。 両<br />

方 の 設 定 にゼロ 以 外 の 数 値 を 入 力 すると、ジャーナル・ファイルは、どちらかの 条 件 を 先 に 満 たしたときに 削 除 され<br />

ます。 一 方 を 0 (ゼロ) に 設 定 し、もう 一 方 をゼロ 以 外 の 値 に 設 定 すると、ゼロ 以 外 の 設 定 によって 削 除 が 判 定 され<br />

ます。 両 方 が 0 の 場 合 、ジャーナル・ファイル (およびジャーナル 履 歴 ) の 自 動 削 除 は 行 われません。<br />

– [この 日 数 後 ] — 何 日 後 に 削 除 するかを 入 力 します ( 有 効 な 値 は 0 ~ 100)。<br />

– [この 回 数 のバックアップ 成 功 後 ] — バックアップが 何 回 連 続 して 成 功 した 後 に 削 除 するかを 入 力 します ( 有 効<br />

な 値 は 0 ~ 10)。<br />

これには、<strong>Caché</strong> バックアップや、バックアップ 成 功 後 に $$BACKUP^DBACK("","E") 関 数 を 呼 び 出 す 外 部<br />

バックアップなど、すべてのバックアップ・タイプが 含 まれます。<br />

^JRNOPTS ルーチンを 使 用 するか、または ^JOURNAL ルーチン・メニューからオプション 7 の [ジャーナル・プロパ<br />

ティの 編 集 ] を 選 択 することで、これらの 設 定 を 更 新 することもできます。 詳 細 は、"^JRNOPTS を 使 用 したジャーナ<br />

ル 設 定 の 更 新 " を 参 照 してください。<br />

注 釈<br />

現 在 開 いているトランザクションが 含 まれているジャーナル・ファイルは、この 設 定 の 条 件 を 満 たしていても<br />

削 除 されません。<br />

[この 日 数 後 ] を 0 ( 時 間 を 基 準 にして 削 除 しない) に 設 定 し、[この 回 数 のバックアップ 成 功 後 ] を 1 に 設<br />

定 している 場 合 は、 正 常 なバックアップを 2 回 実 行 するまでジャーナル・ファイルは 削 除 されません。つま<br />

り、“ 連 続 ” の 条 件 を 満 たすには、2 回 の 正 常 なバックアップが 必 要 です。<br />

• [エラー 時 にフリーズ] — [はい] または [いいえ] を 選 択 します。ジャーナルへの 書 き 込 み 中 にエラーが 発 生 した 場 合<br />

の 動 作 を 制 御 します。 既 定 の 設 定 は [いいえ] です。この 設 定 の 詳 細 は、"ジャーナル 入 出 力 エラー" を 参 照 してく<br />

ださい。<br />

• [ジャーナル CSP セッション] — [はい] または [いいえ] を 選 択 します。この 設 定 によって、<strong>Caché</strong> Server Page (CSP)<br />

セッションのジャーナリングを 有 効 にするかどうかが 制 御 されます。 既 定 は [いいえ] です。<br />

• [ライト・イメージ・ジャーナル・エントリ] — ライト・イメージ・ジャーナル (wij) ファイルの 場 所 を 入 力 します。この 設 定 の<br />

詳 細 は、このドキュメントの “ライト・イメージ・ジャーナリングとリカバリ” の 章 の “ライト・イメージ・ジャーナリング”<br />

セクションを 参 照 してください。<br />

特 に 指 示 がない 限 り、これらの 設 定 のほとんどでは 変 更 後 に <strong>Caché</strong> を 再 起 動 する 必 要 はありませんが、どの 設 定 を 変 更<br />

した 場 合 でも 新 しいジャーナル・ファイルが 開 始 されます。<br />

管 理 ポータルの [システム] > [ 構 成 ] > [ 互 換 性 設 定 ] ページでは、ジャーナリングに 影 響 する、さらに 詳 細 な 構 成 設 定 を<br />

管 理 できます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 55


ジャーナリング<br />

• [SynchCommit] — 値 は True または False です。トランザクションに 関 連 するジャーナル・データをディスクにフラッ<br />

シュすることを TCOMMIT で 要 求 する 際 に 指 定 します。この 設 定 を True に 設 定 すると、ジャーナル・データの 書 き<br />

込 み 処 理 が 完 了 するまで TCOMMIT は 待 機 します。False に 設 定 すると、TCOMMIT は 書 き 込 み 処 理 の 完 了 を 待<br />

機 しません。 既 定 値 は False です。 詳 細 は、"<strong>Caché</strong> 追 加 構 成 設 定 リファレンス" の "SynchCommit"、および "<strong>Caché</strong><br />

ObjectScript リファレンス" の "TCOMMIT" を 参 照 してください。<br />

3.2.2 ジャーナリングの 最 善 の 使 用 方 法<br />

ジャーナリングを 構 成 する 際 の 重 要 な 考 慮 事 項 を 以 下 に 示 します。<br />

• 障 害 が 起 きてもデータの 損 失 がほとんど 発 生 しないようにすべてのグローバルをジャーナルするために、<strong>Caché</strong> で<br />

は 物 理 データベースよりも 頻 繁 にジャーナルが 更 新 されます。<br />

• 何 をジャーナルしているのかを 常 に 正 確 に 把 握 し、 損 失 を 回 避 する 必 要 があるデータは 必 ずジャーナルするように<br />

します。<br />

• すべてのグローバルを 把 握 し、 真 に 一 時 的 なデータ ( 可 能 であれば CACHETEMP にマップする 必 要 があるデータ)<br />

と、しばらくしてからなくなるデータ (リストア 時 に 必 要 になるため、ジャーナルする 必 要 があるデータ) を 区 別 します。<br />

• ジャーナル・ファイルは、データベース (CACHE.DAT) ファイルとは 異 なるディスクに 配 置 します。インターシステム<br />

ズでは、クラッシュやデータベースの 破 損 が 起 こった 場 合 にジャーナル・ファイルが 壊 れるリスクを 減 少 させるため<br />

に、ジャーナル・ファイルをデータベースから 独 立 させることをお 勧 めします。<br />

• データベースの 性 能 が 低 下 しても、ジャーナル・ファイルには 影 響 はありません。したがって、これは 二 次 的 なバック<br />

アップとして 使 用 するのに 便 利 です。<br />

3.3 ジャーナリング 処 理 タスク<br />

ジャーナルを 構 成 しておくと、 以 下 のタスクを 実 行 できるようになります。<br />

• ジャーナリングの 開 始<br />

• ジャーナリングの 停 止<br />

• ジャーナル・ファイルの 切 り 替 え<br />

• ジャーナル・ファイルの 表 示<br />

• ジャーナル・ファイルの 削 除<br />

• ジャーナル・ファイルのリストア<br />

3.3.1 ジャーナリングの 開 始<br />

ジャーナリングが 停 止 しているときは、^JRNSTART ルーチンを 使 用 するか、または ^JOURNAL ルーチン・メニューから<br />

オプション 1 の [ジャーナリングの 開 始 ] を 選 択 して、ジャーナリングを 開 始 できます。 詳 細 は、"^JRNSTART を 使 用 した<br />

ジャーナリングの 開 始 " を 参 照 してください。<br />

注 釈<br />

管 理 ポータルからジャーナリングは 開 始 できません。<br />

56 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング 処 理 タスク<br />

3.3.2 ジャーナリングの 停 止<br />

システム 全 体 のジャーナリングを 停 止 すると、"ジャーナル 入 出 力 エラー 時 にシステムをフリーズしない 場 合 " の 節 で 説<br />

明 するように、 多 くの 通 常 望 ましくない 結 果 が 発 生 します。シャドウイングとトランザクション 処 理 の 両 方 が 影 響 を 受 けま<br />

す。<br />

ジャーナルを 停 止 すると、トランザクション 処 理 も 中 断 します。ジャーナリングを 停 止 したときにトランザクションが 進 行 中<br />

の 場 合 、ジャーナルには 不 完 全 なトランザクションが 格 納 されます。この 問 題 を 避 けるため、ジャーナルを 停 止 する 前 に、<br />

すべてのユーザがシステムから 切 断 されていることを 確 認 してください。<br />

ジャーナリングを 停 止 した 状 態 で <strong>Caché</strong> がクラッシュすると、ジャーナリングを 停 止 する 前 に 始 まっていたトランザクショ<br />

ンが 不 完 全 な 状 態 になっていても、 起 動 時 のリカバリ・プロセスではそのトランザクションはロール・バックされません。こ<br />

れは、トランザクションはコミットされていてもジャーナリングされていないからです。<br />

一 方 、ジャーナル・ファイルを 切 り 替 えても、トランザクションには 影 響 がありません。ジャーナルの 切 り 替 えで 複 数 のジャー<br />

ナル・ファイルが 生 成 され、それらにトランザクションが 分 散 しても、ロールバックは 正 確 に 実 行 されます。したがって、 可<br />

能 であれば、ジャーナリングを 停 止 するよりもジャーナル・ファイルを 切 り 替 えることをお 勧 めします。<br />

ジャーナリングを 停 止 するには、^JRNSTOP ルーチンを 使 用 するか、または ^JOURNAL ルーチン・メニューからオプショ<br />

ン 2 の [ジャーナリングの 停 止 ] を 選 択 します。 詳 細 は、"^JRNSTOP を 使 用 したジャーナリングの 停 止 " を 参 照 してくだ<br />

さい。<br />

注 釈<br />

管 理 ポータルからジャーナリングは 停 止 できません。<br />

3.3.3 ジャーナル・ファイルの 切 り 替 え<br />

<strong>Caché</strong> は、 以 下 の 状 況 でジャーナル・ファイルを 自 動 的 に 切 り 替 えます。<br />

• <strong>Caché</strong> データベースのバックアップ 実 行 後 。<br />

• 現 在 のジャーナル・ファイルのサイズが 最 大 許 容 量 ([ジャーナル 設 定 ] ページで 設 定 可 能 ) に 達 したとき。<br />

• 代 替 ディレクトリが 指 定 されている 場 合 に、ジャーナル・ディレクトリが 使 用 不 可 能 になったとき。<br />

• 管 理 ポータルの [システム] > [ 構 成 ] > [ジャーナル 設 定 ] ページの 設 定 の 更 新 後 。<br />

注 釈<br />

インスタンスがミラーのメンバとして 構 成 されている 場 合 、[ミラー・ジャーナル・ファイル] リンクからミラー・ジャー<br />

ナル・ファイルのリストを 表 示 できます。<br />

ジャーナリングを 停 止 して 開 始 するより、ジャーナル・ファイルを 切 り 替 える 方 が 望 ましい 選 択 です。ジャーナリングをいっ<br />

たん 停 止 してから 開 始 することと 比 較 して、ジャーナル・ファイルを 切 り 替 える 利 点 は、ジャーナルの 停 止 後 、 再 開 するま<br />

でに 発 生 したグローバルの 動 作 をジャーナルし 続 けることができる 点 です。<br />

ジャーナル・ファイルを 手 動 で 切 り 換 えるには、 以 下 の 手 順 に 従 います。<br />

1. 管 理 ポータルの [システム] > [ジャーナル] ページに 移 動 します。<br />

2. データベース・ジャーナル・ファイルのリストの 上 にある [ジャーナルの 切 り 替 え] をクリックします。<br />

3. [OK] をクリックして、ジャーナルの 切 り 替 えを 確 定 します。<br />

^JRNSWTCH ルーチンを 使 用 するか、または ^JOURNAL ルーチン・メニューからオプション 3 の [ジャーナル・ファイル<br />

の 切 り 換 え] を 選 択 することで、ジャーナル・ファイルを 切 り 換 えることもできます。 詳 細 は、"^JRNSWTCH を 使 用 したジャー<br />

ナル・ファイルの 切 り 替 え" を 参 照 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 57


ジャーナリング<br />

3.3.4 ジャーナル・ファイルの 表 示<br />

管 理 ポータルの [システム] > [ジャーナル] > [ジャーナル 表 示 ] ページからジャーナル・ファイルを 表 示 できます。<br />

1. [ホーム] ページの [システム 処 理 ] メニューで [ジャーナル] をクリックします。 必 要 に 応 じて、[フィルタ] ボックスを 使<br />

用 してリストの 件 数 を 絞 り 込 みます。<br />

2. ジャーナル・ファイルの 情 報 を 表 示 するには、 該 当 のジャーナル・ファイル 行 の [ビュー] をクリックします。[ 一 致 ] ボッ<br />

クスにある [ 検 索 ] ボタンを 使 用 すると、 特 定 のエントリの 検 索 に 便 利 です ([ 検 索 ] ボックス 内 のテキストの 大 文 字 と<br />

小 文 字 は 区 別 されます)。<br />

3. ジャーナル・ファイルのエントリを 表 示 するには、リスト 内 の 該 当 のノードの [オフセット] をクリックして、ジャーナル・レ<br />

コードの 詳 細 を 含 むダイアログ・ボックスを 表 示 します。<br />

^JRNDUMP ユーティリティを 使 用 してジャーナル 全 体 を 表 示 したり、SELECT^JRNDUMP のエントリ・ポイントを 使 用 して、<br />

選 択 したエントリを 表 示 したりすることもできます。 詳 細 は、"^JRNDUMP を 使 用 したジャーナル・レコードの 表 示 " を 参 照<br />

してください。<br />

3.3.5 ジャーナル・ファイルの 削 除<br />

使 用 しなくなったジャーナル・ファイルを 削 除 するタスクを 定 期 的 に 実 行 するようにスケジュールできます。 新 しい <strong>Caché</strong><br />

インスタンスには、 事 前 にスケジュールされたジャーナルの 削 除 タスクがあります。このタスクは、 毎 日 午 前 0 時 に 実 行<br />

するジャーナルの 切 り 替 えタスクの 後 に 実 行 するようにスケジュールされています。ミラー・ジャーナル・ファイルの 削 除 に<br />

関 する 詳 細 は、このセクションの "ミラー・ジャーナル・ファイルの 削 除 " を 参 照 してください。<br />

この 削 除 プロセスでは、[システム] > [ 構 成 ] > [ジャーナル 設 定 ] ページの [ジャーナルファイルを 削 除 するタイミング] 設<br />

定 に 基 づき、ジャーナル・ファイルを 削 除 します。 詳 細 は、この 章 の "ジャーナルの 設 定 の 構 成 " を 参 照 してください。<br />

注 釈<br />

現 在 開 いているトランザクションが 含 まれているジャーナル・ファイルは、 削 除 の 設 定 の 条 件 を 満 たしていても<br />

削 除 されません。<br />

PURGE^JOURNAL ルーチンを 使 用 するか、または ^JOURNAL ルーチン・メニューからオプション 6 の [ジャーナル・ファ<br />

イルの 削 除 ] を 選 択 することで、ジャーナル・ファイルを 削 除 することもできます。 詳 細 は、"PURGE^JOURNAL を 使 用 し<br />

たジャーナル・ファイルの 削 除 " を 参 照 してください。<br />

3.3.5.1 ミラー・ジャーナル・ファイルの 削 除<br />

既 定 では、 以 下 の 条 件 に 合 致 するミラー・ジャーナル・ファイルが 削 除 されます。<br />

• プライマリ・フェイルオーバー・メンバ — 以 下 の 期 限 のうち、 長 い 方 に 該 当 するもの。<br />

– システムで 構 成 された 削 除 ルールで 規 定 されている 期 限 。 詳 細 はこの 章 の "ジャーナル 設 定 の 構 成 " を 参 照<br />

してください。<br />

– 構 成 されていても、 一 定 期 間 オフラインになっている 非 同 期 メンバの 場 合 は 14 日 間 。<br />

注 釈<br />

トランザクションのロールバックやリカバリで 必 要 なファイルがプライマリ・フェイルオーバー・メンバによって<br />

削 除 されることはありません。<br />

• バックアップ・フェイルオーバー・メンバ — システムで 構 成 された 既 定 の 削 除 ルールに 従 って 削 除 されます。 詳 細 は<br />

この 章 の "ジャーナル 設 定 の 構 成 " を 参 照 してください。<br />

• 非 同 期 メンバ — 既 定 では、ミラー・ジャーナル・ファイルがデジャーナルされ、ディザスタ・リカバリで 非 同 期 ミラー・メ<br />

ンバが 昇 格 したときのトランザクション・ロールバック 用 として 不 要 になると、 非 同 期 メンバはそのジャーナル・ファイル<br />

を 削 除 します。これは、 非 同 期 メンバが 複 数 のミラーからジャーナル・ファイルを 受 け 取 っていることがあるため、 領<br />

58 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

域 の 不 足 が 発 生 しないようにするためです ( 詳 細 は、"<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリング” の 章 を 参 照 してく<br />

ださい)。<br />

SYS.Mirror.JrnPurgeDefaultWait() メソッドを 使 用 すると、ミラー・ジャーナル・ファイルを 削 除 するための 既 定 の 設 定 を 変<br />

更 できます。<br />

3.3.6 ジャーナル・ファイルのリストア<br />

システム・クラッシュあるいはディスク・ハードウェア 障 害 の 後 、バックアップ・コピーをリストアして、データベースを 再 生 成<br />

します。ジャーナリングが 有 効 になっていてジャーナル・ファイルにアクセス 可 能 な 場 合 、 最 後 のバックアップ 以 降 、ジャー<br />

ナルに 記 録 されている 変 更 を 適 用 してデータベースをリストアできます。<br />

注 釈 ジャーナルのリストアで 最 適 なパフォーマンスを 実 現 するには、 一 般 メモリ・ヒープのサイズ ([gmheap]) を 30000<br />

* N だけ 増 やすことをお 勧 めします。この N はデジャーナル 事 前 フェッチャの 数<br />

で、%SYSTEM.Util.NumberOfCPUs() メソッドで 指 定 したシステムの CPU の 数 に 1 を 加 えた 数 です。[gmheap]<br />

のサイズは、 管 理 ポータルの [システム] > [ 構 成 ] > [ 詳 細 メモリ 設 定 ] ページで 調 整 できます。<br />

ジャーナル・ファイルをリストアする 手 順 は 以 下 のとおりです。<br />

1. まず、すべてのユーザが <strong>Caché</strong> を 終 了 していることを 確 認 します。<br />

2. ジャーナリングを 使 用 中 の 場 合 、 停 止 します。<br />

3. データベースの 最 新 バックアップをリストアします。 詳 細 は、このドキュメントの “バックアップとリストア” の 章 を 参 照<br />

してください。<br />

4. ジャーナル・リストア・ユーティリティを 実 行 します。 詳 細 は、"^JRNRESTO を 使 用 したジャーナル・ファイルからのグ<br />

ローバルのリストア" を 参 照 してください。<br />

5. ジャーナリングが 無 効 の 場 合 、 再 開 します。<br />

注 釈<br />

管 理 ポータルからジャーナル・リストア・プロセスを 実 行 することはできません。<br />

3.4 ジャーナリング・ユーティリティ<br />

<strong>Caché</strong> には、ジャーナリング・タスクを 実 行 するためのユーティリティがいくつか 用 意 されています。^JOURNAL ユーティ<br />

リティには、いくつかの 一 般 的 なジャーナリング・ユーティリティを 実 行 するためのメニュー 項 目 があります。これらのユー<br />

ティリティは、 単 独 で 実 行 することも 可 能 です。また、%SYS ネームスペースから 実 行 するジャーナリング・ユーティリティも<br />

いくつかあります。<br />

以 下 のセクションでは、ジャーナリング・ユーティリティについて 詳 しく 説 明 します。<br />

• ^JOURNAL を 使 用 したジャーナリング・タスクの 実 行<br />

• ^STURECOV を 使 用 した 起 動 エラーの 回 復<br />

• ^JCONVERT および ^%JREAD を 使 用 したジャーナル・ファイルの 変 換<br />

• ^JRNMARK を 使 用 したジャーナル・マーカの 設 定<br />

• ^JRNUTIL を 使 用 したジャーナル・ファイルの 操 作<br />

• %NOJRN を 使 用 したプロセス・レベルでのジャーナリングの 管 理<br />

以 下 のセクションでは、サンプル・プロシージャは、C:\MyCache を <strong>Caché</strong> インストール・ディレクトリとして 示 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 59


ジャーナリング<br />

3.4.1 ^JOURNAL を 使 用 したジャーナリング・タスクの 実 行<br />

この 例 は、^JOURNAL ルーチンを 呼 び 出 すことで 使 用 可 能 なメニューを 示 しています。<br />

%SYS>Do ^JOURNAL<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL)<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) -not available-<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option<br />

注 釈<br />

オプション 10 および 11 の -not available- テキストは、 以 下 のように 置 き 換 えられます。<br />

• オプション 10) (CLUMENU^JRNRESTO) は、クラスタ・ノードにのみ 表 示 されます。<br />

詳 細 は、この 節 の "CLUMENU^JRNRESTO を 使 用 したクラスタ・ジャーナルのリストア" を 参 照 してくださ<br />

い。<br />

• オプション 11) (Manage^JRNROLL) は、^STURECOV ルーチ<br />

ン (システムの 起 動 時 ) または ^MIRROR ルーチン (プライマリ・ミラー・メンバの 起 動 時 ) を 実 行 したときに、<br />

保 留 中 または 処 理 中 のトランザクション・ロールバックが 検 出 された 場 合 に 表 示 されます。 詳 細 は、この 節<br />

の "Manage^JRNROLL を 使 用 したトランザクション・ロールバックの 管 理 " を 参 照 してください。<br />

特 定 のルーチンを 開 始 するには、 該 当 するメニューのオプション 番 号 を 入 力 します。ユーティリティを 終 了 するには、オ<br />

プションの 番 号 を 入 力 せずに Enter キーを 押 します。 以 下 のサブセクションでは、^JOURNAL ユーティリティで 使 用 可 能<br />

なオプションについて 説 明 します。<br />

• ^JRNSTART を 使 用 したジャーナリングの 開 始<br />

• ^JRNSTOP を 使 用 したジャーナリングの 停 止<br />

• ^JRNSWTCH を 使 用 したジャーナル・ファイルの 切 り 替 え<br />

• ^JRNRESTO を 使 用 したジャーナル・ファイルからのグローバルのリストア<br />

• ^JRNDUMP を 使 用 したジャーナル・レコードの 表 示<br />

• PURGE^JOURNAL を 使 用 したジャーナル・ファイルの 削 除<br />

• ^JRNOPTS を 使 用 したジャーナル 設 定 の 更 新<br />

• ENCRYPT^JOURNAL を 使 用 したジャーナルの 暗 号 化<br />

• CLUMENU^JRNRESTO を 使 用 したクラスタ・ジャーナルのリストア<br />

• Manage^JRNROLL を 使 用 したトランザクション・ロールバックの 管 理<br />

• MirrorCatchup^JRNRESTO を 使 用 したミラーリングされるデータベースへのジャーナルのリストア<br />

3.4.1.1 ^JRNSTART を 使 用 したジャーナリングの 開 始<br />

ジャーナリングを 開 始 するには、 以 下 の 例 に 示 すように、^JRNSTART を 実 行 するか、または^JOURNAL メニューの<br />

・プロンプトで「1」を 入 力 します。<br />

^JRNSTART を 直 接 実 行 する 例<br />

60 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

%SYS>Do ^JRNSTART<br />

^JOURNAL メニューからジャーナリングを 開 始 する 例<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL)<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) -not available-<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option 1<br />

このオプションを 選 択 したときにジャーナリングを 実 行 している 場 合 、 以 下 のようなメッセージが 表 示 されます。<br />

Option 1<br />

Already journaling to C:\MyCache\mgr\journal\20111113.001<br />

3.4.1.2 ^JRNSTOP を 使 用 したジャーナリングの 停 止<br />

ジャーナリングを 停 止 するには、 以 下 の 例 に 示 すように、^JRNSTOP を 実 行 するか、または^JOURNAL メニューの<br />

・プロンプトで「2」を 入 力 します。<br />

注 釈 [エラー 発 生 時 に 凍 結 する] フラグ (この 章 の "ジャーナルの 設 定 の 構 成 " を 参 照 ) を [はい] に 設 定 した 場 合 、<br />

^JRNSTOP を 使 用 してジャーナリングを 停 止 することはできません。この 場 合 はフラグを [いいえ] に 動 的 に 変<br />

更 して、^JRNSTOP を 実 行 します。<br />

^JRNSTOP を 直 接 実 行 する 例<br />

%SYS>Do ^JRNSTOP<br />

Stop journaling now No => Yes<br />

^JOURNAL メニューからジャーナリングを 停 止 する 例<br />

%SYS>Do ^JOURNAL<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL)<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) -not available-<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option 2<br />

Stop journaling now No => Yes<br />

このオプションを 選 択 したときにジャーナリングを 実 行 していない 場 合 、 以 下 のようなメッセージが 表 示 されます。<br />

Option 2<br />

Not journaling now.<br />

3.4.1.3 ^JRNSWTCH を 使 用 したジャーナル・ファイルの 切 り 替 え<br />

ジャーナル・ファイルを 切 り 替 えるには、^JRNSWTCH を 実 行 するか、または 以 下 の 例 に 示 すように、^JOURNAL メニュー<br />

の プロンプトで「3」を 入 力 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 61


ジャーナリング<br />

%SYS>Do ^JOURNAL<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL)<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) -not available-<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option 3<br />

Switching from: C:\MyCache\mgr\journal\20111113.002<br />

To:<br />

C:\MyCache\mgr\journal\20111113.003<br />

このユーティリティでは、 新 旧 のジャーナル・ファイル 名 が 表 示 されます。<br />

3.4.1.4 ^JRNRESTO を 使 用 したジャーナル・ファイルからのグローバルのリストア<br />

ジャーナルのリストア 時 には、データベースの 現 在 の 設 定 が 考 慮 されます。<strong>Caché</strong> では、ジャーナル・レコードを 書 き 込<br />

むときに、データベースのジャーナル 状 態 に 関 しては 何 もジャーナルに 保 存 しません。リストアの 時 点 でのデータベース<br />

の 状 態 によって、 実 行 するアクションが 決 まります。つまり、ジャーナル 状 態 が Yes のデータベースに 対 する 変 更 は 永 続<br />

的 ですが、それ 以 外 のデータベースの 場 合 は 変 更 は 永 続 的 ではありません。<strong>Caché</strong> では、 物 理 的 な 整 合 性 は 保 証 され<br />

ますが、トランザクションに 関 与 するデータベースのジャーナル 状 態 が No の 場 合 は、アプリケーションの 整 合 性 が 必 ず<br />

しも 保 証 されるとは 限 りません。<br />

注 釈<br />

ジャーナリングが 無 効 になっている 状 態 でシステムがデータベースの 更 新 を 継 続 すると、 下 記 のいずれかを 確<br />

実 にしない 限 り、 最 新 の 良 好 なジャーナルを 使 用 して 手 動 でリストアすることはできなくなります。<br />

• 更 新 される 内 容 を 正 確 に 把 握 し、アプリケーションの 要 件 を 満 足 するためにリストアされる 内 容 を 管 理 でき。<br />

• 関 連 するデータベースを 最 後 のバックアップで 置 き 換 えたうえで、ジャーナルを 適 用 すると、ジャーナルが<br />

無 効 な 状 態 で 書 き 込 まれたデータが 喪 失 することを 容 認 する。<br />

ジャーナルのリストア 完 了 後 に 下 記 のコマンドを 実 行 し、オブジェクト ID が 同 期 していることの 確 認 をお 勧 めし<br />

ます。 同 期 していないことが 判 明 した ID のみが 配 列 errors にレポートされます。<br />

Do CheckIDCounters^%apiOBJ(.errors)<br />

zwrite errors<br />

<strong>Caché</strong> の ^JRNRESTO ルーチンでリストアされるデータベースは、ジャーナルをリストアする 時 点 でジャーナル 状 態 が<br />

Yes になっているもののみです。データベースのジャーナル 状 態 は、そのデータベースに 初 めてアクセスし、そのジャー<br />

ナル 状 態 が 記 録 されたときに 確 認 されます。リストアのプロセスでは、ジャーナル 状 態 が No であるデータベースのジャー<br />

ナル・レコードは 無 視 されます。<br />

ジャーナル 記 録 対 象 として 指 定 されているデータベースが 存 在 しない 場 合 は、リストアを 終 了 するかどうかを 尋 ねるメッ<br />

セージが 表 示 されます。 特 定 のデータベースについてデータベースのジャーナル 状 態 を Yes に 変 更 し、^JRNRESTO<br />

を 再 開 できます。<br />

注 意<br />

プロンプトに 応 じてジャーナル・リストア・スクリプトを 使 用 する 場 合 には、 最 新 のリリース 以 降 に 変 更 され<br />

ているプロンプトが 存 在 する 可 能 性 があるため、スクリプトを 更 新 する 必 要 があります。<br />

ジャーナル・ファイルをリストアする 手 順 は 以 下 のとおりです。<br />

1. システム 管 理 者 のネームスペースからこのルーチンを 実 行 します。<br />

%SYS>Do ^JRNRESTO<br />

This utility uses the contents of journal files<br />

to bring globals up to date from a backup.<br />

Restore the Journal Yes =><br />

62 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

2. Enter キーを 押 して、ジャーナルをリストアすることを 確 認 します。<br />

注 釈<br />

ミラー・メンバでこのルーチンを 実 行 している 場 合 は、 次 に 以 下 のプロンプトが 表 示 されます。<br />

3. ミラーリングされるデータベースにリストアするかどうかを 指 定 します。<br />

Catch-up mirrored databases No => yes<br />

ミラー・ジャーナル・ファイルをミラーリングされるデータベースにリストアする 場 合 は、「yes」と 入 力 します。この 場 合<br />

は、MirrorCatchup^ の ^JRNRESTO へのエントリ・ポイントを 使 用 する 必 要 があるため、 手 順 がリダイレクトされます。<br />

この 節 の "MirrorCatchup^JRNRESTO を 使 用 したミラーリングされるデータベースへのジャーナルのリストア" を 参<br />

照 してください (ミラー・ジャーナル・ファイルをミラーリングされないデータベースにリストアする 場 合 は、「no」と 入 力<br />

して、ここで 説 明 する 手 順 を 引 き 続 き 使 用 します)。<br />

4. 既 にジャーナル・フィルタが 存 在 する 場 合 は、これらのフィルタを 使 用 するかどうかを 指 定 します。<br />

Use current journal filter (ZJRNFILT)<br />

Use journal marker filter (MARKER^ZJRNFILT)<br />

この 章 の "^ZJRNFILT を 使 用 したジャーナル・レコードのフィルタ 処 理 " のサブセクションを 参 照 してください。<br />

5. ジャーナリングされているグローバルをすべてリストアするかどうかを 指 定 します。<br />

Process all journaled globals in all directories<br />

• すべてのデータベースにすべてのグローバル 変 更 を 適 用 する 場 合 は、プロンプトで「Yes」と 入 力 します。<br />

• 選 択 したディレクトリのみにグローバル 変 更 を 適 用 する 場 合 は、「No」と 入 力 します。その 後 、リストア 対 象 のディ<br />

レクトリと、 選 択 したデータベースにすべてのグローバル 変 更 を 適 用 するかどうかを 選 択 します。すべてのグロー<br />

バルは 処 理 しない 場 合 は、Global ^ プロンプトで、リストアする 特 定 のグローバルを 入 力 します。 以 下 はその<br />

例 です。<br />

Process all journaled globals in all directories no<br />

Are journal files imported from a different operating system No => No<br />

Directory to restore [ for help]: user c:\intersystems\cache\mgr\user\<br />

Redirect to Directory: c:\intersystems\cache\mgr\user\<br />

=> --> c:\intersystems\cache\mgr\user\<br />

Process all globals in c:\intersystems\cache\mgr\user\ No => yes<br />

Directory to restore [ for help]:<br />

Processing globals from the following datasets:<br />

1. c:\intersystems\cache\mgr\user\ All Globals<br />

Specifications correct Yes => Yes<br />

注 釈<br />

ミラー・ジャーナル・ファイルをミラーリングされないデータベースにリストアする 場 合 は、Directory<br />

to restore プロンプトで (ディレクトリ・パスの 代 わりに) リストアするミラー・データベースの 正 式 な 名<br />

前 を 大 文 字 と 小 文 字 を 区 別 して 指 定 します。 例 えば、:mirror:JLAP:MIRRORDB とします。ミラー・<br />

データベースの 正 式 な 名 前 を 見 つけるには、^MIRROR ユーティリティの [Mirror Status] メニューにあ<br />

る [List mirrored databases] オプションを 使 用 します (ミラー・ジャーナル・ファイルをミラーリングされる<br />

データベースにリストアする 場 合 は、"MirrorCatchup^JRNRESTO を 使 用 したミラーリングされるデータ<br />

ベースへのジャーナルのリストア" を 参 照 してください)。<br />

続 いて Redirect to Directory: プロンプトで、ミラー・ジャーナル・ファイルのリストア 先 とするミ<br />

ラーリングされないデータベースのデータベース・ディレクトリのパスを 指 定 します。<br />

6. リストア 対 象 のデータベースが 存 在 する <strong>Caché</strong> インスタンスでジャーナル・ファイルが 作 成 されるかどうかを 指 定 しま<br />

す。<br />

Are journal files created by this Cache instance and located in their original<br />

paths (Uses journal.log to locate journals)<br />

<strong>Caché</strong> データ 整 合 性 ガイド 63


ジャーナリング<br />

• 処 理 対 象 のジャーナル・ファイルを 選 択 する 際 に、 現 在 の <strong>Caché</strong> インスタンスのジャーナル 履 歴 ログ ( 詳 細 は、<br />

この 章 の "ジャーナル 履 歴 ログ" のセクションを 参 照 ) を 使 用 する 場 合 は、プロンプトで「Yes」と 入 力 します。<br />

Specify range of files to process<br />

次 の 手 順 に 進 みます。<br />

• 処 理 対 象 のジャーナル・ファイルを 選 択 する 際 に、 現 在 の <strong>Caché</strong> インスタンス 以 外 のインスタンスのジャーナル<br />

履 歴 ログを 使 用 する 場 合 は、「No」と 入 力 します。<br />

重 要<br />

別 の <strong>Caché</strong> インスタンスのジャーナル 履 歴 ログを 使 用 する 場 合 は、 必 ずコピーしたものを 使 用<br />

してください。<br />

以 下 はその 例 です。<br />

Are journal files created by this Cache instance and located in their original<br />

paths (Uses journal.log to locate journals) no<br />

If you have a copy of the journal history log file from the Cache<br />

instance where the journal files were created, enter its full path below;<br />

otherwise, press ENTER and continue.<br />

Journal history log: C:\InterSystems\journal.log<br />

ジャーナル・ファイルの 場 所 を 指 定 します。<br />

Specify the location of the journal files to be processed<br />

Directory of the journal files: c:\intersystems\cache2\mgr\journal\<br />

Directory of the journal files:<br />

Specify range of files to process<br />

次 の 手 順 に 進 みます。<br />

注 釈<br />

ジャーナル 履 歴 ログを 指 定 しない 場 合 は、 処 理 対 象 とする 特 定 のジャーナル・ファイルの 入 力 が 求 め<br />

られ、 処 理 が 続 行 されます。 手 順 6 は 省 略 されます。 以 下 はその 例 です。<br />

Journal history log:<br />

Specify range of files to process (names in YYYYMMDD.NNN format)<br />

from: [] =><br />

through: [] =><br />

Prompt for name of the next file to process No => No<br />

Provide or confirm the following configuration settings:<br />

Journal File Prefix: [] =><br />

Files to dejournal will be looked for in:<br />

c:\intersystems\cache\mgr\journal\<br />

in addition to any directories you are going to specify below, UNLESS<br />

you enter a minus sign ('-' without quotes) at the prompt below,<br />

in which case ONLY directories given subsequently will be searched<br />

Directory to search: <br />

. . .<br />

7. 処 理 対 象 とするジャーナル・ファイルの 範 囲 を 指 定 します。<br />

注 釈<br />

<strong>Caché</strong> オンライン・バックアップでバックアップすると、リストア 時 のトランザクション・ロールバックに 必 要 な 最<br />

も 古 いジャーナル・ファイルに 関 する 情 報 が 3 番 目 または 最 後 のパスの 開 始 時 に 表 示 され、バックアップ・<br />

ログにも 格 納 されます。 詳 細 は、このドキュメントの “バックアップとリストア” の 章 を 参 照 してください。<br />

処 理 対 象 の 最 初 のジャーナル・ファイルの 名 前 を 入 力 するか、または「」と 入 力 して、 指 定 した 場 所 にあるファイル<br />

の 番 号 付 けされたリストを 確 認 できます。 例 えば、「」と 入 力 したとすると、 以 下 のプロンプトが 表 示 されたら、 最 初 の<br />

ファイルの 番 号 を 入 力 します。<br />

64 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

First file to process: <br />

1) c:\intersystems\cache2\mgr\journal\20110212.001<br />

2) c:\intersystems\cache2\mgr\journal\20110216.001<br />

3) c:\intersystems\cache2\mgr\journal\20110217.001<br />

First file to process: 1 c:\intersystems\cache2\mgr\journal\20110212.001<br />

Final file to process:<br />

c:\intersystems\cache2\mgr\journal\20110217.001 =><br />

Prompt for name of the next file to process No => No<br />

8. 以 下 のようにジャーナル・ファイルを 処 理 します。<br />

The following actions will be performed if you answer YES below:<br />

* Listing journal files in the order they will be processed<br />

* Checking for any missing journal file on the list ("a broken chain")<br />

The basic assumption is that the files to be processed are all<br />

currently accessible. If that is not the case, e.g., if you plan to<br />

load journal files from tapes on demand, you should answer NO below.<br />

Check for missing journal files Yes => Yes<br />

. . .<br />

9. 1 つまたは 複 数 のジャーナル・ファイルが 見 つからない 場 合 は、 操 作 の 中 止 を 選 択 できます。 操 作 を 中 止 しなかっ<br />

た 場 合 、またはファイルがすべて 見 つかった 場 合 は、 処 理 が 続 行 され、リストアを 開 始 する 前 にジャーナルの 整 合 性<br />

をチェックする 機 会 が 得 られます。<br />

Journal files in the order they will be processed:<br />

1. c:\intersystems\cache2\mgr\journal\20110212.001<br />

2. c:\intersystems\cache2\mgr\journal\20110216.001<br />

3. c:\intersystems\cache2\mgr\journal\20110217.001<br />

While the actual journal restore will detect a journal integrity problem<br />

when running into it, you have the option to check the integrity now<br />

before performing the journal restore. The integrity checker works by<br />

scanning journal files, which may take a while depending on file sizes.<br />

Check journal integrity No => No<br />

10. 現 在 のジャーナル・ファイルがリストアに 含 まれている 場 合 は、ジャーナリングを 別 のファイルに 切 り 替 える 必 要 があ<br />

り、そのためのプロンプトが 表 示 されます。<br />

The journal restore includes the current journal file.<br />

You cannot do that unless you stop journaling or switch<br />

journaling to another file.<br />

Do you want to switch journaling Yes => yes<br />

Journaling switched to c:\intersystems\cache2\mgr\journal\20110217.002<br />

11. 更 新 のジャーナリングを 無 効 にするかどうか、またはリストア・ジョブの 既 定 のオプションを 変 更 するかどうかを 選 択 し<br />

た 後 、リストアを 開 始 することを 確 認 します。<br />

You may disable journaling of updates for faster restore for all<br />

databases other than mirrored databases. You may not want to do this<br />

if a database to restore is being shadowed as the shadow will not<br />

receive the updates.<br />

Do you want to disable journaling the updates Yes => yes<br />

Updates will NOT be journaled<br />

Before we job off restore daemons, you may tailor the behavior of a<br />

restore daemon in certain events by choosing from the options below:<br />

DEFAULT: Continue despite database-related problems (e.g., a target<br />

database is not journaled, cannot be mounted, etc.), skipping affected<br />

updates<br />

ALTERNATE: Abort if an update would have to be skipped due to a<br />

database-related problem (e.g., a target database is not journaled,<br />

cannot be mounted, etc.)<br />

DEFAULT: Abort if an update would have to be skipped due to a<br />

journal-related problem (e.g., journal corruption, some cases of missing<br />

journal files, etc.)<br />

ALTERNATE: Continue despite journal-related problems (e.g., journal<br />

corruption, some missing journal files, etc.), skipping affected updates<br />

<strong>Caché</strong> データ 整 合 性 ガイド 65


ジャーナリング<br />

Would you like to change the default actions No => No<br />

Start the restore Yes =><br />

複 数 のジャーナル・ファイルからのリストア<br />

リストアされたバックアップ 以 後 に Cache が 複 数 のジャーナル・ファイルに 切 り 替 えた 場 合 、 最 も 古 いジャーナル・ファイ<br />

ルから 順 番 に、 最 新 のものまでをリストアする 必 要 があります。<br />

例 えば、リストアする 必 要 がある 3 つのジャーナル・ファイル 20110325.001、20110325.002、20110326.001 がある 場 合 、<br />

以 下 の 順 番 でリストアする 必 要 があります。<br />

1. 20110325.001<br />

2. 20110325.002<br />

3. 20110326.001<br />

不 完 全 トランザクションのロールバック<br />

ジャーナルをリストアすると、 不 完 全 なトランザクションのロールバックも 実 行 されます。ユーザがすべてのトランザクション<br />

を 完 了 したことを 確 認 し、リストアにより、 実 行 中 の 処 理 がロールバックされないようにする 必 要 があります。<br />

バックアップをリストアし、ジャーナル・ファイルを 消 去 する 前 に、すべてのトランザクションが 完 了 しているようにする 方 法<br />

として、インターシステムズは 以 下 の 方 法 を 強 く 推 奨 します。<br />

• 自 分 自 身 が 使 用 しているプロセスのトランザクションをロールバックする 必 要 がある 場 合 は、そのプロセスを 中 断 す<br />

るか、TROLLBACK コマンドを 使 用 します。<br />

• システム 全 体 でトランザクションをロールバックする 必 要 がある 場 合 、<strong>Caché</strong> をシャットダウンした 後 に 再 起 動 して、シ<br />

ステムに 接 続 しているユーザが 存 在 しないようにします。<br />

ミラー・ジャーナル・ファイルのリストア<br />

ミラーリングされるデータベースまたはミラーリングされないデータベースのどちらにも、ミラー・ジャーナル・ファイルをリス<br />

トアできます。ミラーリングされるデータベースにリストアする 場 合 は、"^JRNRESTO を 使 用 したジャーナル・ファイルから<br />

のグローバルのリストア" の 手 順 3、および "MirrorCatchup^JRNRESTO を 使 用 したミラーリングされるデータベースへの<br />

ジャーナルのリストア" の 節 を 参 照 してください。ミラーリングされないデータベースにリストアする 場 合 は、"^JRNRESTO<br />

を 使 用 したジャーナル・ファイルからのグローバルのリストア" の 手 順 5 のメモを 参 照 してください。<br />

^ZJRNFILT を 使 用 したジャーナル・レコードのフィルタ 処 理<br />

ジャーナル・ファイルの 操 作 のためにジャーナル・フィルタ・メカニズムが 用 意 されています。ジャーナル・フィルタ・プログ<br />

ラムは、^ZJRNFILT と 呼 ばれ、ユーザが 記 述 する 下 記 の 形 式 のルーチンです。これは、<strong>Caché</strong> のジャーナル・リストア・<br />

プログラム ^JRNRESTO から 呼 び 出 され、 選 択 したレコードのみをリストアします。^ZJRNFILT ルーチンは、 次 の 形 式 を<br />

使 用 して 生 成 します。<br />

ZJRNFILT(jid,dir,glo,type,restmode,addr,time)<br />

引 数<br />

jid<br />

dir<br />

glo<br />

type<br />

restmode<br />

タイプ<br />

入 力<br />

入 力<br />

入 力<br />

入 力<br />

出 力<br />

説 明<br />

ジャーナルを 生 成 した PID の 識 別 に 使 用 できるジョブ ID<br />

リストアする CACHE.DAT ファイルが 格 納 されたディレクトリのフルパス 名 。ジャー<br />

ナル・レコードでの 指 定 と 同 じにする 必 要 があります。<br />

ジャーナル・レコードのグローバル<br />

ジャーナル・レコードのコマンド・タイプ (Set の 場 合 は S、Kill の 場 合 は K)<br />

0 - レコードをリストアしません。<br />

1 - レコードをリストアします。<br />

66 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

引 数<br />

addr<br />

time<br />

タイプ<br />

出 力<br />

出 力<br />

説 明<br />

ジャーナル・レコードのアドレス<br />

レコードのタイム・スタンプ。これは、ジャーナル・バッファの 作 成 時 刻 であり、Set<br />

処 理 や Kill 処 理 が 実 行 された 時 刻 ではありません。つまり、この 特 定 の 処 理 が 最<br />

も 早 く 実 行 された 時 刻 を 示 しています。<br />

^ZJRNFILT の 考 慮 事 項<br />

^ZJRNFILT を 使 用 するときは、 以 下 の 点 を 考 慮 してください。<br />

• スタートアップ・ルーチン (^STU) で ^JRNRESTO を 呼 び 出 す 場 合 は、どのような 状 況 でもフィルタ・ルーチンを 呼 び<br />

出 すことはありません。<br />

• ジャーナルのリストアでジャーナル・フィルタ (^ZJRNFILT) が 呼 び 出 されるのは、それが 存 在 する 場 合 のみです。<br />

ジャーナル・フィルタが 存 在 する 場 合 は、リストア 処 理 でそのフィルタを 使 用 するかどうかを 指 定 するようにリストア 手<br />

順 で 求 められます。<br />

• リストアするジャーナル・ファイルのすべてのレコードに 対 してジャーナル・フィルタを 使 用 することを 指 定 すると、ここ<br />

に 示 した 入 力 引 数 を 使 用 してジャーナル・フィルタ ^ZJRNFILT が 呼 び 出 されるので、 現 在 のレコードをリストアする<br />

かどうかを 指 定 します。<br />

• ^ZJRNFILT ルーチンでは、あらゆるロジックを 使 用 して、レコードをリストアするかどうかを 指 定 できます。 出 力 引 数<br />

restmode を 使 用 して 操 作 の 確 認 が 返 されます。<br />

• ^ZJRNFILT ルーチンのロジックでディレクトリ 名 dir を 使 用 する 場 合 は、 完 全 ディレクトリ・パス 名 で 指 定 します。<br />

• グローバル 参 照 全 体 が、プログラムのロジックで 使 用 するために ^ZJRNFILT に 渡 されます。<br />

• ジャーナルのリストア 処 理 が 完 了 すると、^ZJRNFILT ルーチンの 名 前 を 変 更 するか、そのルーチンを 削 除 するかの<br />

確 認 を 求 められます。フィルタの 名 前 変 更 を 選 択 すると、フィルタの 名 前 は ^XJRNFILT に 変 更 され、 元 の ^ZJRNFILT<br />

は 削 除 されます。<br />

• ^ZJRNFILT ルーチンにエラーが 発 生 すると、リストア 処 理 が 中 止 され、 対 応 するメッセージが 表 示 されます。<br />

^ZJRNFILT の 例<br />

2 つのグローバル、^ABC および ^XYZ がジャーナリングの 対 象 となっています。ジャーナリングが 有 効 になっている 間 、<br />

以 下 のコードが 実 行 され、ジャーナル・ファイルには、この 2 つのグローバルに 対 する Set 処 理 および Kill 処 理 が 記 録<br />

されます。<br />

For I=1:1:500 Set ^ABC(I)=""<br />

For I=1:1:500 Set ^XYZ(I)=""<br />

For I=1:1:100 Kill ^ABC(I)<br />

1. ^ABC のみのレコードをすべてリストアする 場 合 、^ZJRNFILT ルーチンは 以 下 のようになります。<br />

ZJRNFILT(jid,dir,glo,type,restmode,addr,time)<br />

Set restmode=1<br />

If glo["XYZ" Set restmode=0<br />

Quit<br />

;<br />

/*Filter*/<br />

/*Return 1 for restore*/<br />

/*except when it is ^XYZ*/<br />

2. ^ABC に 対 する kill 処 理 以 外 のレコードをすべてリストアする 場 合 、^ZJRNFILT ルーチンは 以 下 のようになります。<br />

ZJRNFILT(jid,dir,glo,type,restmode,addr,time)<br />

Set restmode=1<br />

If glo["^ABC",type="K" Set restmode=0<br />

Quit<br />

;<br />

/*Filter*/<br />

/*Return 1 for restore*/<br />

/*except if a kill on ^ABC*/<br />

3. jid が PID やミラー・メンバに 対 するものである 場 合 のように、remsysid が 実 際 の ECP システム ID ではないこともあ<br />

ります。そのような 場 合 は、%SYS.Journal.Record.GetRealPIDSYSinFilter メソッドを 使 用 して、 実 際 の PID と 同 時 に<br />

実 際 の ECP システム ID も 返 されるようにします。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 67


ジャーナリング<br />

実 際 の PID (および ECP システム PID) をフィルタで 得 るには、 次 のような ^ZJRNFILT ルーチンを 使 用 します。<br />

ZJRNFILT(jidsys,dir,glo,type,restmode,addr,time) ;<br />

s restmode=0 ;test only<br />

s pid=##class(%SYS.Journal.Record).GetRealPIDSYSinFilter(jidsys,.ecpsysid)<br />

d $zu(9,"",$s(pid="":"jid="_+jidsys,1:"pid="_pid)_",ecpsysid="_ecpsysid)<br />

q<br />

注 釈<br />

^ZJRNFILT の 引 数 jidsys には、jid と remsysid がコンマ 区 切 りで 格 納 されています。<br />

3.4.1.5 ^JRNDUMP を 使 用 したジャーナル・レコードの 表 示<br />

ジャーナル・ファイルのレコードを 表 示 するには、^JOURNAL メニューの<br />

以 下 の 例 に 示 すように、^JRNDUMP を 実 行 します。<br />

・プロンプトで「5」を 入 力 するか、または<br />

1. システム 管 理 者 のネームスペースから ^JRNDUMP ユーティリティを 実 行 するには、 次 のように 入 力 します。<br />

%SYS>DO ^JRNDUMP<br />

Journal<br />

Directory & prefix<br />

20111113.001 C:\MyCache\Mgr\Journal\<br />

20111113.002 [JRNSTART] C:\MyCache\mgr\journal\<br />

20111113.003 C:\MyCache\mgr\journal\<br />

20111113.004 C:\MyCache\mgr\journal\<br />

20111114.001 C:\MyCache\mgr\journal\<br />

20111115.001 C:\MyCache\mgr\journal\<br />

20111115.002 C:\MyCache\mgr\journal\<br />

20111115.003 C:\MyCache\mgr\journal\<br />

> 20111115.004 C:\MyCache\mgr\journal\<br />

2. このルーチンは、ジャーナル・ファイルのリストを 表 示 します。 現 在 選 択 しているファイルの 左 側 に 大 なり 記 号 (>) が<br />

表 示 され、その 後 に 以 下 のプロンプトが 表 示 されます。<br />

Pg(D)n,Pg(U)p,(N)ext,(P)rev,(G)oto,(E)xamine,(Q)uit =><br />

これらのオプションを 使 用 して、 目 的 のジャーナル・ファイルに 移 動 します。<br />

• ジャーナル・ファイル・リストの 表 示 ページを 変 更 するには、「D」または「U」を 入 力 します。<br />

• 必 要 なジャーナル・ファイルに > を 移 動 するには、「N」または「P」を 入 力 します。<br />

• 表 示 するジャーナル・ファイルのフル・パス 名 を 直 接 入 力 するには、「G」を 入 力 します。<br />

• 選 択 したジャーナル・ファイルの 内 容 を 表 示 するには、「E」を 入 力 します。<br />

• ルーチンを 終 了 するには、「Q」を 入 力 するか、Enter キーを 押 します。<br />

3. 「G」または「E」を 入 力 すると、ユーティリティにはそのジャーナル・ファイル 名 が 表 示 され、オフセット・アドレス 別 にファ<br />

イルの 内 容 のリスト 生 成 が 開 始 されます。 以 下 に 例 を 示 します。<br />

Journal: C:\MyCache\mgr\journal\20110330.002<br />

Address Proc ID Op Directory Global & Value<br />

===============================================================================<br />

131088 2980 S C:\MyCache\mgr\ SYS("shdwcli","doctest","remend") = 1+<br />

131156 2980 S C:\MyCache\mgr\ SYS("shdwcli","doctest","end") = 1013+<br />

131220 2980 S C:\MyCache\mgr\ SYS("shdwcli","doctest","jrnend") = 1+<br />

.<br />

.<br />

.<br />

4. 現 在 のリスト 表 示 ページの 下 部 には、そのジャーナル・ファイルに 関 する 情 報 と 以 下 のプロンプトが 表 示 されます。<br />

Last record: 573004; Max size: 1073741824<br />

(N)ext,(P)rev,(G)oto,(F)ind,(E)xamine,(Q)uit =><br />

これらのオプションを 使 用 して、 表 示 するジャーナル・レコードに 移 動 します。<br />

68 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

• アドレスの 次 のページまたは 前 のページを 表 示 するには、「N」または「P」を 入 力 します。<br />

• 特 定 のアドレスに 表 示 を 移 動 するには、「G」を 入 力 します。<br />

• ジャーナル・ファイル 内 の 特 定 の 文 字 列 を 検 索 するには、「F」を 入 力 します。<br />

• ジャーナル・レコードのアドレスを 入 力 してその 内 容 を 表 示 するには、「E」を 入 力 します。<br />

• ジャーナル・ファイルのリストに 戻 るには、「Q」を 入 力 するか、Enter キーを 押 します。<br />

5. 「E」または「G」を 入 力 した 後 、プロンプトでアドレスを 入 力 します。E オプションでは、 入 力 したアドレスのジャーナル・<br />

レコードの 内 容 、またはそのアドレス 周 辺 のジャーナル・レコードの 内 容 が 表 示 されます。G オプションでは、そのア<br />

ドレスを 先 頭 とするジャーナル・レコードのページが 表 示 されます。<br />

いずれのオプションでも、 指 定 したオフセット・アドレスに 最 も 近 いレコードが 探 し 出 されます。ジャーナル・レコード<br />

の 有 効 なアドレスを 指 定 する 必 要 はありません。また、ジャーナル・ファイルの 先 頭 に 移 動 するには、「0」(ゼロ) を 入<br />

力 するか、Enter キーを 押 します。ジャーナル・ファイルの 末 尾 に 移 動 するには、「-1」を 入 力 します。<br />

6. 「N」を 入 力 すると、 次 のページにあるジャーナル・レコードの 内 容 が 表 示 され、「P」を 入 力 すると、 前 のページにある<br />

ジャーナル・レコードの 内 容 が 表 示 されます。レコードの 表 示 を 終 了 するには、プロンプトで「Q」を 入 力 し、ジャーナ<br />

ル・レコードのリストに 戻 ります。<br />

ジャーナル・レコードには、さまざまな 種 類 があります。<br />

• ジャーナル・ヘッダの 長 さは 8192 バイトですヘッダは、 各 ジャーナル・ファイルの 先 頭 に 一 度 出 現 します。^JRNDUMP<br />

ユーティリティは、ジャーナル・ヘッダ・レコードを 表 示 しません。<br />

• ジャーナル・データ・レコード。<br />

• ジャーナル・マーカ<br />

以 下 は、^JRNDUMP で 表 示 されるジャーナル・ファイル・データ・レコードのサンプルです。 例 では、Set コマンドの 記 録<br />

方 法 を 示 しています。Set がトランザクションの 範 囲 外 に 発 生 したため、 新 しい 値 は 記 録 されますが、 古 い 値 は 記 録 され<br />

ません。<br />

Journal: C:\MyCache\mgr\journal\20110119.004<br />

Address: 233028<br />

Type:<br />

Set<br />

In transaction:<br />

No<br />

Process ID: 4836<br />

Remote system ID: 0<br />

Time stamp: 60284,53240<br />

Collation sequence: 5<br />

Prev address: 232984<br />

Next address: 0<br />

Global: ^["^^C:\MyCache\mgr\"]ABC<br />

New Value: 2<br />

(N)ext,(P)rev,(Q)uit =><br />

トランザクションで 古 い 値 も 記 録 し、 以 下 の 2 番 目 の 例 に 示 すように、トランザクション・ロールバックを 許 可 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 69


ジャーナリング<br />

Journal: C:\MyCache\mgr\journal\20111115.004<br />

Address: 204292<br />

Type:<br />

Set<br />

In transaction:<br />

Yes<br />

Process ID: 458772<br />

Remote system ID: 0<br />

Time stamp: 60584,52579 - 11/15/2011 14:36:19<br />

Collation sequence: 5<br />

Prev address: 204224<br />

Next address: 204372<br />

Global: ^["^^C:\MyCache\mgr\"]ABC<br />

New Value: 5<br />

Old Value: 2<br />

(N)ext,(P)rev,(Q)uit =><br />

以 下 は、インクリメンタル・バックアップにより 作 成 されたジャーナル・マーカ・レコードの 例 です。<br />

Journal: C:\MyCache\mgr\journal\20111115.004<br />

Address: 210848<br />

Type:<br />

JrnMark<br />

Marker ID: -1<br />

Marker text:<br />

NOV 15 2011;03:14PM;Incremental<br />

Marker seq number: 1<br />

Prev marker address: 0<br />

Time stamp: 60584,52579 - 11/15/2011 14:36:19<br />

Prev address: 210744<br />

Next address: 210940<br />

(N)ext,(P)rev,(Q)uit =><br />

以 下 のテーブルは、ジャーナル・データ・レコードのそれぞれのフィールドです。<br />

テーブル 3–1: ^JRNDUMP で 表 示 されるジャーナル・データ・レコード・フィールド<br />

フィールド<br />

Address<br />

Type<br />

In transaction<br />

Process ID<br />

Remote system ID<br />

Time stamp<br />

Collation sequence<br />

Prev address<br />

Next address<br />

Cluster sequence #<br />

Global<br />

New Value<br />

説 明<br />

ファイルの 最 初 から 数 えたバイト 数 によるレコード 位 置 。レコードを 選 択 するために 値<br />

を 入 力 する 唯 一 のフィールドです。<br />

ジャーナル・レコード・エントリに 記 録 される 処 理 のタイプ。 利 用 可 能 なタイプの 詳 細<br />

は、"ジャーナル・ファイルの 処 理 " のテーブルを 参 照 してください。<br />

更 新 がトランザクション 中 に 発 生 するかどうかを 示 します。<br />

コマンドを 発 行 するプロセスのプロセス ID 番 号 。<br />

リモート・システムの ID 番 号 (ローカル・プロセスの 場 合 は 0)。<br />

人 間 が 読 める $HOROLOG 形 式 での、ジャーナル・バッファの 作 成 時 刻 。これは、Set<br />

処 理 や Kill 処 理 が 実 行 された 時 刻 ではありません。つまり、この 特 定 の 処 理 が 最 も<br />

早 く 実 行 された 時 刻 を 示 しています。<br />

更 新 されるグローバルの 照 合 順 序 。<br />

以 前 のレコードの 位 置 (0 は、 現 在 のレコードが 最 初 のレコードであることを 示 します)。<br />

次 のレコードの 位 置 (0 は、 現 在 のレコードが 最 後 のレコードであることを 示 します)。<br />

クラスタ・マウント・データベースのグローバルの 順 序 。クラスタ・フェイルオーバー 中 、<br />

別 のノードからのジャーナル・エントリは、このクラスタ 順 どおりに 更 新 されます。<br />

更 新 されるグローバルの 拡 張 参 照 。<br />

Set 処 理 についてグローバルに 割 り 当 てられた 値 。<br />

70 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

フィールド<br />

Old Value<br />

説 明<br />

トランザクションの Set 処 理 または Kill 処 理 について、その 処 理 が 実 行 される 前 にグ<br />

ローバルに 存 在 した 値 。<br />

以 下 のテーブルでは、ジャーナル・ファイルの 表 示 の [Op] 列 およびジャーナル・レコードの[Type] フィールドに 表 示 さ<br />

れるジャーナル 処 理 のリストを 示 し、 説 明 します。 例 えば、ジャーナル・ファイルの 表 示 の 前 述 の 例 では、[Op] 列 の [S]<br />

が Set 処 理 を 表 すのに 対 し、ジャーナル・レコードの 表 示 の 例 では、[Type] フィールドに 表 示 される [Set] が set 処 理 を<br />

表 します。このテーブルでは、SELECT^JRNDUMP 関 数 の 使 用 時 に、 処 理 に 基 づいてジャーナル・レコードをフィルタ 処<br />

理 するために 指 定 できるコードも 示 します。<br />

テーブル 3–2: ジャーナル・ファイルの 処 理<br />

処 理<br />

説 明<br />

ファイ<br />

ル・リス<br />

ト 内 の<br />

[Op]<br />

レコード・リスト 内 の<br />

[Type]<br />

数 値 の<br />

SELECT<br />

コード<br />

アルファ<br />

ベットの<br />

SELECT<br />

コード<br />

JRNSET<br />

ノードを 設 定 、ローカル<br />

S 1<br />

Set<br />

6<br />

s<br />

JRNNSET<br />

ノードを 設 定 、リモート<br />

S 1<br />

NSet<br />

10<br />

s<br />

JRNMIRSET<br />

2<br />

内 部 ミラー 処 理<br />

S 1<br />

Mirror Set<br />

19<br />

s<br />

JRNBITSET<br />

ノード 内 の 指 定 されたビッ<br />

ト 位 置 を 設 定<br />

b 1<br />

BitSet<br />

14<br />

bs<br />

JRNKILL<br />

ノードを 削 除 、ローカル<br />

K 1<br />

KillNode<br />

7<br />

k<br />

JRNNKILL<br />

ノードを 削 除 、リモート<br />

K 1<br />

NKill<br />

11<br />

k<br />

JRNKILLDES<br />

下 位 ノードを 削 除<br />

k 1<br />

KillDes<br />

8<br />

k<br />

JRNMIRKILL<br />

2<br />

内 部 ミラー 処 理<br />

k 1<br />

Mirror Kill<br />

20<br />

k<br />

JRNZKILL<br />

従 属 ノードを 削 除 せずに<br />

ノードを 削 除 、ローカル<br />

k 1<br />

ZKill<br />

9<br />

zk<br />

JRNNZKILL<br />

従 属 ノードを 削 除 せずに<br />

ノードを 削 除 、リモート<br />

k 1<br />

NZKill<br />

12<br />

zk<br />

JRNBEGTRANS<br />

トランザクションを 開 始<br />

BT<br />

BeginTrans<br />

4<br />

--<br />

JRNTBEGINLEVEL<br />

トランザクション・レベルを<br />

開 始<br />

BTL<br />

BeginTrans with Level<br />

16<br />

--<br />

JRNCOMMIT<br />

トランザクションをコミット<br />

CT<br />

CommitTrans<br />

5<br />

--<br />

JRNTCOMMITLEVEL<br />

分 離 されたトランザクショ<br />

ン・レベルをコミット<br />

CTL<br />

CommitTrans with Level<br />

18<br />

--<br />

JRNTCOMMIT-<br />

PENDLEVEL<br />

保 留 中 のトランザクション・<br />

レベルをコミット<br />

PTL<br />

CommitTrans Pending<br />

with Level<br />

17<br />

--<br />

<strong>Caché</strong> データ 整 合 性 ガイド 71


ジャーナリング<br />

処 理<br />

説 明<br />

ファイ<br />

ル・リス<br />

ト 内 の<br />

[Op]<br />

レコード・リスト 内 の<br />

[Type]<br />

数 値 の<br />

SELECT<br />

コード<br />

アルファ<br />

ベットの<br />

SELECT<br />

コード<br />

JRNMARK<br />

ジャーナル・マーカ<br />

M<br />

JrnMark<br />

13<br />

--<br />

JRNBIGNET<br />

ECP ネットワーキング<br />

NN<br />

NetReq<br />

15<br />

--<br />

JRNTROLEVEL<br />

トランザクションをロール<br />

バック<br />

RB<br />

Rollback<br />

21<br />

--<br />

1 「T」は、トランザクション 内 で 処 理 が 実 行 されるときに 付 加 されます。 例 えば、「ST」はトランザクション 内 の Set 処 理 を<br />

表 し、「kT」はトランザクション 内 の ZKill 処 理 を 表 します。<br />

2 ジャーナル・リストア 中 は 処 理 が 無 視 されます。<br />

ダンプするジャーナル・レコードの 選 択<br />

SELECT^JRNDUMP 関 数 は、ジャーナル・ファイルの 任 意 のレコードまたはすべてのレコードを 表 示 します。この 関 数 に<br />

渡 した 引 数 に 基 づき、ジャーナル・ファイルの 選 択 したレコードがファイルの 先 頭 から 順 にダンプされます。<br />

^JRNDUMP ユーティリティの SELECT エントリ・ポイントを 使 用 する 構 文 は、 以 下 のようになります。<br />

SELECT^JRNDUMP(%jfile,%pid,%dir,%glo,%gloall,%operation,%remsysid)<br />

引 数<br />

%jfile<br />

%pid<br />

説 明<br />

ジャーナル・ファイル 名 。 既 定 では 現 在 のジャーナル・ファイルです。 完 全 修 飾 パスでジャーナ<br />

ル・ファイルを 指 定 する 必 要 があります。<br />

ジャーナル・レコードのプロセス ID。 既 定 では 任 意 のプロセスです。<br />

注 釈<br />

OpenVMS では、プロセス ID を 大 文 字 で 指 定 する 必 要 があります。<br />

%dir<br />

%glo<br />

%gloall<br />

%operation<br />

%remsysid<br />

ジャーナル・レコードのディレクトリ。 既 定 では 任 意 のディレクトリです。<br />

ジャーナル・レコードのグローバル 参 照 。 既 定 では 任 意 のグローバルです。<br />

glo で 指 定 した 名 前 を 含 むすべてのグローバル・ノードに 関 連 するエントリを 列 挙 するかどうか<br />

を 指 定 するグローバル・インジケータ。0 — glo で 指 定 した 名 前 に 完 全 一 致 するグローバル 参<br />

照 。1 — 部 分 一 致 。glo で 指 定 した 名 前 を 使 用 しているグローバル 参 照 を 持 つすべてのレコー<br />

ド。 既 定 値 は 0 です。<br />

ジャーナル・レコードの 処 理 タイプ。 既 定 では 任 意 の 処 理 です。 前 述 の "ジャーナル・ファイル<br />

の 処 理 " のテーブルにリストされている 数 値 コードまたはアルファベット・コードを 使 用 します。<br />

ジャーナル・レコードのリモート・システム ID。 既 定 では 任 意 のシステムです。 1<br />

1 %pid が 指 定 されている 場 合 、 既 定 では %remsysid はローカル・システム (0) に 設 定 されます。それ 以 外 の 場 合 は、0<br />

に 指 定 されている 場 合 と 同 様 に、 既 定 では 任 意 のシステムに 設 定 されます。つまり、ローカル・システムのみからジャー<br />

ナル・エントリを 選 択 することはできません。<br />

引 数 として NULL 文 字 列 を 渡 すことができます。この 場 合 、ルーチンはそれぞれの 既 定 値 を 使 用 します。<br />

ターミナルのその 他 の 関 数 と 同 様 に、Device: プロンプトを 使 用 して、SELECT^JRNDUMP の 出 力 先 をターミナル 以 外<br />

のデバイス、またはファイルに 指 定 できます (ユーザによるデバイスの 選 択 に 関 する 詳 細 は、"<strong>Caché</strong> 入 出 力 デバイス・ガ<br />

イド" の “ 入 出 力 デバイスとコマンド” の 章 を 参 照 してください)。 出 力 先 をファイルに 指 定 した 場 合 、パラメータの 入 力<br />

72 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

を 求 められます。ファイルに 書 き 込 む 場 合 は、R と W を 含 める 必 要 があります。 既 存 のファイルの 場 合 は、A を 含 めること<br />

で、 既 存 の 内 容 に 出 力 が 上 書 きされるのではなく、 追 加 されます。 新 しいファイルの 場 合 は、N を 指 定 する 必 要 がありま<br />

す。Parameters プロンプトで「」 を 入 力 すると、すべての 利 用 可 能 な 選 択 肢 を 表 示 できます。<br />

注 釈<br />

上 書 き 先 のファイルが 現 在 の 出 力 よりも 長 い 場 合 、 元 のファイルの 余 分 な 行 が 更 新 されたファイルから 削 除 さ<br />

れない 場 合 があります。<br />

SELECT^JRNDUMP の 例<br />

以 下 の 例 では、 特 定 のジャーナル・レコードを 選 択 するためのさまざまな 方 法 を 示 します。<br />

プロセス ID が 1203 のジャーナル・ファイル 内 のすべてのレコードを 選 択 して、JRNDUMP.OUT という 名 前 の 新 しいファ<br />

イルに 出 力 を 送 信 する 場 合 は、 以 下 のようになります。<br />

%SYS>Do SELECT^JRNDUMP("C:\MyCache\mgr\journal\120020507.009","1203")<br />

Device: SYS$LOGIN:JRNDUMP.OUT<br />

Parameters: "RWN"=><br />

グローバル 参 照 ^ABC を 含 むジャーナル・ファイルのすべてのレコードを 選 択 する 場 合 は、 以 下 のようになります。<br />

DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\20050327.001","","","^ABC",1)<br />

グローバル 参 照 ^ABC に 完 全 に 一 致 するレコードのみを 選 択 する 場 合 は、 以 下 のようになります。<br />

DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\20050327.001","","","^ABC",0)<br />

注 釈<br />

^ABC(1) または ^ABC(100) など、 完 全 には 一 致 しないレコードは 選 択 されません。<br />

グローバル ^ABC に 対 するローカルの Set 処 理 のレコードのみを 選 択 する 場 合 は、 以 下 のようになります。<br />

DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\20050327.001","","","^ABC","","6")<br />

グローバル ^ABC に 対 するローカルおよびリモートの Set 処 理 のレコードのみを 選 択 する 場 合 は、 以 下 のようになりま<br />

す。<br />

DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\20050327.001","","","^ABC","","s")<br />

3.4.1.6 PURGE^JOURNAL を 使 用 したジャーナル・ファイルの 削 除<br />

ファイルを 削 除 するには、 以 下 の 例 に 示 すように、PURGE^JOURNAL ルーチンを 使 用 するか、または^JOURNAL メニュー<br />

の Option プロンプトで「6」を 入 力 します。<br />

PURGE^JOURNAL を 直 接 実 行 する 例<br />

zn "%SYS"<br />

%SYS>Do PURGE^JOURNAL<br />

^JOURNAL メニューからジャーナリングを 開 始 する 例<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL)<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) -not available-<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option 6<br />

<strong>Caché</strong> データ 整 合 性 ガイド 73


ジャーナリング<br />

1) Purge any journal NOT required for transaction rollback or crash recovery<br />

2) Purge journals based on existing criteria (2 days or 2 backups)<br />

Option<br />

このルーチンは、 指 定 したオプションに 対 応 して 実 行 されるアクションについて 報 告 します。 以 下 はその 例 です。<br />

Option 1<br />

The following files have been purged (listed from latest to oldest):<br />

3. c:\intersystems\cache\mgr\journal\20110714.001<br />

2. c:\intersystems\cache\mgr\journal\20110713.001<br />

1. c:\intersystems\cache\mgr\journal\20110710.003<br />

削 除 するファイルがない 場 合 、 以 下 のメッセージが 表 示 されます。<br />

None purged<br />

3.4.1.7 ^JRNOPTS を 使 用 したジャーナル 設 定 の 更 新<br />

管 理 ポータルの [ジャーナル 設 定 ] ページを 使 用 する 代 わりに、^JRNOPTS ルーチンを 使 用 するか、^JOURNAL のメ<br />

ニューの Option プロンプトで「7」を 入 力 して 基 本 的 なジャーナル 構 成 設 定 を 更 新 できます。 設 定 を 変 更 するには、プ<br />

ロンプトで 新 しい 値 を 入 力 して、Enter キーを 押 します。 以 下 に 例 を 示 します。<br />

SYS>Do ^JRNOPTS<br />

1) Priamry Journal Directory: C:\MyCache\Mgr\Journal\<br />

2) Alternate Journal Directory: D:\cachesys\altjournal\<br />

3) Journal File Size Limit (MB) 1024<br />

4) Journal File Prefix:<br />

5) Journal Purge Options: 2 days OR 2 backups, whichever comes first<br />

疑 問 符 () を 入 力 すると、ヘルプが 表 示 されます。 以 下 はその 例 です。<br />

Journal File Prefix: <br />

Enter an alphanumeric string ('_' allowed) or . to reset prefix to null<br />

設 定 を 変 更 し、Change Property プロンプトで Enter キーを 押 すと、 変 更 内 容 が 有 効 になります。<br />

Change Property<br />

Save and activate changes Yes =><br />

*** Journal options updated.<br />

設 定 を 変 更 しない 場 合 、 以 下 のメッセージが 表 示 されます。<br />

*** Nothing changed<br />

3.4.1.8 ENCRYPT^JOURNAL を 使 用 したジャーナルの 暗 号 化<br />

オプション 8)<br />

(ENCRYPT^JOURNAL) の 詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “マネー<br />

ジド・キー 暗 号 化 ” の 章 でジャーナル・ファイルの 暗 号 化 について 説 明 している "<strong>Caché</strong> データベース 暗 号 化 の 起 動 設<br />

定 の 構 成 " を 参 照 してください。<br />

3.4.1.9 Status^JOURNAL によるジャーナルの 状 態 の 表 示<br />

オプション 9)<br />

を 選 択 すると、ジャーナルの 状 態 に 関 する 次 の 簡 単 な 説 明 が 表 示 されます。<br />

• 現 在 のジャーナルのディレクトリとその 空 き 領 域<br />

• 代 替 ジャーナルのディレクトリ ( 現 在 のジャーナルと 異 なる 場 合 ) とその 空 き 領 域<br />

• 現 在 のジャーナル・ファイル、その 最 大 サイズ、および 使 用 している 領 域<br />

• ジャーナルの 状 態 。 以 下 のいずれかの 状 態 となります。<br />

74 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

– 有 効<br />

– 無 効 ( 停 止 )<br />

– I/O エラーのために 無 効 ( 中 断 )<br />

– I/O エラーのためにフリーズ<br />

– ジャーナルの 切 り 替 え 中 ( 一 時 停 止 )<br />

I/O エラーのために 中 断 した 状 態 とフリーズした 状 態 はジャーナル 状 態 としては 同 じですが、 実 行 されるアクション<br />

は 異 なり、フリーズした 場 合 はジャーナル・データが 破 棄 されます。<br />

• 該 当 する 場 合 、^JRNSTART、^JRNSTOP、または ^JRNSWTCH を 実 行 しているすべてのプロセスのプロセス ID<br />

例 :<br />

Option 9<br />

Current journal directory: C:\MyCache\Mgr\Journal\<br />

Current journal directory free space (KB): 53503904<br />

Alternate journal directory: C:\MyCache\Mgr\<br />

Alternate journal directory free space (KB): 53503904<br />

Current journal file: C:\MyCache\mgr\journal\20111129.001<br />

Current journal file maximum size: 1073741824<br />

Current journal file space used: 1979276<br />

Journaling is enabled.<br />

3.4.1.10 CLUMENU^JRNRESTO を 使 用 したクラスタ・ジャーナルのリストア<br />

オプション 10)<br />

(CLUMENU^JRNRESTO) は、クラスタ・ノードにのみ 表 示 されます。 詳 細 は、この<br />

ドキュメントの "クラスタ・ジャーナリング" の 章 の "クラスタ・ジャーナル・リストア" を 参 照 してください。<br />

3.4.1.11 Manage^JRNROLL を 使 用 したトランザクション・ロールバックの 管 理<br />

<strong>Caché</strong> には、ジャーナルのレコードに 対 して 部 分 的 に 完 了 したトランザクションをロールバックするための ^JRNROLL<br />

ユーティリティが 用 意 されています。システムの 起 動 時 またはプライマリ・ミラー・メンバの 起 動 時 に 保 留 中 または 処 理 中<br />

のトランザクション・ロールバックがある 場 合 、Manage エントリ・ポイント (Manage^JRNROLL) を 使 用 します。<br />

トランザクション・ロールバックの 管 理 を 開 始 するには、 以 下 の 例 に 示 すように、Manage^JRNROLL を 実 行 するか、または<br />

^JOURNAL メニューの ・プロンプトで「11」を 入 力 します。<br />

%SYS>Do ^JOURNAL<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) Manage pending or in progress transaction rollback (Manage^JRNROLL)<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option 11<br />

オプション 11)<br />

が 表 示 されます。<br />

(Manage^JRNROLL) を 選 択 すると、 以 下 のようなメッセージ<br />

<strong>Caché</strong> データ 整 合 性 ガイド 75


ジャーナリング<br />

Option 11<br />

Transaction rollback is pending or in progress<br />

Do you wish to run Manage^JRNROLL Yes => Yes<br />

Rollback operations currently in progress<br />

ID Phase MB Remaining Current Open Transaction Count<br />

1 scan 307 2<br />

Rollback at system startup at 11/29/2011 15:54:35 (578MB)<br />

20111129.004 has 2 open transaction(s) starting at offset 11303<br />

2 file(s) remaining to process<br />

1) Restart pending rollback<br />

2) Interrupt transaction rollback<br />

3) Redisplay rollback information<br />

Option<br />

このオプションによって、トランザクション・ロールバックの 現 在 のフェーズ (スキャンまたはロールバック)、 処 理 される 残 り<br />

のデータの 量 (MB)、 検 出 された 開 いているトランザクションの 数 などの 状 態 が 表 示 されます。<br />

さらに、リストされたトランザクション・ロールバックを 管 理 するためのサブオプションがリストされます。 例 えば、 処 理 を 中 断<br />

することができます。この 場 合 、その 処 理 は “ 保 留 中 ” の 処 理 としてキューに 登 録 されるため、 保 留 中 のロールバックを<br />

再 開 することが 可 能 です。<br />

注 釈 ミラーでは、トランザクション・ロールバックが 2 回 実 行 されます。ミラーリングされないデータベースに 対 して 1<br />

回 (システムの 起 動 時 ) と、ミラーリングされるデータベースに 対 して 1 回 (システムがプライマリ・ミラー・メンバ<br />

になったとき) です。その 結 果 、プライマリ・ミラー・メンバの 開 始 時 に、ロールバックを 2 回 中 断 することが 必 要<br />

になる 場 合 があり、そうすると 2 つの 処 理 が 保 留 中 になります。 保 留 中 の 処 理 を 再 開 すると、ミラー 以 外 のロー<br />

ルバックとミラー・ロールバックが 別 々に 実 行 されます。<br />

ロールバックの 間 、 一 連 の 処 理 の (およそ) 10% ごとにメッセージがコンソール・ログ (cconsole.log) に 書 き 込 まれ、 処 理<br />

のためにどのくらいの 容 量 が 残 されているかと、 開 いているトランザクションがいくつリストされているかが 示 されます。<br />

ジャーナル・ファイルが 削 除 される 場 合 、 保 留 中 のトランザクション・ロールバックに 必 要 なファイルは 保 持 されます ( 例 え<br />

ば、そうしなければそれらのファイルが 削 除 されていた 場 合 )。<br />

3.4.1.12 MirrorCatchup^JRNRESTO を 使 用 したミラーリングされるデータベースへのジャーナルのリストア<br />

ミラー・ジャーナル・ファイルをミラーリングされるデータベースにリストアするには、^JOURNAL メニューの Option プロ<br />

ンプトで「12」を 入 力 するか、またはオプション 4 の Restore Globals From Journal (^JRNRESTO) を 使 用 した<br />

ときに Catch-up mirrored databases プロンプトで「yes」と 入 力 します。 以 下 はその 例 です。<br />

%SYS>Do ^JOURNAL<br />

1) Begin Journaling (^JRNSTART)<br />

2) Stop Journaling (^JRNSTOP)<br />

3) Switch Journal File (^JRNSWTCH)<br />

4) Restore Globals From Journal (^JRNRESTO)<br />

5) Display Journal File (^JRNDUMP)<br />

6) Purge Journal Files (PURGE^JOURNAL<br />

7) Edit Journal Properties (^JRNOPTS)<br />

8) Activate or Deactivate Journal Encryption (ENCRYPT^JOURNAL())<br />

9) Display Journal status (Status^JOURNAL)<br />

10) -not available-<br />

11) -not available-<br />

12) Journal catch-up for mirrored databases (MirrorCatchup^JRNRESTO)<br />

Option Option 12<br />

Specify the list of mirrored databases you want to catch-up.<br />

Enter database, * for all, for a list or to end list *<br />

Enter database or to end list<br />

Starting catch-up for the following mirrored database(s):<br />

sfn #6: c:\intersystems\cache20121x\mgr\mirrordb3\<br />

Catch-up succeeded succeeded.<br />

ミラーリングされるデータベースをキャッチアップするには、ジャーナリングを 実 行 している 必 要 はありませんが、 現 在 の<br />

ジャーナル・ディレクトリがメモリから 確 実 に 利 用 できるように、 少 なくとも 1 回 はジャーナリングを 起 動 しておく 必 要 があり<br />

ます。<br />

76 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

3.4.2 ^STURECOV を 使 用 した 起 動 エラーの 回 復<br />

<strong>Caché</strong> のスタートアップ・プロシージャでは、ジャーナルまたはトランザクションのリストア 処 理 の 際 に や<br />

などのエラーが 発 生 した 場 合 、そのエラーをコンソール・ログ (cconsole.log) に 記 録 して、システムをシン<br />

グル・ユーザ・モードで 起 動 します。<br />

エラーを 修 復 して <strong>Caché</strong> をマルチユーザ・モードで 起 動 できるように、<strong>Caché</strong> にはユーティリティ ^STURECOV が 用 意 さ<br />

れています。このルーチンには、いくつかのオプションがあります。これらのオプションを 使 用 し、 失 敗 した 処 理 を 再 試 行<br />

してシステムを 起 動 する 操 作 や、エラーを 無 視 してシステムを 起 動 する 操 作 が 可 能 です。ジャーナルのリストア 段 階 で<br />

は、 起 動 が 停 止 する 前 にできる 限 り 多 くの 作 業 を 実 行 しようとします。データベースから 4 件 以 上 のエラーがトリガされる<br />

と、そのデータベースのリカバリは 中 止 され、マウントされないままとなります。<br />

注 釈<br />

^STURECOV ユーティリティは、 保 留 中 または 処 理 中 のトランザクション・ロールバックがあるミラー・メンバでは<br />

機 能 しません。これは、トランザクション・ロールバックが 完 了 するまで、ミラーリングされるデータベースの 読 み<br />

取 り/ 書 き 込 みがシステムによって 有 効 化 されないためです。この 場 合 、<strong>Caché</strong> では、Manage^JRNROLL ルー<br />

チンを 実 行 できます。このルーチンによって、システムを 強 制 的 に 起 動 して、トランザクション・ロールバック 情 報<br />

を 格 納 することができ、システムの 起 動 後 にその 情 報 を 使 用 してトランザクションをロールバックすることが 可 能<br />

です。 詳 細 は、このセクションの "Manage^JRNROLL を 使 用 したトランザクション・ロールバックの 管 理 " を 参 照<br />

してください。<br />

トランザクションのロールバックでデータベースに 最 初 に 発 生 したエラーによって、 今 後 のロールバック・プロセスではそ<br />

のデータベースは 処 理 されなくなります。このプロセスでは、そのデータベースを 参 照 するトランザクションが 完 全 な 形 で<br />

は 再 生 されません。リカバリ・プロセスの 間 、トランザクションはロールバックに 備 えて 保 存 されます。<br />

<strong>Caché</strong> の 起 動 のデジャーナリング・フェーズで 問 題 が 発 生 した 場 合 、 以 下 のようなコンソール・ログ・メッセージが 生 成 さ<br />

れます。<br />

08/10-11:19:47:024 ( 2240) System Initialized.<br />

08/10-11:19:47:054 ( 2256) Write daemon started.<br />

08/10-11:19:48:316 ( 1836) Performing Journal Recovery<br />

08/10-11:19:49:417 ( 1836) Error in JRNRESTB: restore+49^JRNRESTB<br />

C:\MyCache\mgr\journal\20110810.004 addr=977220<br />

^["^^C:\MyCache\mgr\jo1666\"]test(4,3,28)<br />

08/10-11:19:49:427 ( 1836) Error in JRNRESTB: restore+49^JRNRESTB<br />

C:\MyCache\mgr\journal\20110810.004 addr=977268<br />

^["^^C:\MyCache\mgr\test\"]test(4,3,27)<br />

08/10-11:19:49:437 ( 1836) Error in JRNRESTB: restore+49^JRNRESTB<br />

C:\MyCache\mgr\journal\20110810.004 addr=977316<br />

^["^^C:\MyCache\mgr\test\"]test(4,3,26)<br />

08/10-11:19:49:447 ( 1836) Error in JRNRESTB: restore+42^JRNRESTB<br />

C:\MyCache\mgr\journal\20110810.004 addr=977748<br />

^["^^C:\MyCache\mgr\test\"]test(4,2,70)<br />

08/10-11:19:50:459 ( 1836) Too many errors restoring to C:\MyCache\mgr\test\.<br />

Dismounting and skipping subsequent records<br />

08/10-11:19:50:539 ( 1836) 4 errors during journal restore,<br />

see console.log file for details.<br />

Startup aborted, entering single user mode.<br />

このエラーがトランザクションのロールバックで 発 生 している 場 合 、 出 力 は 以 下 のようになります。<br />

08/11-08:55:08:732 ( 428) System Initialized.<br />

08/11-08:55:08:752 ( 1512) Write daemon started.<br />

08/11-08:55:10:444 ( 2224) Performing Journal Recovery<br />

08/11-08:55:11:165 ( 2224) Performing Transaction Rollback<br />

08/11-08:55:11:736 ( 2224) Max Journal Size: 1073741824<br />

08/11-08:55:11:746 ( 2224) START: C:\MyCache\mgr\journal\20110811.011<br />

08/11-08:55:12:487 ( 2224) Journaling selected globals to<br />

C:\MyCache\mgr\journal\20110811.011 started.<br />

08/11-08:55:12:487 ( 2224) Rolling back transactions ...<br />

08/11-08:55:12:798 ( 2224) Error in %ROLLBACK: set+2^%ROLLBACK<br />

C:\MyCache\mgr\journal\20110811.010 addr=984744<br />

^["^^C:\MyCache\mgr\test\"]test(4,1,80)<br />

08/11-08:55:12:798 ( 2224) Rollback of transaction for process id #2148<br />

aborted at offset 984744 in C:\MyCache\mgr\journal\20110811.010.<br />

08/11-08:55:13:809 ( 2224) C:\MyCache\mgr\test\ dismounted -<br />

Subsequent records will not be restored<br />

08/11-08:55:13:809 ( 2224) Rollback of transaction for process id #924<br />

<strong>Caché</strong> データ 整 合 性 ガイド 77


ジャーナリング<br />

aborted at offset 983464 in C:\MyCache\mgr\journal\20110811.010.<br />

08/11-08:55:14:089 ( 2224) STOP: C:\MyCache\mgr\journal\20110811.011<br />

08/11-08:55:14:180 ( 2224) 1 errors during journal rollback,<br />

see console.log file for details.<br />

Startup aborted, entering single user mode.<br />

どちらの 出 力 表 示 も 同 じ 指 示 で 終 了 します。<br />

Enter Cache' with<br />

C:\MyCache\bin\cache -sC:\MyCache\mgr -B<br />

and D ^STURECOV for help recovering from the errors.<br />

<strong>Caché</strong> が 正 常 に 起 動 できない 場 合 、シングル・ユーザ・モードで 起 動 します。このモードでは、これらの 指 示 に 示 されて<br />

いる 特 別 なコマンドを 実 行 して <strong>Caché</strong> を 開 始 します。 例 えば、Windows 環 境 では 以 下 のコマンドを 入 力 します。<br />

C:\MyCache\bin\>cache -sC:\MyCache\mgr -B<br />

UNIX® システムと Open VMS システムでは、やや 異 なる 構 文 を 使 用 します。<br />

このコマンドは、-s 引 数 を 使 用 することによってシステム 管 理 者 のディレクトリ (install-dir\mgr) のパス 名 を 指 定 し、<strong>Caché</strong><br />

インストール 環 境 の bin ディレクトリ (install-dir\bin) から <strong>Caché</strong> の 実 行 可 能 ファイルを 実 行 します。また、-B 引 数 を 使<br />

用 することにより、 緊 急 のログイン 1 件 を 除 き、すべてのログインを 禁 止 します。<br />

これで 管 理 者 のネームスペースに 入 ることができたので、スタートアップ・リカバリ・ルーチン ^STURECOV を 実 行 できま<br />

す。<br />

Do ^STURECOV<br />

以 下 のように、^STURECOV のジャーナル・リカバリ・メニューが 表 示 されます。<br />

Journal recovery options<br />

--------------------------------------------------------------<br />

1) Display the list of errors from startup<br />

2) Run the journal restore again<br />

3) Bring up the system in multi-user mode (includes journal restore)<br />

4) Dismount a database<br />

5) Mount a database<br />

6) Database Repair Utility<br />

7) Check Database Integrity<br />

8) Reset system so journal is not restored at startup<br />

9) Display instructions on how to shut down the system<br />

10) Display Journaling Menu (^JOURNAL)<br />

--------------------------------------------------------------<br />

H) Display Help<br />

E) Exit this utility<br />

--------------------------------------------------------------<br />

Enter choice (1-10) or [Q]uit/[H]elp<br />

このメニューのオプション 9 は、UNIX® システムおよび Open VMS システムでのみ 表 示 されます。<br />

ジャーナル・リストアやトランザクション・ロールバックで 発 生 する 障 害 の 原 因 となっているエラーを 修 正 した 後 、マルチユー<br />

ザ・モードでシステムを 起 動 します。 実 行 できる 処 理 として、 以 下 のものがあります。<br />

• オプション 1 — ジャーナル・リストアとトランザクション・ロールバックのプロシージャで、エラーのリストを ^%SYS() グ<br />

ローバルに 保 存 します。このオプションは 必 ず 利 用 できるとは 限 りません。システムの 不 具 合 内 容 によっては 利 用 で<br />

きないこともあります。このエラー 情 報 を 入 手 できる 場 合 は、そのエラーが 表 示 されます。<br />

• オプション 2 — システム 起 動 時 に 実 行 したものと 同 じジャーナル・リストアおよびトランザクション・ロールバックを 実<br />

行 します。データの 量 が 少 ないため、エラーが 発 生 した 時 点 から 試 して 再 起 動 する 必 要 はありません。<br />

• オプション 3 — システムが 使 用 できる 状 態 になったら、このオプションを 使 用 してスタートアップ・プロシージャを 完 了<br />

し、 正 常 に 起 動 した 場 合 と 同 じ 状 態 にします。<br />

• オプション 4 — このオプションを 使 用 するとデータベースをディスマウントできます。 一 般 的 には、ユーザがシステム<br />

を 使 用 できるようにはするが、 障 害 が 残 っているデータベースへのアクセスは 禁 止 する 場 合 に、このオプションを 使<br />

用 します (^DISMOUNT ユーティリティ)。<br />

78 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

• オプション 5 — このオプションを 使 用 するとデータベースをマウントできます (^MOUNT ユーティリティ)。<br />

• オプション 6 — このオプションを 使 用 するとデータベース 構 造 を 編 集 できます (^REPAIR ユーティリティ)。<br />

• オプション 7 — このオプションを 使 用 するとデータベース 構 造 を 検 証 できます (^INTEGRIT ユーティリティ)。<br />

• オプション 8 — 起 動 時 にジャーナル・リストアやトランザクション・ロールバックを 試 行 しないようにシステムを 更 新 しま<br />

す。 次 回 の 起 動 プロセス 実 行 のときにのみ 適 用 されます。ジャーナル・リカバリは 完 了 できないが、ユーザにはシス<br />

テムを 使 用 できるようにする 必 要 がある 場 合 に、このオプションを 使 用 します。 回 復 されなかったデータベースをディ<br />

スマウントすることを 検 討 してください。この 処 理 は 元 に 戻 せません。^JRNRESTO ユーティリティを 使 用 すると、ジャー<br />

ナル・リストアを 手 動 で 実 行 できます。<br />

• オプション 9 — このユーティリティからはシステムをシャットダウンできませんが、このオプションでは、UNIX® または<br />

OpenVMS のコマンド 行 からシステムをシャットダウンする 方 法 が 表 示 されます。<br />

• オプション 10 — ジャーナリング・メニューを 表 示 し、ジャーナル・ファイルの 閲 覧 とリストアができるようにします。ジャー<br />

ナリングを 開 始 および 停 止 するオプションはありますが、これらは 通 常 、 起 動 時 のジャーナリングに 関 する 問 題 の 解<br />

決 には 関 係 ありません。<br />

問 題 を 解 決 するうえで 必 要 な 修 正 アクションであれば、どのようなものでも 実 行 する 必 要 があります。このアクションとして<br />

は、 例 えば ^DATABASE ルーチンを 使 用 してデータベースの 最 大 サイズを 拡 張 する 処 理 があります。また、ファイル・シ<br />

ステムで 領 域 を 解 放 する 処 理 や、^INTEGRIT ユーティリティおよび ^REPAIR ユーティリティを 使 用 してデータベースの<br />

破 損 を 検 出 、 修 復 する 処 理 が 必 要 になることもあります。これらの 作 業 と 並 んで、^STURECOV ユーティリティのオプショ<br />

ン 2 を 使 用 し、 必 要 に 応 じてジャーナル 再 生 やトランザクション・ロールバックをやり 直 すことができます。オプション 1 を<br />

使 用 して、システムの 起 動 時 からのエラーも 含 め、 発 生 したすべてのエラーを 表 示 できます。すべての 不 具 合 を 修 正 し、<br />

オプション 2 を 実 行 してエラーが 発 生 しなければ、オプション 3 を 使 用 してシステムをマルチユーザ・モードで 起 動 しま<br />

す。<br />

不 具 合 は 解 決 できていないが、システムを 起 動 することが 必 要 な 場 合 は、オプション 8 を 使 用 し、 起 動 時 にジャーナル・<br />

リストアとトランザクション・ロールバックをトリガする <strong>Caché</strong> イメージ・ジャーナル (.wij ファイル) 内 の 情 報 をクリアします。<br />

また、このオプションでは、 現 時 点 のこの 情 報 がコンソール・ログに 記 録 されます。 以 上 の 作 業 が 完 了 した 後 、オプション<br />

3 を 使 用 してシステムを 起 動 します。この 方 法 では 結 果 を 元 に 戻 せないので、 実 行 には 注 意 が 必 要 です。<br />

<strong>Caché</strong> の 起 動 時 に、^STURECOV で 表 示 するためのエラー 情 報 を ^%SYS() グローバルに 保 存 できない 場 合 は、メニュー<br />

が 表 示 される 前 に 以 下 のようなメッセージが 表 示 されます。<br />

There is no record of any errors during the prior startup<br />

This could be because there was a problem writing the data<br />

Do you want to continue No => yes<br />

Enter error type ( for list) [^] => <br />

Supported error types are:<br />

JRN - Journal and transaction rollback<br />

Enter error type ( for list) [^] => JRN<br />

ジャーナリング・エラーは、この 章 で 扱 う、このユーティリティが 対 応 しているエラーの 1 種 類 です。 他 のエラーの 種 類 に<br />

ついては、ドキュメントの 該 当 するセクションで 説 明 します。<br />

注 意<br />

起 動 時 にエラーが 発 生 して、システムがシングル・ユーザ・モードで 動 作 している 場 合 にのみ、^STURECOV<br />

ユーティリティを 使 用 します。システムがシングル・ユーザ・モード 以 外 の 状 態 にあるとき ( 正 常 に 動 作 し<br />

ているときなど) にこのユーティリティを 使 用 すると、データに 重 大 な 破 損 が 発 生 することがあります。そ<br />

れは、このユーティリティでは 必 要 に 応 じてジャーナル 情 報 がリストアされますが、そのリストアされた 情<br />

報 が 最 新 のものではないことがあるからです。^STURECOV ユーティリティでは 警 告 が 表 示 されますが、<br />

そのまま 実 行 に 移 ることができます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 79


ジャーナリング<br />

3.4.3 ^JCONVERT および ^%JREAD を 使 用 したジャーナル・ファイルの 変 換<br />

^JCONVERT ルーチンはジャーナル・ファイルを 読 み 取 り、 共 通 フォーマットのファイルに 変 換 するユーティリティです。<br />

これにより、^%JREAD ユーティリティでジャーナルのトランザクションを 読 み 取 り、 別 のシステムにあるデータベースに 適<br />

用 できるようになります。^JCONVERT ユーティリティは、<strong>Caché</strong> のすべてのバージョンのほか、インターシステムズの 以 前<br />

のデータベース 製 品 にも 用 意 されています。これらのユーティリティを 使 用 して、 互 換 性 のあるジャーナル・ファイルを 持<br />

たない、 異 なるシステムのバージョン 間 でジャーナル・データを 移 動 します。<br />

例 えば、 新 しいバージョンの <strong>Caché</strong> に 変 換 する 際 に 停 止 時 間 を 最 小 限 とするには、 以 下 の 手 順 を 実 行 します。<br />

1. 旧 システムのジャーナリングを 有 効 にします。<br />

2. 旧 システムでバックアップを 実 行 します。これによって、 旧 システムのジャーナル・ファイルが 新 しいファイルに 切 り 替<br />

わります。<br />

3. 旧 システムのジャーナリングを 継 続 します。<br />

4. 旧 システムのバックアップを 新 システム 上 にリストアし、 必 要 な 変 換 処 理 を 実 行 します。<br />

5. 旧 システムを 停 止 し、バックアップ 以 降 に 旧 システム 上 に 作 成 されたジャーナル・ファイルに 対 して ^JCONVERT を<br />

実 行 します。<br />

6. ^JCONVERT の 実 行 で 作 成 されたファイルを 新 システム 上 で ^%JREAD への 入 力 として 使 用 し、 旧 システムのトラン<br />

ザクションを 新 システムに 適 用 します。<br />

^JCONVERT ユーティリティでは、ジャーナル・リストア・ユーティリティと 同 じプロセスを 使 用 して、 処 理 対 象 のジャーナ<br />

ル・ファイルを 選 択 し、フィルタ 処 理 します。 複 数 のジャーナル・ファイルを 入 力 として 指 定 し、1 つの 出 力 ファイルを 作 成<br />

できます。ジャーナル・ファイルの 選 択 とフィルタ 処 理 の 詳 細 は、"^JRNRESTO を 使 用 したジャーナル・ファイルからのグ<br />

ローバルのリストア" を 参 照 してください。<br />

ジャーナル・ファイルを 作 成 する 前 に、レコードと 文 字 に 対 して 変 換 先 のファイルで 使 用 する 変 換 方 式 を 選 択 する 必 要 が<br />

あります。 既 定 は Variable/UTF8 で、これはすべてのプラットフォーム 上 で ^%JREAD ユーティリティと 互 換 性 がありま<br />

す。バイナリ FTP を 使 用 して、 複 数 のプラットフォーム 間 でファイルを 移 動 できます。ただし、これらのファイルの 表 示 と<br />

編 集 は 容 易 ではありません。 他 のプラットフォームへの 移 動 に 困 難 はあっても 編 集 は 可 能 な 代 替 ローカル 形 式 ファイル<br />

とするには、レコード 形 式 のプロンプトで「No」と 回 答 します。<br />

注 意<br />

別 の 編 集 可 能 な 形 式 を 選 択 した 場 合 、バイナリ・データとしてこれをエクスポートすることはできません。<br />

インポートすると、バイナリ・データが、レコードの 最 後 として 誤 って 解 釈 される 場 合 があります。<br />

この 代 替 形 式 はプラットフォームによって 異 なり、 以 下 のようになります。<br />

Unicode (all platforms): $CHAR(8232) [LSEP] UTF8<br />

UNIX® (Linux and OS X): $CHAR(10) [LF] RAW<br />

Windows and OpenVMS: $CHAR(13,10) [CRLF] RAW<br />

Unicode 形 式 では Unicode 対 応 のエディタが 必 要 ですが、これはすべての Unicode プラットフォームに 用 意 されている<br />

とは 限 りません。この 形 式 は、OS X オペレーティング・システム 上 の TextEdit で 使 用 できます。 独 自 のレコード 形 式 と 文<br />

字 変 換 方 式 にすることも 可 能 ですが、 一 般 的 な 条 件 ではなくなるので、インターシステムズのサポート 窓 口 までお 問 い 合<br />

わせください。<br />

ジャーナル・ファイルのグローバルは、そのグローバル 参 照 に 特 定 のディレクトリ 参 照 が 付 加 された 状 態 で 格 納 されてい<br />

ます。 変 換 先 のファイルにこのディレクトリ 参 照 を 追 加 するかどうかを 選 択 できます。ディレクトリ 参 照 を 追 加 しておくと、 後<br />

で ^%JREAD プロシージャを 実 行 して、いつでもディレクトリ 参 照 をフィルタで 除 外 したり、 変 更 したりできます。<br />

ディレクトリ 参 照 は、ターゲット・システム 上 で ^%JREAD がグローバルを 設 定 する 場 所 を 指 定 します。ディレクトリ 参 照 を 追<br />

加 していない 場 合 、^%JREAD では 現 在 のディレクトリにすべてのセットが 作 成 されます。ディレクトリ 参 照 を 追 加 していな<br />

い 場 合 は、ユーザ 指 定 の ^%ZREAD プログラムでディレクトリが 変 換 されない 限 り、このユーティリティではソース・システ<br />

ムと 同 じディレクトリにセットが 作 成 されます。ターゲット・システムが 別 のオペレーティング・システム 上 にある 場 合 、また<br />

80 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

はデータベースがターゲット・システム 上 の 別 のディレクトリに 存 在 する 場 合 は、ディレクトリ 参 照 を 変 換 する ^%ZJREAD<br />

ルーチンを 指 定 する 必 要 があります。<br />

^%JREAD ルーチンは、 共 通 ジャーナル・ファイル 形 式 を 読 み 取 り、ターゲット・システム 上 のデータベースにジャーナル・<br />

トランザクションを 適 用 します。レコードをインポートするとき、^%ZJREAD ルーチンが 存 在 すれば、ジャーナル・トランザク<br />

ションごとにこのユーティリティから 呼 び 出 されます。これにより、そのジャーナル・レコードを 操 作 できます。^%ZJREAD で<br />

は、 以 下 の 変 数 を 参 照 できます。<br />

type - Transaction type<br />

gref - Global reference<br />

value - Global value<br />

%ZJREAD - 1:Apply transaction, 0:Do not apply transaction<br />

トランザクションを 適 用 しない 場 合 は、 変 数 %ZJREAD を 0 (ゼロ) に 設 定 してそのレコードをスキップします。 他 の 変 数 を<br />

変 更 することもできます。 例 えば、gref を 修 正 することでディレクトリ 指 定 を 変 更 できます。<br />

^%ZJREAD ルーチンの 例 を 以 下 に 示 します。このルーチンは %SYS(“JOURNAL” への 更 新 を 含 むトランザクションを 検<br />

索 し、それが 適 用 されないようにします。このルーチンをコピーし、 目 的 に 応 じて 修 正 して 使 用 できます。<br />

%ZJREAD;<br />

/*The following variables are defined; you can modify them<br />

before the transaction gets applied<br />

type - Transaction type<br />

gref - Global reference<br />

value - Global value<br />

%ZJREAD - 1:Apply transaction, 0:Do not apply transaction<br />

*/<br />

If gref["SYS(""JOURNAL""" Set %ZJREAD=0<br />

Quit<br />

^JCONVERT の 実 行 例<br />

以 下 は、^JCONVERT ユーティリティの 実 行 例 です。<br />

%SYS>Do ^JCONVERT<br />

Journal Conversion Utility [ Cache Format --> Common Format ]<br />

You must choose the record and character translation for the converted<br />

file. The default of Variable/UTF8 is compatible with current ^%JREAD on<br />

all platforms and can be moved among platforms with binary FTP. However,<br />

these files are not easy to view or edit. Answer No for an alternative<br />

local format that can be edited, but not be as easy to move to another<br />

platform.<br />

Use Variable/UTF8 record format <br />

Globals in the journal file are stored with a specific directory reference<br />

appended to the global reference. You can choose either to include<br />

the directory reference in the converted file, or exclude it. Note that<br />

if you include it, you can always filter it out or change it later during<br />

the %JREAD procedure. The directory reference determines where ^%JREAD sets<br />

the global on the target system. If the directory reference is not included,<br />

all sets are made to the current directory. If the directory reference is<br />

included, sets will be made to the same directory as on the source system<br />

unless translated by a ^%ZJREAD program you supply. If the target system<br />

is on a different operating system or the databases reside in different<br />

directories on the target system, the ^%ZJREAD program must be used to<br />

translate the directory reference.<br />

Include the directory reference <br />

Enter common journal file name: common.jrn<br />

Common journal file: common.jrn<br />

Record separator: Variable<br />

Character translation: UTF8<br />

Directory reference: Yes<br />

<strong>Caché</strong> データ 整 合 性 ガイド 81


ジャーナリング<br />

Use current journal filter (ZJRNFILT) no<br />

Use journal marker filter (MARKER^ZJRNFILT) no<br />

Process all journaled globals in all directories enter Yes or No, please<br />

Process all journaled globals in all directories yes<br />

Specify range of files to process (names in YYYYMMDD.NNN format)<br />

from: [] => 20111202.001<br />

through: [] =><br />

Prompt for name of the next file to process No => No<br />

Provide or confirm the following configuration settings:<br />

Journal File Prefix: =><br />

Files to dejournal will be looked for in:<br />

C:\MyCache\mgr\journal\<br />

C:\MyCache\mgr\<br />

in addition to any directories you are going to specify below, UNLESS<br />

you enter a minus sign ('-' without quotes) at the prompt below,<br />

in which case ONLY directories given subsequently will be searched<br />

Directory to search: <br />

Here is a list of directories in the order they will be searched for files:<br />

C:\MyCache\mgr\journal\<br />

C:\MyCache\mgr\<br />

You may tailor the response to errors by choosing between the alternative<br />

actions described below. Otherwise you will be asked to select an action<br />

at the time an error actually occurs.<br />

Either Continue despite database-related problems (e.g., a target<br />

database is not journaled, cannot be mounted, etc.), skipping affected<br />

updates<br />

or Abort if an update would have to be skipped due to a<br />

database-related problem (e.g., a target database is not journaled,<br />

cannot be mounted, etc.)<br />

Either Abort if an update would have to be skipped due to a<br />

journal-related problem (e.g., journal corruption, some cases of missing<br />

journal files, etc.)<br />

or Continue despite journal-related problems (e.g., journal<br />

corruption, some missing journal files, etc.), skipping affected updates<br />

Either Apply sorted updates to databases before aborting<br />

or<br />

Discard sorted, not-yet-applied updates before aborting (faster)<br />

Would you like to specify error actions now No => yes<br />

1. Continue despite database-related problems (e.g., a target database<br />

is not journaled, cannot be mounted, etc.), skipping affected updates<br />

2. Abort if an update would have to be skipped due to a database-related<br />

problem (e.g., a target database is not journaled, cannot be mounted,<br />

etc.)<br />

Select option [1 or 2]: 1<br />

1. Abort if an update would have to be skipped due to a journal-related<br />

problem (e.g., journal corruption, some cases of missing journal files,<br />

etc.)<br />

2. Continue despite journal-related problems (e.g., journal corruption,<br />

some missing journal files, etc.), skipping affected updates<br />

Select option [1 or 2]: 2<br />

1. Apply sorted updates to databases before aborting<br />

2. Discard sorted, not-yet-applied updates before aborting (faster)<br />

Select option [1 or 2]: 2<br />

Based on your selection, this restore will<br />

** Continue despite database-related problems (e.g., a target database is not<br />

journaled, cannot be mounted, etc.), skipping affected updates<br />

82 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリング・ユーティリティ<br />

** Continue despite journal-related problems (e.g., journal corruption, some<br />

missing journal files, etc.), skipping affected updates<br />

** Discard sorted, not-yet-applied updates before aborting (faster)<br />

C:\MyCache\mgr\journal\20111202.001<br />

13.98% 14.93% 15.95% 17.14% 18.25% 19.27% 20.49% 21.63% 22.65% 23.84%<br />

24.99% 25.97% 27.10% 28.25% 29.31% 30.50% 31.72% 32.84% 33.84% 34.84%<br />

35.84% 36.85% 37.91% 38.99% 40.10% 41.08% 42.03% 42.97% 43.93% 44.94%<br />

45.95% 47.05% 48.11% 49.07% 50.04% 51.02% 52.03% 53.07% 54.14% 55.25%<br />

56.21% 57.17% 58.15% 59.14% 60.18% 61.24% 62.33% 63.28% 64.20% 65.15%<br />

66.10% 67.11% 68.13% 69.05% 69.94% 70.83% 71.61% 72.41% 73.09% 73.85%<br />

74.59% 75.32% 76.06% 76.75% 77.73% 78.70% 79.65% 80.59% 81.53% 82.46%<br />

83.40% 84.33% 85.27% 86.05% 86.59% 87.13% 87.67% 88.23% 88.78% 89.34%<br />

89.89% 90.61% 93.28% 94.38% 97.12% 98.21% 99.93%100.00%<br />

***Journal file finished at 11:31:36<br />

C:\MyCache\mgr\journal\20111203.001<br />

14.01% 14.96% 15.98% 17.18% 18.29% 19.31% 20.53% 21.67% 22.69% 23.88%<br />

25.03% 26.01% 27.15% 28.30% 29.36% 30.55% 31.78% 32.90% 33.90% 34.90%<br />

35.91% 36.92% 37.99% 39.06% 40.17% 41.16% 42.11% 43.05% 44.01% 45.03%<br />

46.04% 47.14% 48.20% 49.17% 50.14% 51.11% 52.13% 53.17% 54.25% 55.36%<br />

56.33% 57.29% 58.27% 59.26% 60.30% 61.36% 62.46% 63.40% 64.33% 65.28%<br />

66.23% 67.24% 68.26% 69.19% 70.08% 70.97% 71.76% 72.56% 73.25% 74.01%<br />

74.75% 75.47% 76.22% 76.91% 77.89% 78.87% 79.83% 80.77% 81.70% 82.64%<br />

83.58% 84.52% 85.46% 86.24% 86.78% 87.32% 87.87% 88.42% 88.98% 89.53%<br />

90.09% 90.81% 93.49% 94.59% 97.33% 98.42%100.00%<br />

***Journal file finished at 11:31:37<br />

C:\MyCache\mgr\journal\20111204.001<br />

13.97% 14.92% 15.93% 17.12% 18.24% 19.25% 20.47% 21.61% 22.62% 23.82%<br />

24.96% 25.94% 27.07% 28.22% 29.28% 30.46% 31.69% 32.80% 33.80% 34.80%<br />

35.80% 36.81% 37.87% 38.94% 40.05% 41.04% 41.98% 42.92% 43.88% 44.89%<br />

45.90% 47.00% 48.06% 49.02% 49.98% 50.96% 51.97% 53.01% 54.08% 55.19%<br />

56.15% 57.11% 58.08% 59.07% 60.12% 61.17% 62.26% 63.20% 64.13% 65.07%<br />

66.02% 67.03% 68.05% 68.97% 69.86% 70.75% 71.53% 72.33% 73.01% 73.77%<br />

74.51% 75.23% 75.98% 76.67% 77.64% 78.61% 79.56% 80.50% 81.43% 82.37%<br />

83.30% 84.24% 85.17% 85.95% 86.49% 87.03% 87.57% 88.13% 88.68% 89.23%<br />

89.79% 90.51% 93.18% 94.27% 97.01% 98.10% 99.81%100.00%<br />

***Journal file finished at 11:31:38<br />

[journal operation completed]<br />

Converted 26364 journal records<br />

3.4.4 ^JRNMARK を 使 用 したジャーナル・マーカの 設 定<br />

ジャーナル・ファイルにジャーナル・マーカを 設 定 するには、 以 下 のルーチンを 使 用 します。<br />

SET rc=$$ADD^JRNMARK(id,text)<br />

引 数<br />

id<br />

text<br />

rc<br />

説 明<br />

マーカ ID ( 例 : バックアップは -1)<br />

256 文 字 以 内 の 文 字 列 のマーカ・テキスト ( 例 えば、バックアップについては “timestamp”)<br />

マーカのジャーナル 位 置 (コンマで 区 切 られたジャーナル・オフセットとジャーナル・ファイル 名 )、<br />

または、 処 理 が 失 敗 した 場 合 、コンマの 後 にエラーを 説 明 するメッセージが 付 いた 負 のエラー・<br />

コード。ジャーナル・オフセットは 正 の 数 である 必 要 があります。<br />

3.4.5 ^JRNUTIL を 使 用 したジャーナル・ファイルの 操 作<br />

インターシステムズは、^JRNUTIL ルーチンでいくつかの 機 能 を 提 供 します。サイト 特 有 のルーチンを 記 述 するこれらの<br />

機 能 を 使 用 して、ジャーナル・レコードとファイルを 操 作 できます。<br />

以 下 のテーブルは、このルーチンで 使 用 可 能 な 関 数 の 一 覧 です。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 83


ジャーナリング<br />

テーブル 3–3: ^JRNUTIL で 使 用 可 能 な 関 数<br />

ジャーナリング・タスク<br />

ジャーナル・ファイルを 閉 じる<br />

ジャーナル・ファイルの 削 除<br />

ジャーナル・ファイルからローカル 配 列 にレコードの<br />

読 み 取 り<br />

別 のジャーナル・ファイル・ディレクトリへの 切 り 替<br />

え<br />

ジャーナル・ファイルを 開 く<br />

開 かれているジャーナル・ファイルの 使 用<br />

関 数 構 文<br />

$$CLOSEJRN^JRNUTIL(jrnfile)<br />

$$DELFILE^JRNUTIL(jrnfile)<br />

$$GETREC^JRNUTIL(addr,jrnode)<br />

$$JRNSWCH^JRNUTIL(newdir)<br />

$$OPENJRN^JRNUTIL(jrnfile)<br />

$$USEJRN^JRNUTIL(jrnfile)<br />

重 要<br />

DELFILE^JRNUTIL 関 数 は、ジャーナル・ファイルを 削 除 する 前 に、 開 いているトランザクションがあるか<br />

どうかをチェックしません。<br />

以 下 のテーブルは、このユーティリティで 使 用 される 引 数 です。<br />

引 数<br />

addr<br />

jrnfile<br />

newdir<br />

jrnode<br />

説 明<br />

ジャーナル・レコードのアドレス<br />

ジャーナル・ファイルの 名 前<br />

新 しいジャーナル・ファイル・ディレクトリ<br />

ジャーナル・レコード 情 報 を 返 すために、 参 照 から 渡 されるローカル 変 数<br />

3.4.6 %NOJRN を 使 用 したプロセス・レベルでのジャーナリングの 管 理<br />

ジャーナリングがシステム 全 体 で 有 効 になっている 場 合 、 特 定 のプロセス 内 のグローバルに 対 して Set 処 理 および Kill<br />

処 理 を 実 行 するために、 以 下 のようにアプリケーション 内 またはプログラマ・モードからユーティリティ ^%NOJRN を 呼 び 出<br />

して、ジャーナリングを 停 止 できます。<br />

%SYS>DO DISABLE^%NOJRN<br />

ジャーナリングは、 以 下 のイベントのいずれかが 発 生 するまで 無 効 になっています。<br />

• プロセスが 中 断<br />

• ジャーナリングを 再 度 アクティブにするために、プロセスが 以 下 の 呼 び 出 しを 発 行<br />

%SYS>DO ENABLE^%NOJRN<br />

3.5 ジャーナル 入 出 力 エラー<br />

ジャーナル・ファイルで 入 出 力 エラーが 発 生 すると、ジャーナル・デーモンは、 失 敗 した 処 理 を 成 功 するまで 定 期 的 に 再<br />

試 行 します。 普 通 は、2 回 の 連 続 する 再 試 行 の 間 隔 は 1 秒 です。これに 続 いて 実 行 される 処 理 は、<strong>Caché</strong> をフリーズす<br />

るかどうかを 指 定 する 設 定 によって 異 なります。このジャーナル 設 定 [エラー 時 に 凍 結 する] は、 管 理 ポータルの [システ<br />

ム] > [ 構 成 ] > [ジャーナル 設 定 ] ページにあります。 既 定 の 設 定 は [いいえ] です。<br />

84 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナル 入 出 力 エラー<br />

ジャーナルの 入 出 力 エラー 時 にシステムをフリーズすると、システムは 使 用 できなくなりますが、データの 整 合 性 を 保 護<br />

できます。ジャーナリングを 無 効 にして、エラーが 発 生 したときでもシステムを 使 用 できるようにしておくと、データの 回 復<br />

性 が 損 なわれます。 業 務 上 の 必 要 性 を 確 認 し、 環 境 に 最 適 な 手 法 をとることをお 勧 めします。 以 下 のセクションでは、 各<br />

選 択 内 容 によって 発 生 する 影 響 について 説 明 します。<br />

• ジャーナル 入 出 力 エラー 時 にシステムをフリーズしない 場 合<br />

• ジャーナル 入 出 力 エラー 時 にシステムをフリーズする 場 合<br />

3.5.1 ジャーナル 入 出 力 エラー 時 にシステムをフリーズしない 場 合<br />

ジャーナル・ファイルの 入 出 力 エラーが 発 生 してもフリーズしないように <strong>Caché</strong> を 構 成 すると、 適 切 な 時 点 でエラーから<br />

回 復 できない 場 合 はジャーナリングが 無 効 になります。これにより、システムが 停 止 しないようにすることはできますが、<br />

データの 整 合 性 は 低 下 します。<br />

具 体 的 には、 障 害 が 発 生 した 入 出 力 処 理 を 実 行 しても 成 功 せず、さらに 以 下 の 条 件 が 成 立 した 場 合 にジャーナリング<br />

が 無 効 になります。<br />

• ジャーナル・バッファがすべて 一 杯 である。<br />

• 事 前 設 定 された 時 間 ( 内 部 値 ) の 間 、 処 理 を 試 みた。<br />

• 使 用 可 能 なグローバル・バッファの 数 が、 事 前 設 定 された 最 小 値 ( 内 部 値 ) 未 満 になった。<br />

ジャーナリングが 無 効 にされると、データベースの 更 新 がジャーナルされなくなります。 結 果 として、ジャーナルは、シス<br />

テムがクラッシュしたときにデータベースを 回 復 するためソースとしては、 信 頼 性 に 欠 けるものになります。ジャーナリング<br />

が 無 効 になっている 場 合 は、 以 下 の 状 況 が 発 生 します。<br />

• トランザクションのロールバックが 失 敗 し、 エラーが 発 生 します。<br />

• シャドウイングはソース・データベースのジャーナリングに 依 存 しているので、ソース・データベースの 更 新 がジャー<br />

ナルされなくなると、シャドウイングに 信 頼 性 がなくなります。<br />

• コミットされていないデータのクラッシュ 回 復 機 能 が 無 効 になります。<br />

• 完 全 に 回 復 するためのデータが 存 在 しなくなります。 前 回 のバックアップの 状 態 にのみ 回 復 できます。<br />

• ECP のロック 機 能 とトランザクションの 回 復 可 能 性 から 信 頼 性 が 失 われます。<br />

• システムがクラッシュすると、ジャーナリングが 無 効 になる 前 に 始 まっていたトランザクションが 不 完 全 な 状 態 になっ<br />

ていても、<strong>Caché</strong> が 起 動 するときのリカバリ・プロセスではそのトランザクションはロール・バックされません。これは、<br />

トランザクションはコミットされていてもジャーナリングされていないからです。<br />

ジャーナリングが 無 効 になった 場 合 の 措 置<br />

ジャーナリングが 無 効 になった 場 合 に 実 行 する 手 順 を 以 下 にまとめます。<br />

1. 問 題 の 解 決 — 可 能 な 限 り 早 急 に、ジャーナリングの 無 効 化 を 引 き 起 こした 問 題 を 解 決 します。<br />

2. ジャーナル・ファイルの 切 り 替 え — ジャーナル・デーモンは、 失 敗 した 入 出 力 処 理 を 定 期 的 に 再 試 行 し、ジャーナリ<br />

ングが 無 効 になる 前 に 蓄 積 されたジャーナル・データを 保 持 しようとします。 必 要 に 応 じ、ジャーナル・ファイルを 新<br />

しいディレクトリに 切 り 替 えてエラーを 解 決 できます。ただし、<strong>Caché</strong> は、 失 敗 した 入 出 力 の 処 理 に 成 功 してジャーナ<br />

リングを 新 しいファイルに 切 り 替 えても、ジャーナリングを 自 動 的 に 再 び 有 効 にすることはありません。また、ジャーナ<br />

ル・ファイルを 手 動 で 切 り 替 えた 場 合 も、ジャーナリングが 自 動 的 に 再 び 有 効 になることはありません。<br />

3. データベースのバックアップ — メイン・サーバのデータベースをバックアップします (バックアップを 実 行 すると、ジャー<br />

ナリングは 自 動 的 に 再 び 有 効 になります)。<br />

エラーの 発 生 後 は、データの 損 失 を 防 止 するために、できる 限 り 早 い 時 点 でデータベースをバックアップすることを<br />

強 くお 勧 めします。 実 際 に、ジャーナリングの 無 効 化 の 原 因 となった 入 出 力 エラーが 解 決 済 みで、ユーザに 適 切 な<br />

<strong>Caché</strong> データ 整 合 性 ガイド 85


ジャーナリング<br />

特 権 があれば、そのエラーでジャーナリングが 無 効 になっている 状 態 で <strong>Caché</strong> オンライン・バックアップを 実 行 する<br />

と、ジャーナリングが 自 動 的 に 再 開 されます。^JRNSTART を 実 行 してジャーナリングを 有 効 にすることもできます。<br />

バックアップが 正 常 に 完 了 してジャーナリングが 再 開 されると、<strong>Caché</strong> では、 保 留 中 のすべてのジャーナル 入 出 力<br />

が 破 棄 されます。これは、 保 留 中 のジャーナル 入 出 力 で 扱 われているデータベース 更 新 はすべて、 正 常 に 完 了 し<br />

たバックアップに 記 録 されているからです。<br />

重 要<br />

ジャーナリングを 開 始 するには、バックアップを 実 行 する 場 合 よりも 高 い 特 権 が 必 要 です。<br />

4. シャドウ・データベースのリストア — シャドウイングを 使 用 する 場 合 は、バックアップをシャドウにリストアしてデータ<br />

ベースを 同 期 化 し、そのバックアップの 時 点 以 降 に 使 用 を 開 始 した 新 しいジャーナル・ファイルでシャドウを 再 開 し<br />

ます。<br />

3.5.2 ジャーナル 入 出 力 エラー 時 にシステムをフリーズする 場 合<br />

ジャーナル・ファイルに 入 出 力 エラーが 発 生 したときにフリーズするように <strong>Caché</strong> を 構 成 しておくと、ジャーナル・デーモ<br />

ンは 直 ちにジャーナリングをフリーズします。これにより、システムの 可 用 性 は 低 下 しますが、ジャーナル・データの 喪 失<br />

を 防 止 できます。 失 敗 した 入 出 力 処 理 に 成 功 すると、ジャーナル・デーモンはジャーナリングのフリーズを 解 除 します。<br />

エラーが 発 生 すると、 通 常 はジャーナルに 記 録 されるすべてのグローバル 動 作 が 直 ちにブロックされ、 他 のジョブも 停 止<br />

します。[エラー 時 にフリーズ] 設 定 を [はい] にしておくと、ジャーナリングの 問 題 が 解 決 するまで、<strong>Caché</strong> は 停 止 したま<br />

まとなります。エンドユーザにはシステムの 運 用 が 停 止 したように 見 えます。<strong>Caché</strong> が 停 止 している 間 に 問 題 の 対 策 をと<br />

ることができます。 例 えば、 空 き 容 量 がなくなったディスクの 領 域 の 解 放 、 稼 動 している 新 しいディスクや 十 分 な 空 き 領 域<br />

を 持 つディスクヘのジャーナル 切 り 替 えなどの 措 置 をとります。<br />

このオプションの 利 点 は、 問 題 を 解 決 して <strong>Caché</strong> を 復 旧 させると、すべてのジャーナル 情 報 が 保 持 されている 点 にあり<br />

ます。 欠 点 は、 問 題 を 解 決 している 間 、システムの 可 用 性 が 低 下 することです。<br />

失 敗 した 入 出 力 処 理 をジャーナル・デーモンが 再 試 行 している 間 、<strong>Caché</strong> からの 警 告 とエラー・メッセージが 定 期 的 に<br />

cconsole.log ファイルに 記 録 されます。<br />

3.6 ジャーナリングに 関 する 特 別 な 考 慮 事 項<br />

<strong>Caché</strong> のジャーナリングを 使 用 するときは、 以 下 の 特 別 な 考 慮 事 項 を 確 認 します。<br />

• パフォーマンス<br />

• ジャーナル・ファイルの 制 約<br />

• UNIX® ファイル・システムの 推 奨 事 項<br />

• システム 時 計 の 推 奨 事 項<br />

• ファイリング 操 作 に 対 するジャーナリングの 無 効 化<br />

3.6.1 パフォーマンス<br />

データベースの 整 合 性 を 確 保 するうえでジャーナリングは 重 要 ですが、ジャーナルの 対 象 となるグローバルの 更 新 数 に<br />

よっては、ディスク 領 域 が 消 費 され、 性 能 が 低 下 します。<br />

変 更 がデータベースとジャーナル・ファイルの 両 方 に 記 録 されるため、 更 新 処 理 は 二 重 に 行 われます。 この 結 果 、ジャー<br />

ナリングは 性 能 に 影 響 を 与 えます。<strong>Caché</strong> はフラット・ファイルでのジャーナリングを 使 用 しているので、 性 能 の 低 下 を 最<br />

小 限 にすることができます。<br />

86 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナリングに 関 する 特 別 な 考 慮 事 項<br />

3.6.2 ジャーナル・ファイルの 制 約<br />

1 日 に 作 成 できるジャーナル・ファイルの 最 大 数 は 999 です。この 制 限 を 超 えると、cconsole.log ファイルにエラーが 記<br />

録 され、 翌 日 までジャーナリングが 中 断 します。<br />

3.6.3 UNIX® ファイル・システムの 推 奨 事 項<br />

最 適 なジャーナル・パフォーマンスを 実 現 し、システムがクラッシュしたときにジャーナル・データの 整 合 性 を 確 保 するた<br />

めに、UNIX® のプラットフォームではジャーナル・ファイルに 関 する 特 有 の 推 奨 事 項 があります。 以 下 のテーブルで、 各<br />

オペレーティング・システムでのジャーナリングのための 推 奨 ファイル・システムおよびマウント・オプションを 概 説 します。<br />

各 オペレーティング・システムでサポートされる 特 定 のバージョンについては、"サポート 対 象 プラットフォーム" のドキュ<br />

メントの "サポート 対 象 サーバ・プラットフォーム" の 表 を 参 照 してください。<br />

オペレーティング・シス<br />

テム<br />

AIX® 5L<br />

AIX® 5L 5.3 (ML-03 以<br />

降 )<br />

HP-UX<br />

Solaris<br />

Red Hat Enterprise<br />

推 奨 のファイル・システムおよびオプ<br />

ション<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

JFS2 ファイル・システム<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

VxFS ファイル・システム<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

NetApp NFS (NFS3) ファイル・システ<br />

ム<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

VxFS ファイル・システム<br />

直 接 入 出 力 を 有 効 にしてマウントし<br />

た、UFS 1 または NetApp NFS (NFS3)<br />

ファイル・システム<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

VxFS ファイル・システム<br />

ZFS ファイル・システム (<strong>Caché</strong> では<br />

同 期 I/O が 有 効 )<br />

ext3、ext4、または NFS ファイル・シ<br />

Linux 2 ステム (<strong>Caché</strong> では、 既 定 で 直 接 I/O<br />

が 有 効 )<br />

cio 3<br />

ファイル・システムのマウント・オプション<br />

cio<br />

cio<br />

cio<br />

cio 3<br />

forcedirectio<br />

cio 3<br />

特 別 なマウント・オプションは 不 要<br />

特 別 なマウント・オプションは 不 要<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

VxFS ファイル・システム<br />

SUSE Linux Enterprise<br />

ext3 または NFS ファイル・システム<br />

(<strong>Caché</strong> では、 既 定 で 直 接 I/O が 有<br />

効 )<br />

同 時 入 出 力 を 有 効 にしてマウントした<br />

VxFS ファイル・システム<br />

特 別 なマウント・オプションは 不 要<br />

cio 3<br />

1 ジャーナル 入 出 力 パフォーマンスは、UFS では、 最 適 ではない 場 合 があります。<br />

2 Red Hat Linux では、 直 接 入 出 力 を 使 用 したジャーナル・ファイルでの 擬 似 入 出 力 エラーに 対 応 するために、カーネ<br />

ル・バージョン 2.6.9-42 以 降 が 必 要 です。この 更 新 は、RHSA-2006:0575 以 降 に 含 まれています。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 87


ジャーナリング<br />

3 cio が 使 用 できない 場 合 、 直 接 入 出 力 を 有 効 にしてマウントした VxFS ファイル・システム (ファイル・システムのマウン<br />

ト・オプション :mincache=direct,convosync=direct) ではジャーナリングがサポートされています。<br />

現 在 のジャーナル・ファイルに 使 用 されているデバイスのタイプが 推 奨 のファイル・システムのものではない 場 合 や、ジャー<br />

ナルの 持 続 性 を 確 保 するうえで 必 要 なオプションでマウントされていない 場 合 は、<strong>Caché</strong> から 深 刻 度 レベル 2 (SEVERE)<br />

のメッセージが cconsole.log ファイルに 発 行 されます。<br />

このメッセージが 発 行 されるのは、<strong>Caché</strong> が 起 動 してから 最 初 にジャーナル・ファイルが 作 成 されるとき、または 新 しいファ<br />

イル・システムに 切 り 替 えるときの 1 回 のみです。この 警 告 が 発 行 されても、ジャーナリングは 引 き 続 き 実 行 されます。こ<br />

の 後 、 同 じファイル・システムの 中 で 別 のジャーナル・ファイルが 作 成 されても、この 警 告 は 再 生 成 されません。<br />

例 えば HP-UX で、 推 奨 のファイル・システムやマウント・オプションを 使 用 していない 場 合 は、 以 下 のいずれかのメッセー<br />

ジが 発 行 されます。<br />

11/01-11:56:30:570 (3772) 2 The file system for current journal file is NOT one<br />

of the recommended ones (vxfs) for the OS and might not support the mount<br />

option(s) to ensure journal data integrity in the event of a system crash.<br />

または<br />

11/01-12:09:39:500 (5337) 2 The device for the new journal file was not mounted<br />

with a recommended option (mincache=direct) to ensure durability of journal<br />

writes. In the event of a system crash, loss of journal data is possible.<br />

3.6.4 システム 時 計 の 推 奨 事 項<br />

<strong>Caché</strong> でサポートされるオペレーティング・システムのすべてに Network Time Protocol (NTP) クライアントがあり、システ<br />

ム 時 計 と 参 照 システムの 同 期 が 保 持 され、サマータイムと 標 準 時 間 を 自 動 調 整 する 機 能 があります。<br />

システム 時 計 の 同 期 の 保 持 および 管 理 には、システム 時 計 を 手 動 で 調 整 するのではなく、オペレーティング・システムの<br />

自 動 クロック 管 理 機 能 を 利 用 することをお 勧 めします。<br />

テスト 作 業 などで 手 動 で 時 間 を 調 整 する 必 要 がある 場 合 は、 実 稼 動 環 境 ではなく、 必 ずテスト 環 境 を 使 用 してその 作 業<br />

を 実 行 してください。また、 時 計 を 進 めたり、 戻 したりする 調 整 などの 非 時 系 列 的 イベントは 一 部 のユーティリティで 障 害<br />

発 生 の 原 因 になる 可 能 性 があるため、 手 動 の 調 整 は 慎 重 に 行 う 必 要 があります。<br />

3.6.5 ファイリング 操 作 に 対 するジャーナリングの 無 効 化<br />

オブジェクトの 保 存 や 削 除 などのファイリング 操 作 に 対 するジャーナリングを 無 効 にすることが 効 果 的 な 場 合 や 必 要 な 場<br />

合 があります。これには、 以 下 の 2 つの 方 法 があります。<br />

• オブジェクトを 開 く ( 通 常 は %OpenId または %Open を 使 用 します) ときに、 並 行 処 理 の 値 として 0 を 指 定 します。0<br />

より 大 きい 並 行 処 理 の 値 を 指 定 してそのオブジェクトを 既 に 開 いている 場 合 は、 並 行 処 理 の 値 に 0 を 指 定 しても 効<br />

果 はありません。<br />

• 現 在 のプロセスに 対 するオブジェクト・ファイラ・トランザクション 処 理 を 中 断 します。これを 行 うには、<br />

$system.OBJ.SetTransactionMode(0) を 呼 び 出 します (これは %SYSTEM.OBJ クラスの SetTransactionMode メソッ<br />

ドなので、 専 用 の $system オブジェクトを 介 して 呼 び 出 すことができます)。SetTransactionMode メソッドは 0 または<br />

1 の 値 をとり、オブジェクト・ファイラ・トランザクションは 0 で 無 効 、1 で 有 効 になります。この 設 定 は 現 在 のファイリン<br />

グ 操 作 だけでなく、プロセス 全 体 に 影 響 します。<br />

重 要<br />

ジャーナリングの 無 効 化 が 求 められることもありますが、 実 際 にその 必 然 性 があるかどうかを 確 認 してく<br />

ださい。この 確 認 を 怠 ると、 必 要 なデータが 部 分 的 に 欠 損 したジャーナルが 生 成 され、そのデータは 永<br />

久 に 失 われる 可 能 性 があります。<br />

88 <strong>Caché</strong> データ 整 合 性 ガイド


4<br />

シャドウ・ジャーナリング<br />

シャドウ・ジャーナリング (データベース・シャドウイング) を 使 用 すると、セカンダリ・マシンで、 選 択 されたデータベースが<br />

プライマリ・マシンで 更 新 されるように、そのデータベースの “シャドウ” のコピーを 保 持 できます。プライマリ・マシンから<br />

セカンダリ・マシンに 継 続 的 にジャーナル 情 報 を 送 信 することで、シャドウイングは、 通 常 はソース・データベースのわず<br />

かなトランザクションにのみ 存 在 するシステムに 対 するリカバリを 可 能 にします。<br />

シャドウイングは 多 くの 目 的 に 使 用 できますが、 使 用 しているシステム 環 境 によって、それぞれの 目 的 には 重 要 な 考 慮 事<br />

項 があります。 以 下 は、シャドウイングによって 可 能 になる 最 も 一 般 的 な 目 的 の 例 です。<br />

• ディザスタ・リカバリ。 最 も 一 般 的 な 使 用 法 です。 容 易 で、 低 コストです。<br />

• 読 み 取 り 専 用 レポート・サーバ。 任 意 のレポート・タスクが、プロダクションに 影 響 を 与 えずに 現 在 のデータで 処 理 で<br />

きます。<br />

• 低 予 算 の 複 製 。ジャーナリングによって、シャドウ・インスタンス 上 で、データベースを 複 製 します。<br />

• フェイルオーバー。 特 定 の 状 況 の 場 合 。<br />

以 下 の 項 目 について 説 明 します。<br />

• シャドウイングの 概 要<br />

• シャドウイングの 構 成<br />

• シャドウイングの 管 理 と 監 視<br />

• シャドウの 宛 先 のディザスタ・リカバリへの 使 用<br />

4.1 シャドウイングの 概 要<br />

プライマリ <strong>Caché</strong> インスタンスは、1 つ 以 上 のシャドウを 持 つことができます。シャドウ・ジャーナリングでは、プライマリ・シ<br />

ステム (ソース) でのデータベースの 動 作 を 監 視 し、 同 じ 動 作 をセカンダリ・システム ( 宛 先 ) で 発 生 させます。これは、 宛<br />

先 で 動 作 するシャドウ・クライアント・サービスを 使 用 して 実 行 します。このサービスでは、ソースで 実 行 しているシャドウ・<br />

サービスから、ジャーナル・ファイルの 詳 細 を 継 続 的 に 要 求 します。シャドウ・サービスは、 実 際 の Set、Kill、および $Bit<br />

の 各 ジャーナル・レコード・エントリの 詳 細 を、TCP 接 続 で 宛 先 のシャドウに 送 信 して 応 答 します。ソース・サーバおよび<br />

宛 先 サーバには、 互 いに 異 なるハードウェア、オペレーティング・システム、または CPU チップセットを 使 用 できます。た<br />

だし、 宛 先 サーバの <strong>Caché</strong> の 文 字 幅 には、ソース・サーバの <strong>Caché</strong> の 文 字 幅 以 上 の 幅 が 必 要 となります (つまり、ソー<br />

ス・サーバが 8 ビット・システムの 場 合 、 宛 先 サーバは 8 ビットまたは 16 ビット Unicode システムを 使 用 できますが、ソー<br />

ス・サーバが 16 ビット Unicode システムの 場 合 、 宛 先 サーバは 16 ビット Unicode システムを 使 用 する 必 要 があります)。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 89


シャドウ・ジャーナリング<br />

図 4–1: シャドウイングの 概 要<br />

すべてのシャドウイングは、 圧 縮 されたジャーナル・ファイルをブロックに 分 割 して 送 信 することによって、より 高 い 効 率 が<br />

得 られる 高 速 転 送 メソッドを 使 用 します。シャドウでは、すべてのトランザクションがローカル・データベースに 適 用 されま<br />

す。この 転 送 モードでは、データをジャーナル・ファイルに 書 き 込 む 必 要 があり、それによって 数 秒 の 遅 延 が 発 生 するこ<br />

とがあります。シャドウは、サーバへの TCP 接 続 を 確 立 し、ジャーナル・ファイルを 受 信 します。ジャーナル・ファイルをダ<br />

ウンロードするとき、 他 のシャドウ・プロセスがジャーナル・エントリをデータベースの 宛 先 のローカル・コピーに 割 り 当 てま<br />

す。<br />

宛 先 のシャドウ・サーバは、データ・ソース・サーバに 接 続 する 際 、ジャーナル・ファイル 名 と 開 始 ポイントをデータ・ソー<br />

ス・サーバに 送 信 します。シャドウは、 定 期 的 に 新 規 レコードをチェックします。シャドウに 最 新 のレコードがない 場 合 は、<br />

ソースからレコードをダウンロードし、データベースを 更 新 します。これらのプロセスの 間 、<strong>Caché</strong> は、ロールバック 機 能 お<br />

よび 再 起 動 機 能 を 容 易 にするために、チェックポイントをシャドウ・グローバルに 継 続 的 に 保 存 します。<br />

<strong>Caché</strong> は、 自 動 的 にソース・ジャーナル・ファイルの 宛 先 のシャドウ・コピーを 削 除 します。 削 除 対 象 のファイル (デジャー<br />

ナルされ、オープン・トランザクションを 含 まないファイル) をどれくらいの 期 間 保 持 するかを 構 成 できます。<br />

4.2 シャドウイングの 構 成<br />

このセクションでは、<strong>Caché</strong> でシャドウイングを 構 成 、 設 定 する 方 法 について 説 明 します。ここで 扱 う 手 順 は 以 下 のとおり<br />

です。<br />

• ソース・データベース・サーバの 構 成<br />

• 宛 先 のシャドウ・サーバの 構 成<br />

• 宛 先 のシャドウでのジャーナリング<br />

90 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウイングの 構 成<br />

重 要<br />

シャドウイングとミラーリングの 両 方 を 使 用 する 場 合 、シャドウイングするデータベースのミラーリングを 行<br />

う 非 同 期 メンバをミラーに 含 める 必 要 があります。すなわち、フェイルオーバー・メンバのみでミラーリング<br />

されるデータベースをシャドウイングすることはできません。その 際 は、 非 同 期 ミラー・メンバに 接 続 する<br />

ようにシャドウを 構 成 できます。この 章 の "シャドウの 定 義 " を 参 照 してください。 非 同 期 ミラー・メンバ 上<br />

のミラーリングされるデータベースとミラーリングされないデータベースの 両 方 をシャドウイングする 場 合 、<br />

ミラーリングされるシャドウとミラーリングされないシャドウを 個 別 に 構 成 する 必 要 があります。ミラーリング<br />

の 構 成 の 詳 細 は、"<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリング” の 章 を 参 照 してください。<br />

4.2.1 ソース・データベース・サーバの 構 成<br />

ソース・データベース・サーバでシャドウイングを 有 効 にするには、 宛 先 システムがソース・システムに TCP 接 続 できるか<br />

どうかを 事 前 に 確 認 しておきます。SSL によってこの 接 続 を 保 護 する 場 合 、%SuperServer SSL/TLS 構 成 が、ソースに<br />

存 在 する 必 要 があります。 詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “<strong>Caché</strong> での SSL/TLS の 使 用 法 ” の 章 で<br />

"SSL/TLS を 使 用 するための <strong>Caché</strong> スーパーサーバの 構 成 " を 参 照 してください。<br />

重 要<br />

シャドウ・サービスは、シングル・サーバ・ライセンスの 場 合 、システムを 実 行 できません。<br />

ソース・システムで 実 行 されている <strong>Caché</strong> インスタンスから 管 理 ポータルを 使 用 して、シャドウ・サービスを 有 効 にし、 接<br />

続 を 制 限 し、シャドウイングするデータベースのグローバル・ジャーナリングを 有 効 にします。さらに、シャドウイングを 開<br />

始 する 前 に、ソース・データベースと 宛 先 データベースを 同 期 化 する 必 要 があります。 以 下 のトピックでこれらの 手 順 に<br />

ついて 説 明 します。<br />

• シャドウ・サービスの 有 効 化<br />

• ジャーナリングの 有 効 化<br />

• データベースの 同 期 化<br />

管 理 ポータルを 使 用 しない、シャドウのデータ・ソースとのインタフェースに 使 用 できるメソッドとクエリの 詳 細 は、"インター<br />

システムズ・クラス・リファレンス" の "SYS.Shadowing.DataSource" クラスのドキュメントを 参 照 してください。<br />

また、 使 用 環 境 に 関 する 問 題 については、" 重 要 なジャーナリング 考 慮 事 項 " を 参 照 してください。<br />

4.2.1.1 シャドウ・サービスの 有 効 化<br />

シャドウイングを 使 用 するには、 管 理 ポータルの [セキュリティ 管 理 ] から、シャドウ・サービスを 有 効 にする 必 要 がありま<br />

す。 許 可 された 接 続 の IP アドレスを 入 力 して、シャドウイング・アクセスを 制 限 することもできます。<br />

1. 管 理 ポータルの [システム] > [セキュリティ 管 理 ] > [サービス] ページに 移 動 します。<br />

2. サービス 名 のリストで [%Service_Shadow] をクリックし、シャドウ・サービス・プロパティを 編 集 します。<br />

3. [サービスの 有 効 化 ] チェック・ボックスにチェックを 付 けます。[ 保 存 ] をクリックする 前 に、このデータベース・ソース<br />

に 接 続 できる IP アドレスを 制 限 することもできます。その 場 合 は、 以 下 の 手 順 を 実 行 してから [ 保 存 ] をクリックしま<br />

す。<br />

4. [ 許 可 された 接 続 ] ボックスの [IP アドレス] リストに、 前 に 入 力 したサーバ・アドレスが 表 示 されます。[ 追 加 ] をクリック<br />

して [IP アドレス] を 追 加 します。 使 用 するすべてのアドレスを 入 力 し 終 えるまで、この 手 順 を 繰 り 返 します。<br />

これらのアドレスは、 該 当 する 行 の [ 削 除 ] をクリックして 個 別 に 削 除 できます。また、[すべて 削 除 ] をクリックしてす<br />

べてのアドレスを 削 除 し、どのアドレスからも 接 続 を 許 可 することもできます。<br />

4.2.1.2 ジャーナリングの 有 効 化<br />

シャドウイングする 各 データベースがジャーナリングの 対 象 となっていることを 確 認 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 91


シャドウ・ジャーナリング<br />

1. 管 理 ポータルの [システム] > [ 構 成 ] > [ローカル・データベース] ページに 移 動 して、シャドウイングする 各 データ<br />

ベースの [ジャーナル] 列 を 確 認 します。<br />

2. このジャーナル 状 態 を [ ] から [ ] に 変 更 するには、 該 当 するデータベースの 行 の [ 編 集 ] をクリックし、デー<br />

タベースのプロパティを 編 集 します。<br />

3. [グローバル・ジャーナル 状 態 ] リストで、[はい] をクリックし、[ 保 存 ] をクリックします。<br />

既 定 では、CACHELIB、CACHE、DOCBOOK、および SAMPLES の 各 データベースはジャーナルされず、したがって、<br />

シャドウイングできません。また、CACHETEMP はジャーナルの 対 象 になりません。<br />

4.2.1.3 データベースの 同 期 化<br />

シャドウイングを 開 始 する 前 に、ソース・データベースとシャドウの 宛 先 のデータベースを 同 期 化 します。ソース・データ・<br />

サーバの 外 部 バックアップを 使 用 して、 宛 先 のシャドウでデータベースをリストアします。 詳 細 は、このドキュメントの “バッ<br />

クアップとリストア” の 章 を 参 照 してください。<br />

4.2.1.4 重 要 なジャーナリング 考 慮 事 項<br />

使 用 しているシステムに 影 響 する 可 能 性 のある 考 慮 事 項 については、 以 下 のセクションを 確 認 してください。<br />

• ソース・ジャーナル・ファイルの 削 除 の 管 理<br />

• 無 効 なソース・ジャーナリングへの 応 答<br />

• クラス・コンパイルのシャドウイング<br />

ソース・ジャーナル・ファイルの 削 除 の 管 理<br />

<strong>Caché</strong> は、シャドウイングのためにソース 上 でジャーナル・ファイルの 削 除 の 特 別 な 処 理 はしません。したがって、ユーザ<br />

の 責 任 で、ソースのジャーナル 設 定 を 構 成 して、シャドウが 必 要 とするジャーナル・ファイルが、 宛 先 のシャドウに 転 送 さ<br />

れるまで、 使 用 可 能 なままであるようにしてください。<br />

通 常 これは、シャドウを 中 断 したり、シャドウを 長 い 間 停 止 した 場 合 など、シャドウがソースに 深 刻 に 後 れを 取 った 場 合 に<br />

のみ 問 題 となります。<br />

無 効 なソース・ジャーナリングへの 応 答<br />

ソース 上 でジャーナリングを 無 効 にした 場 合 、 有 効 なシャドウを 維 持 するための 最 善 の 対 策 を 決 定 する 必 要 があります。<br />

ほとんどの 場 合 、<strong>Caché</strong> がジャーナリングを 無 効 にする 原 因 となった 状 態 を 解 決 した 後 、シャドウをソースと 再 同 期 させる<br />

必 要 があります。<br />

詳 細 は、このドキュメントの “ジャーナリング” の 章 の "ジャーナル 入 出 力 エラー" セクションを 参 照 してください。<br />

クラス・コンパイルのシャドウイング<br />

<strong>Caché</strong> は、クラスをコンパイルするために 使 用 されるグローバルを 含 むデータベースをジャーナリングします。クラスのコ<br />

ンパイル 中 にこれらのグローバルをジャーナリングする 必 要 はなく、そうすることは、 相 当 なジャーナル・ファイル 領 域 を<br />

要 します。したがって、 既 定 では、<strong>Caché</strong> は、クラス・コンパイル 中 は、ジャーナリングをオフにします。<br />

シャドウイングを 使 用 し、ソースのコンパイルに 依 存 して、シャドウ 上 のアプリケーション・コードを 更 新 する 場 合 、クラス・コ<br />

ンパイルをジャーナリングし、それらの 更 新 をシャドウ・データベースに 転 送 するように、 既 定 の 修 飾 子 を 変 更 (/journal=1<br />

によってコンパイル) します。それ 以 外 の 場 合 は、すべてのクラスを 再 コンパイルしない 限 り、ディザスタ・リカバリのため<br />

のシャドウを 使 用 できません。<br />

4.2.2 宛 先 のシャドウ・サーバの 構 成<br />

宛 先 のシャドウ・サーバでシャドウイングを 構 成 するには、まず、 宛 先 のシステムがソース・システムに TCP 接 続 できるか<br />

どうかを 確 認 します。<br />

92 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウイングの 構 成<br />

SSL を 使 用 する 場 合 、SSL/TLS クライアント 構 成 が、 宛 先 に 存 在 する 必 要 があります。 詳 細 は、"<strong>Caché</strong> セキュリティ 管 理<br />

ガイド" の “<strong>Caché</strong> での SSL/TLS の 使 用 法 ” の 章 の "SSL/TLS を 使 用 する <strong>Caché</strong> クライアント・アプリケーションに 関<br />

するメモ" を 参 照 してください。<br />

宛 先 のシステムで 実 行 されている <strong>Caché</strong> インスタンスの 管 理 ポータルから、 宛 先 のシャドウ・プロパティを 構 成 して、シャ<br />

ドウイングを 開 始 します。 以 下 のセクションでこれらの 手 順 について 説 明 します。<br />

• シャドウの 定 義<br />

• データベースのマップ<br />

• シャドウイングの 開 始<br />

管 理 ポータルを 使 用 せずに、シャドウの 宛 先 とのインタフェースに 使 用 できるメソッドとクエリの 詳 細 は、"インターシステ<br />

ムズ・クラス・リファレンス" の SYS.Shadowing.Shadow クラスのドキュメントを 参 照 してください。<br />

4.2.2.1 シャドウの 定 義<br />

管 理 ポータルの [システム] > [ 構 成 ] ページに 移 動 して、[ 接 続 性 ] 列 の 下 にある [シャドウサーバ 設 定 ] をクリックし、[シ<br />

ステム] > [ 構 成 ] > [シャドウサーバ 設 定 ] ページを 表 示 します。シャドウ・プロパティを 定 義 するには、 以 下 の 手 順 を 実 行<br />

します。<br />

1. [ 新 規 シャドウの 追 加 ] をクリックし、 宛 先 のサーバでシャドウを 定 義 します。<br />

重 要<br />

ミラーリングされるソース・データベース・サーバをシャドウイングする 場 合 は、 非 同 期 ミラー・メンバ<br />

に 直 接 接 続 するようにシャドウを 構 成 する 必 要 があります。フェイルオーバー・ミラー・メンバへは 接<br />

続 しないでください。<br />

また、ミラーリングされるデータベースとミラーリングされないデータベースの 両 方 を 非 同 期 ミラー・メ<br />

ンバからシャドウイングする 場 合 、それぞれに 個 別 のシャドウを 構 成 する 必 要 があります。<br />

以 前 に 定 義 したシャドウがあり、その 情 報 を 更 新 する 場 合 は、 更 新 するソース 設 定 の 行 の [ 編 集 ] をクリックします。<br />

2. [シャドウの 名 前 ] ボックスにこのシャドウを 識 別 するための 名 前 を 入 力 します。この 値 は、シャドウ ID とも 呼 ばれま<br />

す。システムはこの 名 前 を 使 用 して、 同 じシステムで 実 行 されているシャドウの 各 インスタンスを 区 別 します。<br />

注 釈<br />

シャドウ 名 にチルダ (~) 文 字 は 使 用 しないでください。これは 内 部 のシャドウ 処 理 で 使 用 されます。<br />

3. シャドウイングするソース・データベース・サーバの TCP/IP アドレスまたはホスト 名 (DNS) を [ソースの DNS 名 また<br />

は IP アドレス] ボックスに 入 力 します。<br />

4. [ソースのポート 番 号 ] ボックスに、シャドウイングするソースの <strong>Caché</strong> インスタンスのスーパーサーバ・ポート 番 号 を<br />

入 力 します。<br />

重 要<br />

中 断 したシャドウ 上 で IP アドレスまたはポート 番 号 を 変 更 した 場 合 、ユーザの 責 任 で、シャドウが 正<br />

しく 再 開 できることを 確 認 してください。<br />

5. [ 詳 細 ] をクリックし、 以 下 のオプションのフィールドに 入 力 します。<br />

• [ジャーナル・ファイル・ディレクトリ] — 宛 先 のシャドウ・システムにあるジャーナル・ファイル・ディレクトリのフル・<br />

パス 名 を 入 力 します。 適 切 なディレクトリを 検 索 するには、[ 参 照 ] をクリックします。このエントリを 更 新 するとき<br />

は、 以 下 の 点 を 考 慮 してください。<br />

– この 宛 先 上 で 複 数 のソース・インスタンスをシャドウイングしている 場 合 、インスタンスごとに 一 意 のジャーナ<br />

ル・ファイル・ディレクトリを 使 用 するようにしてください。<br />

– クラスタ・シャドウ 上 でジャーナル・ファイル・ディレクトリを 変 更 した 場 合 、シャドウイングを 停 止 し、 再 開 する<br />

までは、 新 しいクラスタ・ノードからのジャーナル・ファイルに 対 してのみ、その 変 更 が 有 効 となります。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 93


シャドウ・ジャーナリング<br />

• [フィルタ・ルーチン] — シャドウでジャーナル・レコードをデジャーナリングする 前 に、それらのレコードのフィルタ<br />

リングに 使 用 するオプションのフィルタ・ルーチン 名 ( 先 頭 の ^ は 省 略 ) を 入 力 します。このルーチンは、%SYS<br />

ネームスペース 内 にあります。 詳 細 は、"フィルタ・ルーチンの 作 成 " のセクションを 参 照 してください。<br />

• [ 古 いジャーナルのコピーの 保 存 日 数 ] — ソース・ジャーナル・ファイルのシャドウ・コピーを 保 存 する 日 数 を 入 力<br />

します。 既 定 では、<strong>Caché</strong> の 宛 先 は、デジャーナルを 終 了 し 次 第 、オープン・トランザクションがそのファイルで<br />

扱 われていない 限 り、ジャーナル・ファイルのコピーを 削 除 します。このフィールドに 値 を 入 力 して、 宛 先 でジャー<br />

ナル・ファイルのシャドウ・コピーをより 長 い 間 保 存 できます。<br />

例 えば、3 を 入 力 すると、ソース・ジャーナル・ファイルが、 最 低 3 日 間 保 存 され、 完 全 にデジャーナリングされ、<br />

開 かれたトランザクションが 含 まれていない 場 合 、ソース・ジャーナル・ファイルのシャドウ・コピーは 削 除 対 象 と<br />

なります。 経 過 時 間 は、ソース・ジャーナル・ファイルの 完 了 日 付 によって 判 断 されます。<br />

• [ 最 大 保 存 エラー・メッセージ 数 ] — <strong>Caché</strong> が 保 持 するシャドウイング・エラー 数 を 0 から 200 までの 値 で 入 力 し<br />

ます。 既 定 値 は、10 です。<br />

• [SSL 構 成 ] — 既 存 のクライアント 構 成 のリストから 選 択 します。シャドウ 接 続 に SSL を 使 用 しない 場 合 は、この<br />

エントリを 空 白 のままにします。 以 下 の 2 つの 条 件 のいずれかが 存 在 する 場 合 、ソースへのシャドウ 接 続 に 失<br />

敗 します。<br />

– ソースは SSL に 対 応 していないにもかかわらず、SSL 構 成 を 選 択 した。<br />

– ソースは SSL を 必 要 としているにもかかわらず、SSL 構 成 を 選 択 していない。<br />

• [シャドウの 更 新 のジャーナル 無 効 ] — このシャドウがシャドウ・データベースに 適 用 する 更 新 のジャーナリングが<br />

行 われないようにするには、データベース 自 体 のジャーナル 設 定 に 関 係 なく、 既 定 の 設 定 の [いいえ] を [はい]<br />

に 変 更 します。<br />

6. [ 保 存 ] をクリックして、ページのデータベース・マッピング 部 分 を 有 効 にします。 詳 細 は、"データベースのマップ" を<br />

参 照 してください。<br />

フィルタ・ルーチンの 作 成<br />

フィルタ・ルーチンを 指 定 すると、シャドウのデジャーナリング・プロセスは、%SYS ネームスペースからそのフィルタ・ルー<br />

チンを 実 行 します。フィルタ・ルーチンの 形 式 は 以 下 のようになります。<br />

MyShadowFilter(pid,dir,glo,type,addr,time)<br />

以 下 のテーブルで、シャドウイング・プロセスが 入 力 値 をフィルタ・ルーチンに 渡 す 方 法 について 説 明 します。<br />

引 数<br />

pid<br />

dir<br />

glo<br />

type<br />

addr<br />

time<br />

説 明<br />

レコードのプロセス ID<br />

重 要 なリモート・システム ID が 設 定 されているレコードの 場 合 、その pid はコンマ (,) で 区 切 られ<br />

た 2 つのフィールドで 構 成 されます。 最 初 のフィールドがプロセス ID、2 番 目 のフィールドがリモー<br />

ト・システム ID です。<br />

ソース・データベース・ディレクトリ (シャドウ・データベース・ディレクトリではありません)<br />

グローバル ( 添 え 字 ) 形 式 のグローバル 参 照 ( 先 頭 の ^ なし)<br />

レコードのタイプ。 有 効 な 値 は、“S” (SET)、“s” (BITSET)、“K” (KILL)、“k” (ZKILL) です。<br />

ジャーナル・ファイルでのレコードのオフセット<br />

レコードのタイムスタンプ<br />

94 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウイングの 構 成<br />

フィルタ・ルーチンのロジックでは、デジャーナリング・プロセスでレコードをスキップする 場 合 は 0 を 返 します。それ 以 外<br />

の 場 合 、シャドウはレコードをデジャーナルします。<br />

注 意<br />

フィルタ・ルーチンのローカル 変 数 に 対 して New コマンドを 実 行 し、シャドウ・ルーチンで 使 用 するロー<br />

カル 変 数 を 誤 って 上 書 きしないようにします。<br />

以 下 のフィルタ・ルーチン 例 では、デジャーナリングのプロセスで X で 始 まる (つまり ^X*、ここで * はワイルドカードを 表<br />

す) グローバルのジャーナル・レコードをスキップし、デジャーナルした 各 レコードをログに 記 録 します。 続 いて、ジャーナ<br />

ル・レコードに oldvalue および newvalue が 含 まれていて、それらの 値 が 同 一 の 場 合 は、そのジャーナル・レコードがス<br />

キップされます。<br />

MyShadowFilter(pid,dir,glo,type,addr,time) { ;Sample Shadow Filter Routine<br />

// Disclaimer: This routine is for illustration purpose only.<br />

If $Extract($Piece(glo,”(“,1),1)=”X” Quit 0<br />

Do ##class(%Library.Device).Broadcast("","Skip updating "_glo) ;log<br />

Quit 0<br />

}<br />

Do ##class(%Library.Device).Broadcast("",pid_","_dir_","_glo_","_type_","_addr_","_time) ;log<br />

// To retrieve more information about the record than provided --<br />

Set jrecoref=##class(%SYS.Journal.Record).%OpenId(addr) ;open the record<br />

If jrecoref.%IsA("%SYS.Journal.SetKillRecord") && (jrecoref.NumberOfValues=2)<br />

&& (jrecoref.NewValue=jrecoref.OldValue) {<br />

Do ##class(%Library.Device).Broadcast("","Skip applying the SET") ;log<br />

Quit 0<br />

}<br />

Quit 1<br />

}<br />

注 釈<br />

フィルタ・ルーチン 内 でグローバルを 参 照 する 際 にドット 構 文 を 使 用 する 場 合 、 先 頭 に ^ を 使 用 する 必 要 があ<br />

ります。<br />

以 下 のいずれの 方 法 でも、フィルタ・ルーチンの 使 用 を 指 定 できます。<br />

• [システム] > [ 構 成 ] > [シャドウサーバ 設 定 ] ページで、[ 新 規 サーバの 追 加 ] を 選 択 するとき、または 既 存 のシャドウ<br />

で [ 編 集 ] を 選 択 するとき、[ 詳 細 ] 設 定 の [フィルタルーチン] ボックスにフィルタ・ルーチンの 名 前 を 入 力 します。<br />

• ^SHADOW を 使 用 して、シャドウを 編 集 します。<br />

4.2.2.2 データベースのマップ<br />

構 成 設 定 を 正 常 に 保 存 した 後 、ソースからシャドウへのデータベース・マッピングを 追 加 または 削 除 できます。<br />

1. [このシャドウのデータベース・マッピング] の 横 にある [ 追 加 ] をクリックし、[シャドウ・マッピングの 追 加 ] ダイアログ・<br />

ボックスを 使 用 して、ソース・システムのデータベースを 宛 先 システムのディレクトリに 関 連 付 けます。<br />

2. [ソース・データベース・ディレクトリ] ボックスに、ソース・データベース・ファイル CACHE.DAT の 物 理 パス 名 を 入 力<br />

します。[シャドウ・データベース・ディレクトリ] ボックスに、ソース・データベース・ファイルに 対 応 する 宛 先 のシャドウ・<br />

データベース・ファイルのパス 名 を 入 力 して、[ 保 存 ] をクリックします。<br />

3. 事 前 に 入 力 されたマッピングがあるかどうかを 確 認 して、 無 効 または 不 要 なマッピングの 横 にある [ 削 除 ] をクリックし<br />

ます。シャドウイングを 開 始 するには、 少 なくとも 1 つのデータベース・マッピングが 必 要 です。<br />

4. [ 閉 じる] をクリックして、[システム] > [ 構 成 ] > [シャドウサーバ 設 定 ] ページに 戻 ります。<br />

CACHESYS データベースのシャドウイングに 固 有 の 説 明 については、"ソース・マネージャのディレクトリのシャドウイン<br />

グ" を 参 照 してください。<br />

ソース・データベース・サーバがクラスタの 一 部 になっている 場 合 、 宛 先 のシャドウの 構 成 設 定 はわずかに 異 なります。ク<br />

ラスタ・システムのシャドウイングの 詳 細 は、このドキュメントの “クラスタ・ジャーナリング” の 章 にある "クラスタ・シャドウ<br />

イング" のセクションを 参 照 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 95


シャドウ・ジャーナリング<br />

ソース・マネージャのディレクトリのシャドウイング<br />

このリリースでは、ターゲット (シャドウ・データベース) が、シャドウ 上 の CACHESYS データベースでない 場 合 、CACHESYS<br />

データベースをシャドウイングのソース・データベースとして 使 用 できます。<br />

現 在 、ソース・マネージャのディレクトリ (CACHESYS) を 含 むデータベースのマッピングをシャドウ 構 成 に 追 加 する 唯 一<br />

の 方 法 は、SYS.Shadowing.Shadow クラス API を 使 用 することです。 以 下 に 例 を 示 します。<br />

Set ShadowOref=##class(SYS.Shadowing.Shadow).%OpenId("MyShadow")<br />

Do ShadowOref.SetDatabaseToShadow("C:\MyCache\Mgr","D:\MyCacheShdw\Shdwsys")<br />

Set rc=ShadowOref.%Save()<br />

ここで、C:\MyCache\Mgr は、CACHESYS データベースのソース・マネージャのディレクトリ、D:\MyCacheShdw\Shdwsys<br />

は、 宛 先 の CACHESYS データベースでないデータベースのディレクトリです。<br />

詳 細 は、"インターシステムズ・クラス・リファレンス" の SYS.Shadowing.Shadow のエントリを 参 照 してください。<br />

4.2.3 宛 先 のシャドウでのジャーナリング<br />

シャドウイングの 宛 先 となるすべてのデータベースをジャーナルに 記 録 することを 推 奨 します。その 結 果 、 適 用 された 更<br />

新 のジャーナルを 宛 先 のシャドウで 維 持 できるので、 高 い 冗 長 性 が 得 られます。<br />

重 要<br />

これらのジャーナルは、ソース・データベース・サーバから 得 られるジャーナル・ファイルと 同 じディレクト<br />

リには 置 かないようにします。<br />

シャドウのストレージ 容 量 の 消 費 を 抑 えるために、<strong>Caché</strong> シャドウは、ソース・ジャーナル・ファイルがデジャーナルされる<br />

と、シャドウでオープン・トランザクションがそのファイルで 扱 われておらず、そのファイルが 構 成 された 削 除 条 件 を 満 たす<br />

限 り、このファイルの 宛 先 のシャドウ・コピーを 削 除 します。"シャドウの 定 義 " の [ 古 いジャーナルのコピーの 保 存 日 数 ]<br />

フィールドの 説 明 を 参 照 してください。<br />

宛 先 のシャドウ・データベースをジャーナルしない 場 合 は、その CACHESYS データベースのジャーナリングも 無 効 にす<br />

る 必 要 があります。<strong>Caché</strong> は、CACHESYS データベースの ^SYS グローバルでのシャドウイングで 最 後 に 処 理 された<br />

ジャーナル・レコードのジャーナル・アドレスとジャーナル・ファイル 名 を 保 存 します。これは、シャドウイングが 失 敗 した 場<br />

合 に、シャドウイングを 再 開 するチェックポイントとなります。<br />

注 意<br />

シャドウの 宛 先 で CACHESYS データベースをジャーナルしていても、 宛 先 のシャドウ・データベースを<br />

ジャーナルしていないとします。この 場 合 、シャドウがクラッシュして 再 起 動 したときの CACHESYS の<br />

チェックポイントは、ジャーナル・ストリームの 中 で、シャドウ・データベースにコミットした 最 後 のレコードよ<br />

りも 後 の 時 点 となる 可 能 性 があります。その 結 果 、 再 開 されたシャドウは、 効 果 的 にいくつかのジャーナ<br />

ル・エントリの 処 理 をスキップできます。<br />

4.3 シャドウイングの 管 理 と 監 視<br />

<strong>Caché</strong> では、 管 理 ポータルを 通 してシャドウ 処 理 へのインタフェースを 提 供 しています。また、^SHADOW ユーティリティ<br />

または SYS.Shadowing API クラス、SYS.Shadowing.DataSource および SYS.Shadowing.Shadow を 使 用 して、シャドウ<br />

処 理 を 構 成 および 管 理 することもできます。このドキュメントでは、 管 理 ポータルを 使 用 した 手 順 について 説 明 し、シャド<br />

ウイング API を 使 用 した 例 をいくつか 示 します。<br />

シャドウの 状 態 は 3 つの 状 態 のうちのいずれかになります。その 状 態 に 応 じて、さまざまなシャドウのアクションを 実 行 で<br />

きます。 以 下 のセクションでは、 各 状 態 とアクションについてその 相 互 関 係 を 含 めて 説 明 します。<br />

シャドウの 状 態<br />

シャドウの 状 態 は、 必 ず 以 下 のいずれかになります。<br />

96 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウイングの 管 理 と 監 視<br />

• Stopped — シャドウを 停 止 すると、そのプロパティを 変 更 できます。これは、 新 規 に 作 成 したシャドウの 初 期 状 態 で<br />

す。<br />

• Processing — シャドウを 実 行 しているときはデータベースの 更 新 が 適 用 され、シャドウのプロパティは 変 更 できませ<br />

ん。<br />

• Suspended — シャドウを 一 時 停 止 すると、データベースの 更 新 は 適 用 されませんが、チェックポイントは 保 持 されま<br />

す。そのプロパティを 更 新 することはできますが、 変 更 の 中 には、 直 ちに 有 効 にならないものもあります。<br />

詳 細 は、"シャドウのチェックポイント" を 参 照 してください。<br />

シャドウのアクション<br />

シャドウで 可 能 なアクションには 以 下 の 4 つのタイプがありますが、 実 際 に 実 行 できるアクションは 現 在 のシャドウの 状 態<br />

とユーザ 特 権 によって 異 なります。<br />

• 開 始 および 再 開 — [ソース・イベントの 選 択 ] で 指 定 した 開 始 ポイントから、あるいは、 再 開 の 場 合 、 適 切 なチェック<br />

ポイントから、 停 止 していたシャドウを 開 始 します。<br />

• 停 止 (ロールバックありまたはロールバックなし)— 処 理 中 のシャドウまたは 一 時 停 止 していたシャドウを 停 止 します。<br />

シャドウ 処 理 を 停 止 した 場 合 、<strong>Caché</strong> は、オープン・トランザクションをロールバックするかどうかの 選 択 を 提 供 しま<br />

す。<br />

• 一 時 停 止 — 処 理 中 のシャドウを 一 時 停 止 します。シャドウを 一 時 停 止 すると、シャドウの 停 止 とは 異 なり、そのシャド<br />

ウのオープン・トランザクション、ジャーナル・ファイル、およびチェックポイントが 維 持 されます。<br />

• 再 開 — 一 時 停 止 していたシャドウを、その 停 止 位 置 から 再 開 します。 致 命 的 なエラーが 発 生 した 場 合 、シャドウは<br />

中 止 され、 一 時 停 止 状 態 になります。<br />

以 下 の 図 は、 各 状 態 のシャドウで 実 行 可 能 なアクションを 示 しています。この 図 では、シャドウの 状 態 を 円 で 表 し、その 状<br />

態 で 実 行 できるアクションを 矢 印 で 表 しています。<br />

図 4–2: シャドウの 状 態 と 実 行 可 能 なアクションの 関 係<br />

シャドウ 処 理 の 考 慮 事 項<br />

シャドウの 状 態 をいつ、どのようにして 変 更 するかを 決 定 する 際 、 以 下 の 条 件 に 留 意 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 97


シャドウ・ジャーナリング<br />

• 停 止 したシャドウは、<strong>Caché</strong> の 再 開 によって、 自 動 的 に 開 始 または 再 開 しません。この 章 で 説 明 しているように、 停<br />

止 したシャドウを 明 示 的 に 開 始 または 再 開 する 必 要 があります。 反 対 に、<strong>Caché</strong> を 起 動 すると、 以 前 の <strong>Caché</strong> セッ<br />

ションで 停 止 状 態 ではなかったシャドウが 自 動 的 に 再 開 します。<br />

• 一 時 停 止 しているシャドウは 開 始 できません。 処 理 を 再 開 するか、シャドウを 停 止 してから 開 始 する 必 要 があります。<br />

• ロールバックでシャドウを 停 止 した 後 は、 再 開 を 選 択 しないでください。シャドウ・データベースは、シャドウが 前 回 の<br />

停 止 のジャーナルの 場 所 に 到 達 するまで、 判 定 不 可 能 な 状 態 となる 場 合 があります。<br />

管 理 ポータルでは、 定 義 されたシャドウに 対 するタスクを 以 下 の 2 つの 方 法 で 実 行 できます。<br />

• シャドウ 管 理 タスク には、システム・マネージャの 特 権 が 必 要 です。システム 管 理 タスク ([システム] > [ 構 成 ] ページ)<br />

の [ 構 成 ] メニューから、[ 接 続 性 ] 列 の [シャドウサーバ 設 定 ] をクリックします。<br />

• シャドウ 処 理 タスク には、オペレータの 特 権 が 必 要 です。[ホーム] ページの [ 処 理 ] メニューから、[シャドウ・サーバ]<br />

を 選 択 して、[このシステムをシャドウ・サーバとして 設 定 ] をクリックします。<br />

これらのシャドウイング・タスクをプログラムで 実 行 する 方 法 の 詳 細 は、"インターシステムズ・クラス・リファレンス" の<br />

SYS.Shadowing.Shadow エントリの 個 々のメソッドの 説 明 を 参 照 してください。<br />

4.3.1 シャドウのチェックポイント<br />

<strong>Caché</strong> は、シャドウイング・プロセスを 通 じて 定 期 的 にチェックポイントを 作 成 します。シャドウのチェックポイントは、 以 下<br />

の 意 味 を 持 つソース・ジャーナルのシャドウ・コピーにおける 場 所 です。<br />

1. それ 以 前 のすべてのレコードが、シャドウ・データベースに 適 用 されていると 見 なされます。<br />

2. データベースの 整 合 性 に 関 して 言 えば、シャドウが 一 時 停 止 した 後 のチェックポイントから 再 開 するのが 安 全 です。<br />

SYS.Shadowing.Shadow クラスの CheckPointInfo メソッドを 使 用 してチェックポイント 情 報 を 取 得 できます。<br />

4.3.2 シャドウ 管 理 タスク<br />

[システム] > [ 構 成 ] > [シャドウサーバ 設 定 ] ページには、 定 義 された 各 シャドウが 表 示 されます。 各 シャドウには、 名 前 、<br />

状 態 、ソース 名 とポート、 開 始 ポイント、フィルタ、およびそのシャドウ 構 成 で 実 行 するアクション 項 目 が 示 されます。 必 要<br />

なタスクを 実 行 するには、 以 下 のオプションをクリックします。<br />

• [ 編 集 ] — 新 しいシャドウの 追 加 時 に 入 力 したフィールドの 更 新 内 容 を 許 可 します。これらの 設 定 の 詳 細 は、"シャド<br />

ウの 定 義 " を 参 照 してください。シャドウが 処 理 中 の 場 合 、 編 集 は 保 存 できません。<br />

• [ 開 始 ] — 選 択 した 開 始 ポイントからシャドウ 処 理 を 開 始 します。シャドウが 停 止 している 場 合 に 利 用 できるオプション<br />

です。 詳 細 は、"シャドウイングの 開 始 " を 参 照 してください。<br />

• [ 再 開 ] — シャドウを 停 止 した 際 にオープン・トランザクションをロールバックしたかどうかによって、 適 切 なチェックポ<br />

イントからシャドウ 処 理 を 開 始 します。 詳 細 は、"シャドウイングの 再 開 " を 参 照 してください。<br />

• [ 停 止 ] — シャドウ 処 理 を 停 止 します。シャドウが 処 理 中 または 一 時 停 止 中 の 場 合 に 利 用 できるオプションです。オー<br />

プン・トランザクションをロールバックしたい 場 合 、[オープン・トランザクションのロールバック] チェックボックスにチェッ<br />

クを 付 けます。 詳 細 は、"シャドウイングの 停 止 " を 参 照 してください。<br />

• [ 削 除 ] — シャドウ 定 義 全 体 を 削 除 します。 削 除 するにはシャドウを 停 止 する 必 要 があります。<br />

4.3.2.1 シャドウイングの 開 始<br />

シャドウの 定 義 を 追 加 すると、[システム] > [ 構 成 ] > [シャドウサーバ 設 定 ] ページのシャドウのリストに 表 示 されます。シャ<br />

ドウをこのページから 開 始 できます。<br />

98 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウイングの 管 理 と 監 視<br />

1. シャドウイング・プロセスを 開 始 する 前 に、シャドウイングするソースのデータベースと 宛 先 のデータベースを 同 期 化<br />

していること、およびソース・データベースを 対 応 する 宛 先 データベースにマップ 済 みであることを 確 認 します。<br />

2. 開 始 するシャドウ 名 の 行 の [ 開 始 ] をクリックします。<br />

3. ソース・インスタンスの 位 置 情 報 を 確 認 後 、[ソース・イベントの 選 択 ] をクリックして、シャドウイングを 開 始 する 位 置 を<br />

選 択 します。ソース・ジャーナル・ファイル・ディレクトリの 使 用 可 能 なソース・イベントを 示 すページが 表 示 されます。<br />

シャドウイングの 開 始 前 に、ソース・イベントを 選 択 する 必 要 があります。 詳 細 は、ソース・イベントの 選 択 のセクショ<br />

ンを 参 照 してください。<br />

管 理 ポータルから、 処 理 されているシャドウを 開 始 しようとすると、 以 下 の 警 告 が 表 示 されます。<br />

*** WARNING ***<br />

There is a checkpoint from previous shadowing session.<br />

You might want to RESTART the shadow from that<br />

checkpoint instead.<br />

If you do START, the checkpoint and any remaining<br />

shadow copies of journal files from previous shadowing<br />

session will be deleted.<br />

Are you sure you want to start shadowing<br />

この 警 告 のように、 既 に 処 理 しているシャドウを 開 始 すると、<strong>Caché</strong> は、すべてのチェックポイントをクリアし、 最 初 のチェッ<br />

クポイントとして 選 択 した 開 始 ポイントを 保 存 します。また、このプロセスは、ソース・ジャーナル・ファイルの 残 りのすべて<br />

のシャドウ・コピーを 削 除 し、ファイル 間 の 重 複 の 可 能 性 にかかわらず、ソースから 新 しいコピーを 取 得 します。 新 しい 開<br />

始 ポイントが、シャドウ・データベースの 状 態 と 一 致 するようにしてください。<br />

1 つの <strong>Caché</strong> のインスタンス 上 で 複 数 のシャドウを 実 行 する 場 合 は、" 一 般 メモリ・ヒープの 考 慮 事 項 " を 参 照 して 必 要<br />

な 調 整 の 詳 細 を 確 認 してください。<br />

ソース・イベントの 選 択<br />

宛 先 のシャドウの 開 始 では、ジャーナル 対 象 データベースのシャドウイングを 開 始 するデータ・ソース・サーバで、ジャー<br />

ナル・ファイルからソース・イベントを 選 択 する 必 要 があります。<br />

[ソース・イベントの 選 択 ] をクリックして、シャドウイングに 有 効 な 開 始 ポイントとなる、ソース・データベースのジャーナル・<br />

イベントのリストを 表 示 します。このリストで、ソース・イベントのシャドウイングを 開 始 する 時 間 をクリックします。ソース・デー<br />

タベースと 宛 先 データベースを 同 期 化 した 後 の 開 始 ポイントを 選 択 します。<br />

例 えば、<strong>Caché</strong> はバックアップが 成 功 すると、ジャーナル・ファイルを 自 動 的 に 切 り 替 えます。シャドウイング・プロセスを<br />

開 始 する 前 に、 正 しくバックアップしたソースのファイルを 宛 先 のシャドウ・データベースでリストアすることにより、データ<br />

ベースを 同 期 化 します。シャドウで、[システム] > [ 構 成 ] > [シャドウサーバ 設 定 ] ページから [ソースイベントを 選 択 ] をク<br />

リックすると、 以 下 のようなイベントのリストが 表 示 されます。<br />

この 例 で、ソースのバックアップが 正 常 に 終 了 した 時 点 (データベースが 同 期 化 された 時 点 ) でシャドウイングを 開 始 す<br />

るには、end of backup () というイベントの 日 時 (22.05.08 08:30:54) をクリックします。<br />

一 般 メモリ・ヒープの 考 慮 事 項<br />

シャドウの 宛 先 でのジャーナル 読 み 取 りやデータベース 更 新 のプロセスは、 一 般 メモリ・ヒープ・サイズ (gmheap とも 呼 ば<br />

れます) から 割 り 当 てられた 共 有 メモリを 介 して 通 信 します。<strong>Caché</strong> の 複 数 のプロセスがこのメモリを 使 用 し、<strong>Caché</strong> がこ<br />

<strong>Caché</strong> データ 整 合 性 ガイド 99


シャドウ・ジャーナリング<br />

のメモリを 割 り 当 てる 方 法 には 非 常 に 複 雑 なやり 取 りが 必 要 であるので、<strong>Caché</strong> は、 必 要 に 応 じて 起 動 中 に gmheap 割<br />

り 当 てを 暗 黙 的 に 増 加 します。ほとんどの 場 合 、 手 動 で 割 り 当 てを 調 節 する 必 要 はありません。<br />

<strong>Caché</strong> 実 行 中 に 同 時 またはほとんど 同 時 に 複 数 のシャドウを 開 始 すると、gmheap 割 り 当 てエラーが 発 生 する 場 合 があり<br />

ます。シャドウをグループとして 開 始 することによって 割 り 当 てを 向 上 させることができます。 複 数 のシャドウをひとつずつ<br />

続 けて 開 始 (または 再 開 ) すると、 最 初 に 開 始 するシャドウが、 約 半 分 の 空 き gmheap メモリを 使 用 し、 二 番 目 に 開 始 す<br />

るシャドウが、 残 りの 半 分 を 使 用 するという 具 合 に 続 きます。 一 方 、 複 数 のシャドウをグループとして 開 始 すると、グルー<br />

プ 内 の 各 シャドウが 空 き gmheap メモリの 1/(N+1) を 使 用 します (N は、グループ 内 のシャドウの 数 )。したがって、 複 数 の<br />

シャドウをグループとして 開 始 すると、gmheap からのメモリ 割 り 当 てにおいて 考 えられるエラーが 回 避 されるだけでなく、<br />

シャドウ 間 でメモリが 均 等 に 割 り 当 てられます。<br />

詳 細 は、"インターシステムズ・クラス・リファレンス" の SYS.Shadowing.Shadow エントリの StartGroup メソッドを 参 照 して<br />

ください。<br />

[gmheap] のサイズは、 管 理 ポータルの [システム] > [ 構 成 ] > [ 詳 細 メモリ 設 定 ] ページで 調 整 できます。<br />

4.3.2.2 シャドウイングの 再 開<br />

シャドウイングを 停 止 した 場 合 、シャドウの 開 始 を 選 択 するほかに、シャドウを 再 開 することもできます。オープン・トランザ<br />

クションをロールバックしないことにした 場 合 、シャドウを 停 止 する 前 に 取 られた 最 後 のチェックポイントから 処 理 が 開 始 さ<br />

れます。シャドウを 停 止 した 際 にロールバックすることを 選 択 した 場 合 、シャドウの 処 理 は、シャドウが 停 止 した 際 に 最 初<br />

に 開 かれていたトランザクションの 前 のチェックポイントから 開 始 します。シャドウの 再 開 には、 前 回 シャドウを 停 止 した 時<br />

から 保 持 されているジャーナル・ファイルが 再 利 用 されます。<br />

4.3.2.3 シャドウイングの 停 止<br />

シャドウイングを 停 止 する 際 、[オープン・トランザクションのロールバック] チェックボックスにチェックを 付 けるまたはチェッ<br />

クを 外 すことによって、オープン・トランザクションをロールバックするかどうかを 選 択 できます。<br />

ロールバックなしの 停 止<br />

ロールバックしないことを 選 択 する 場 合 、シャドウの 一 時 停 止 と 同 様 ですが、さらに 権 限 が 必 要 です。 現 在 のチェックポイ<br />

ントを 維 持 したいが、 一 時 停 止 したシャドウのように 再 起 動 時 に <strong>Caché</strong> が 自 動 的 にシャドウを 再 開 することは 望 まない 場<br />

合 に、このオプションを 選 択 できます。 例 えば、<strong>Caché</strong> を 再 起 動 し、 起 動 した 後 、シャドウを 開 始 する 前 に 追 加 変 更 を 行<br />

う 必 要 がある 構 成 変 更 を 行 う 場 合 、このオプションを 使 用 します。<br />

ロールバックありの 停 止<br />

このオプションは、 主 にディザスタ・リカバリのためのものです。ロールバックは、シャドウ・データベースを、ソースと 同 期<br />

化 されてはいないものの、 論 理 的 に 整 合 性 のとれた 状 態 に 設 定 します。 停 止 してロールバックしたシャドウの 再 開 は 行<br />

わないでください。 誤 ってロールバック・オプションを 選 択 した 場 合 でも 回 復 できるようにするオプションがあるので、シャ<br />

ドウをソースと 再 同 期 させる 必 要 はなくなります。<br />

注 意<br />

ロールバックで 停 止 したシャドウを 再 開 すると、シャドウがロールバック 前 の 状 態 のポイントを 超 えるまで、<br />

シャドウが 不 定 の 状 態 のままとなる 場 合 があります。<br />

4.3.3 シャドウ 処 理 タスク<br />

シャドウのソース・サーバと 宛 先 サーバの 両 方 から、シャドウイング 処 理 の 状 態 を 監 視 できます。 管 理 ポータルで [システ<br />

ム] > [シャドウサーバ] ページに 移 動 します。このページでは、シャドウイング・プロセスをシャドウ 側 から 監 視 するか、ま<br />

たはデータ・ソース 側 から 監 視 するかによって、 適 切 なオプションを 選 択 します。 以 下 のセクションでは、 各 側 の 内 容 を 詳<br />

細 に 説 明 します。<br />

• 宛 先 シャドウの 管 理<br />

• データ・ソースの 監 視<br />

100 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウイングの 管 理 と 監 視<br />

4.3.3.1 宛 先 シャドウの 管 理<br />

宛 先 シャドウからシャドウ・プロセスを 監 視 および 管 理 できます。[このシステムをシャドウ・サーバとして 設 定 ] をクリックし、<br />

このシャドウ・マシンのソース・サーバおよび 各 項 目 で 実 行 できる 関 連 アクションのリストを 表 示 します。[システム] > [シャ<br />

ドウサーバ] > [シャドウ] ページには、 定 義 済 みの 各 シャドウが、 以 下 のテーブルで 説 明 する 情 報 と 共 に 一 覧 表 示 され<br />

ます。<br />

フィールド<br />

名 前<br />

状 態<br />

チェックポイント<br />

エラー<br />

オープン・トランザク<br />

ション<br />

待 ち 時 間<br />

説 明<br />

シャドウの 名 前 。<br />

このセクションで 前 述 の、 停 止 、 処 理 、 一 時 停 止 の 3 つのシャドウイング 状 態 のいずれか。<br />

処 理 を 開 始 する 際 、 接 続 を 試 行 中 の 状 態 が 表 示 される 場 合 があります。<br />

安 全 に 処 理 を 再 開 できる、ジャーナルのシャドウ・コピーのオフセットの 場 所 。<br />

シャドウの 宛 先 で 報 告 されたエラーの 数 。<br />

シャドウ 上 にオープン・トランザクションがあるかどうか、および、ある 場 合 にはその 数 を 示<br />

します。<br />

ソースからコピーしたが、シャドウ・データベースにはまだ 適 用 していないジャーナル・レコー<br />

ドをシャドウが 処 理 する 推 定 時 間 。<br />

必 要 なタスクを 実 行 するには、 以 下 のオプションをクリックします。<br />

• [ 詳 細 ] — 選 択 したこのシャドウイング 構 成 の 詳 細 が 表 示 されます。<br />

• [ 再 開 ] シャドウ 処 理 を 再 開 します。これは 一 時 停 止 しているシャドウ 処 理 で 利 用 できるオプションです。<br />

• [ 一 時 停 止 ] — シャドウ 処 理 を 一 時 停 止 します。シャドウが 処 理 中 の 場 合 に 利 用 できるオプションです。<br />

• [エラー] — 宛 先 のシャドウで 発 生 したエラーのリストを 表 示 します。<strong>Caché</strong> は、シャドウの 構 成 で 指 定 したエラーの 数<br />

の 詳 細 を 保 持 します。これらのエラーをクリアし、シャドウのリストに 戻 るには、[ 削 除 ] をクリックします。<br />

4.3.3.2 データ・ソースの 監 視<br />

[システム] > [シャドウサーバ] ページの [データソース] 列 からソース・システムのシャドウ・プロセスを 監 視 することもでき<br />

ます。<br />

• [このシステムをデータ・ソースとして 設 定 ] をクリックすると、このデータ・ソースに 定 義 されたシャドウのリストが 表 示 さ<br />

れます。[システム] > [シャドウサーバ] > [データソース] ページに、 定 義 済 みの 各 シャドウが、 以 下 のテーブルで 説<br />

明 する 詳 細 と 共 に 一 覧 表 示 されます。<br />

フィールド<br />

ポート<br />

シャドウ IP<br />

ジャーナル<br />

PID<br />

待 ち 時 間<br />

シャドウイング・レー<br />

ト<br />

説 明<br />

<strong>Caché</strong> ソース・インスタンスのスーパーサーバ・ポート 番 号 (プロセスID も 表 示 )。<br />

シャドウの 宛 先 マシンの IP アドレス。<br />

現 在 コピー 中 のジャーナル・ファイルのフル・ディレクトリ・パスおよびファイル 名 。<br />

シャドウ・ジャーナル・コピー・プロセスのプロセス ID 番 号 。<br />

シャドウがソース・ジャーナル・ファイルのコピーに 追 いつく 推 定 時 間 。これは、 宛 先 側<br />

で 使 用 できる、シャドウ・デジャーナリングの 待 ち 時 間 ではありません。<br />

シャドウがソース・ジャーナル・ファイルをコピーする 1 秒 あたりの 速 さ (KB 単 位 )。<br />

• [エラーログ] をクリックすると、[システム] > [シャドウサーバ] > [データソースエラー] ページが 表 示 されます。この<br />

ページには、そのデータ・ソースに 関 するエラーが 表 示 されます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 101


シャドウ・ジャーナリング<br />

この 情 報 をプログラム 的 に 取 得 することもできます。 詳 細 は、"インターシステムズ・クラス・リファレンス" の<br />

SYS.Shadowing.DataSource のエントリを 参 照 してください。<br />

4.4 シャドウの 宛 先 のディザスタ・リカバリへの 使 用<br />

オペレーティング・システムとコンピュータ・ハードウェアのメーカーは、 高 可 用 性 のためにさまざまなフェイルオーバー 方<br />

法 を 提 供 しています。<strong>Caché</strong> は、これらの 方 法 と 互 換 性 があります ( 詳 細 は、このドキュメントの “システム・フェイルオー<br />

バーの 方 法 ” の 章 を 参 照 してください)。また、<strong>Caché</strong> はディザスタ・リカバリ ( 災 害 復 旧 ) 戦 略 をサポートする 機 能 を 提 供<br />

しています。<strong>Caché</strong> シャドウイングは、 異 種 ネットワーク 構 成 に 対 し、 低 価 格 の 論 理 データの 複 製 を 提 供 します。シャドウ<br />

イングは、オフサイトの 災 害 から 回 復 するためのソリューションとして、コストの 面 で 優 れています。この 他 にも、 以 下 のよ<br />

うな 長 所 があります。<br />

• データの 損 失 が、 普 通 は 数 秒 から 数 分 の 少 ない 範 囲 にとどまります。<br />

• 主 要 な 場 所 から 離 れた 場 所 にシャドウを 置 くことができます。<br />

• 短 時 間 で 回 復 できます。<br />

ディスクの 障 害 、ハードウェアやソフトウェアの 障 害 によるデータベースの 品 質 低 下 、または 主 要 な 物 理 装 置 の 故 障 から<br />

の 回 復 手 段 として、シャドウイングは 優 れています。ただし、 悪 意 によるグローバルの 削 除 には 対 応 できません。<strong>Caché</strong><br />

シャドウ・サーバは、さまざまな TCP ネットワークを 持 つ 小 規 模 なサーバ 上 で、 複 数 の 異 なるプラットフォームからジャー<br />

ナルを 受 け 取 ることができます。シャドウイングでは 宛 先 で 発 生 した 論 理 的 な 更 新 のみを 扱 うので、 構 造 的 な 問 題 が 拡<br />

大 するリスクを 排 除 できます。<br />

<strong>Caché</strong> シャドウイングがディザスタ・リカバリ 戦 略 に 合 うかどうかを 決 定 する 前 に、 以 下 の 制 約 を 考 慮 する 必 要 があります。<br />

• シャドウ・サーバは、プロダクション・サーバ 上 で 性 能 に 影 響 しないように、プロダクション・ジャーナルを 非 同 期 的 に<br />

適 用 します。これにより、 一 般 的 には 数 秒 ですが、シャドウ・サーバに 適 用 されるデータに、 待 ち 時 間 が 発 生 します。<br />

その 結 果 、シャドウ・サーバ・データベースを 使 用 する 場 合 、わずかな 時 差 が 生 じることになります。プロダクション・<br />

サーバとシャドウ・サーバの 接 続 が 継 続 的 に 切 断 された 場 合 、この 待 ち 時 間 が 増 加 する 可 能 性 があります。<strong>Caché</strong><br />

は、ディザスタ・リカバリ 中 のシャドウ・サーバ・データベース 使 用 のリスクを 確 定 するため、シャドウ・サーバの 状 態 と<br />

進 行 状 況 を 監 視 するメカニズムを 提 供 しています。<br />

• 開 いたままのトランザクションが 残 る 可 能 性 があります。シャドウを 停 止 する 際 、 未 完 了 のトランザクションをロールバッ<br />

クするかどうかを 選 択 できます。これは、 災 害 時 のソース・ジャーナル・ファイルの 状 態 により 異 なる 場 合 があります。<br />

• データベース・クラスまたはテーブル 定 義 が 変 更 されると、これらを 基 にしたクエリは、 自 動 的 にインスタンスのクエリ・<br />

キャッシュから 削 除 されます。しかし、シャドウのソースのクラスまたはテーブル 定 義 に 対 する 更 新 をしても、シャドウ<br />

の 宛 先 のクエリ・キャッシュは 自 動 的 に 削 除 されません。したがって、 宛 先 のクエリ・キャッシュの 一 部 はもはや 有 効<br />

でなくなっている 可 能 性 があります。このため、プロダクション・サーバでそのような 変 更 が 行 われた 後 は、DR を 目 的<br />

とするシャドウ・サーバのクエリ・キャッシュを 手 動 で 削 除 する 必 要 があります。クエリ・キャッシュ 手 動 削 除 の 指 示 を 含<br />

む、クエリ・キャッシュについての 詳 細 は、"<strong>Caché</strong> SQL の 使 用 法 " の “クエリ・キャッシュ” の 章 を 参 照 してください。<br />

シャドウ・サーバのプロダクション・サーバへの 置 き 換 えは 自 動 ではありません。 以 下 の 手 順 は、シャドウ・サーバを 回 復<br />

する 方 法 に 焦 点 を 当 てています。データベース・システムがアプリケーション・サーバとして 動 作 している 場 合 、リカバリを<br />

高 速 にするために、 同 一 のアプリケーションをシャドウ・システムにインストールしてください。<br />

シャドウ・システムをマスタ・データベースとして 使 用 するには、 以 下 の 手 順 を 実 行 します。<br />

1. シャドウ・サーバのシャドウイング 停 止 手 順 に 従 います。<br />

2. <strong>Caché</strong> を 停 止 して、 以 下 のいずれかを 実 行 します。<br />

• シャドウ・システムの IP アドレスと 完 全 修 飾 ドメイン 名 (FQDN) を、 元 のデータベース・システムと 完 全 に 一 致 す<br />

るように 変 更 します。<br />

102 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウの 宛 先 のディザスタ・リカバリへの 使 用<br />

• シャドウ・システムの IP アドレスをポイントするように Web アプリケーションの DNS を 変 更 します。<br />

3. <strong>Caché</strong> を 再 起 動 します。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 103


5<br />

クラスタ・ジャーナリング<br />

この 章 では、<strong>Caché</strong> 内 の ECP ベースの 共 有 ディスク・クラスタ・システムにおけるジャーナリング 情 報 について 説 明 しま<br />

す。 以 下 のトピックについて 説 明 します。<br />

• クラスタ 上 のジャーナリング<br />

• クラスタ・フェイルオーバー<br />

• クラスタ・シャドウイング<br />

• ツールとユーティリティ<br />

関 連 情 報 は、 次 の 章 を 参 照 してください。<br />

• このドキュメントの “バックアップとリストア”<br />

• このドキュメントの “ジャーナリング”<br />

• このドキュメントの “シャドウ・ジャーナリング”<br />

• "<strong>Caché</strong> システム 管 理 ガイド" の “クラスタ 管 理 ”<br />

5.1 クラスタ 上 のジャーナリング<br />

ジャーナリングは、クラスタ・フェイルオーバーが 最 新 のデータベースを 取 得 し、トランザクション 処 理 を 実 行 するために<br />

必 要 です。クラスタ 内 の 各 ノードには、 固 有 のジャーナル・ファイルがあります。 復 元 可 能 性 を 確 保 するために、あるノー<br />

ドのジャーナル・ファイルには、クラスタにある 他 のすべてのノードからアクセスできる 必 要 があります。クラスタ・セッション<br />

ID (CSI) は、セッションが 始 まる 時 間 です。つまり、クラスタの 開 始 時 間 であり、クラスタ 化 されたシステム 内 のそれぞれの<br />

ジャーナル・ファイルのヘッダに 格 納 されています。<br />

クラスタ 化 されないシステム 上 のジャーナル 情 報 に 加 え、 以 下 の 特 定 の 事 項 がクラスタ 化 されたシステムに 適 用 されま<br />

す。<br />

• クラスタ 化 されたデータベースの 更 新 は、スクラッチ・グローバル 以 外 は 常 にジャーナル ( 通 常 、マスタ・ノード 上 の<br />

み) されます。クラスタ・データベースでは、データベースのジャーナリング 属 性 が No に 設 定 されているグローバル<br />

もジャーナルされます。これは、そのジャーナルの 更 新 が、トランザクションの 内 部 で 行 われるか、 外 部 で 行 われるか<br />

という 点 には 関 係 ありません。<br />

• $Increment 関 数 によるデータベース 更 新 は、マスタ・ノード 上 と 同 様 に、ノードがマスタでない 場 合 はローカル・ノー<br />

ド 上 でジャーナルされます。<br />

• その 他 の 更 新 は、そのように 設 定 されている 場 合 には、ローカルでジャーナルされます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 105


クラスタ・ジャーナリング<br />

クラスタ 化 されたシステム 上 のジャーナル・ファイルは、 以 下 を 使 用 して 構 成 されます。<br />

• クラスタ・ジャーナル・ログ<br />

• クラスタ・ジャーナルのシーケンス 番 号<br />

ジャーナル・ファイルの 既 定 の 位 置 は、<strong>Caché</strong> インスタンスの 管 理 者 ディレクトリです。インターシステムズでは、システム<br />

での 動 作 を 実 行 する 前 にジャーナル・ファイルの 位 置 を 別 のディスクに 変 更 することにより、ジャーナル・ファイルをデー<br />

タベース・ファイル (CACHE.DAT ファイル) から 独 立 させることをお 勧 めします。<br />

注 意<br />

ジャーナリングは、^JOURNAL ルーチンを 使 用 して 停 止 できますが、クラスタ 環 境 では 停 止 しないでくだ<br />

さい。クラスタ 環 境 で 停 止 すると、 次 のバックアップまでの 間 、リカバリ 手 順 は 攻 撃 に 対 して 脆 弱 になりま<br />

す。<br />

5.1.1 クラスタ・ジャーナル・ログ<br />

クラスタのメンバで 使 用 されるジャーナル・ファイルは、クラスタの Pre-Image Journal (PIJ) ディレクトリにあるファイル<br />

CACHEJRN.LOG に 記 録 されます。ノードがクラスタを 構 成 している 場 合 、このファイルは、そのノードによって 管 理 され<br />

ているジャーナル・ファイルのリストを 保 持 しています。ノードがクラスタを 構 成 していない 場 合 、そのノードによって 管 理<br />

されるジャーナル・ファイルは、クラスタ・ジャーナル・ログに 記 録 されないことがあります。 詳 細 は、このドキュメントの<br />

“ジャーナリング” の 章 の "ジャーナル 履 歴 ログ" を 参 照 してください。<br />

以 下 はクラスタ・ジャーナル・ログの 一 部 の 例 です。<br />

0,_$1$DRA1:[TEST.50.MGR.JOURNAL]20030913.004<br />

1,_$1$DKA0:[TEST.50.MGR.JOURNAL]20030916.002<br />

0,_$1$DRA1:[TEST.50.MGR.JOURNAL]20030916.001<br />

0,_$1$DRA1:[TEST.50.MGR.JOURNAL]20030916.002<br />

1,_$1$DRA1:[TEST.5A.MGR.JOURNAL]20030916.002<br />

1,_$1$DRA1:[TEST.5A.MGR.JOURNAL]20030916.003<br />

コンマ 区 切 りの 各 行 の 最 初 の 値 は、2 番 目 のフィールドであるジャーナル・ファイルが 属 するノードのクラスタ・システム 番<br />

号 (CSN) です。このログは、クラスタのすべてのメンバ、 特 にクラスタから 除 外 されたメンバのジャーナル・ファイルを 確 認<br />

するときに 便 利 です。ノードが 再 起 動 するとノードの CSN は 変 更 されることがあります。<br />

ノードがクラスタに 結 合 すると、 現 在 のジャーナル・ファイルがジャーナル・ログに 追 加 されます。ジャーナルを 開 始 する<br />

処 理 、あるいはジャーナル・ファイルを 切 り 替 える 処 理 もエントリを 追 加 します。このログは、クラスタ・ジャーナル・リストア<br />

内 で、シャドウイングやジャーナル・ダンプ・ユーティリティによって 使 用 されます。<br />

5.1.2 クラスタ・ジャーナルのシーケンス 番 号<br />

更 新 順 序 を 示 す 記 録 を 必 要 とする 場 合 は、クラスタにマウントされたデータベースでグローバルをロックすることをお 勧 め<br />

します。<strong>Caché</strong> はこの 方 法 で、クラスタ・ノードのジャーナル・ファイルに 更 新 順 序 を 記 録 します。クラスタ・フェイルオー<br />

バーが 発 生 した 場 合 、すべてのノードのジャーナルが 適 切 な 順 序 で 提 供 されます。 更 新 は、それが 発 生 した 順 序 では<br />

デジャーナルされませんが、Lock コマンドと $Increment 関 数 によって 保 証 された 同 期 化 に 対 しては 有 効 です。<br />

クラスタ 化 されたデータベースをジャーナル・ファイルから 適 切 にリストアするには、 更 新 が 発 生 した 順 序 でそれを 適 用 す<br />

る 必 要 があります。データベース 更 新 の 各 ジャーナル・エントリの 一 部 であるクラスタ・ジャーナルのシーケンス 番 号 と、<br />

ジャーナル・ヘッダの 一 部 のクラスタ・セッション ID は、すべてのクラスタ・メンバのジャーナル・ファイルからトランザクショ<br />

ンを 順 番 に 並 べる 方 法 を 提 供 します。 各 クラスタ・セッションで、シーケンス 番 号 は 1 から 始 まり、18446744073709551619<br />

(つまり、2**64-1) まで 続 けることができます。<br />

クラスタのマスタ・ノードは、シーケンス 番 号 のマスタ・コピーを 保 持 します。マスタ・コピーは、データベースのマウント 中 、<br />

および Lock と $Increment の 使 用 ごとにインクリメントされます。シーケンスのマスタ 値 は、 処 理 の 種 類 によって、1 つあ<br />

るいはすべてのクラスタ・ノードに 送 信 されます。<br />

シーケンス 番 号 は、ジャーナル・リストアの 特 別 な 形 式 であるクラスタ・ジャーナル・リストアとシャドウイングで 使 用 されま<br />

す。 両 方 のユーティリティは、シーケンス 番 号 がクラスタ・セッション 中 に 単 調 増 加 するという 前 提 で 動 作 します。<br />

106 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・フェイルオーバー<br />

バックアップの 最 後 に、すべてのクラスタ・ノード 上 のクラスタ・ジャーナルのシーケンス 番 号 が 増 加 し、 前 のマスタ・クラス<br />

タ・ジャーナルのシーケンス 番 号 より 大 きくなります。 次 に、 新 しいクラスタ・ジャーナルのシーケンス 番 号 を 持 つジャーナ<br />

ル・マーカが、 現 在 のローカル・ジャーナル・ファイルに 配 置 されます。ある 意 味 では、ジャーナル・マーカはクラスタ・<br />

ジャーナルのシーケンス 番 号 のバリアとして 働 き、バックアップの 対 象 であるジャーナルされたデータベース 更 新 を、バッ<br />

クアップされなかったものから 分 離 します。バックアップのリストアに 続 き、ジャーナル・マーカのクラスタ・ジャーナルの<br />

シーケンス 番 号 からクラスタ・ジャーナルのリストアが 始 まり、 番 号 が 増 加 する 方 向 に 処 理 が 進 みます。<br />

また、^JRNMARK ユーティリティを 使 って 独 自 のジャーナル・マーカを 設 定 することもできます。 詳 細 は、"クラスタ 化 され<br />

たシステムでのジャーナル・マーカの 設 定 " を 参 照 してください。<br />

5.2 クラスタ・フェイルオーバー<br />

あるクラスタ・メンバで 障 害 が 発 生 した 場 合 、<strong>Caché</strong> クラスタ・フェイルオーバー 処 理 は、 他 のクラスタ・ノード 上 のデータ<br />

の 整 合 性 を 維 持 します。これにより、 残 ったクラスタ・メンバは 機 能 を 継 続 できます。クラスタ・フェイルオーバーが 正 常 に<br />

動 作 するには、 以 下 の 条 件 を 満 足 している 必 要 があります。<br />

• CACHE.DAT ファイルを 含 むすべてのディレクトリには、 動 作 中 のすべてのノードからアクセス 可 能 であること。<br />

• <strong>Caché</strong> の 実 行 中 は、ジャーナリングが 常 に 有 効 であること。<br />

• ネットワーキングが 適 切 に 構 成 されていること。<br />

クラスタ・メンバで 障 害 が 発 生 した 場 合 、クラスタ・マスタはクラスタ・フェイルオーバーを 実 行 します。マスタが 障 害 ノード<br />

である 場 合 、そのクラスタでの 所 属 期 間 が 最 も 長 いクラスタ・メンバが 新 しいマスタになり、フェイルオーバーを 実 行 しま<br />

す。クラスタ・フェイルオーバーには、2 つのフェーズがあります。<br />

1 番 目 のフェーズでは、クラスタ・マスタは 以 下 を 実 行 します。<br />

• それぞれのノード 上 にあるクラスタ PIJ とライト・イメージ・ファイル(CACHE.WIJ) を 確 認 し、どのリカバリが 必 要 である<br />

かを 判 断 します。<br />

• WIJ ファイルから、クラスタ・モードでマウントされたすべてのデータベースにリカバリを 実 行 します。<br />

このフェーズ 中 にエラーが 発 生 した 場 合 、クラスタがクラッシュし、さらにクラスタ・リカバリを 実 行 する 必 要 があります。<br />

2 番 目 のフェーズでは、クラスタ・マスタは 以 下 を 実 行 します。<br />

• すべてのクラスタ・メンバのジャーナルをリストアするために、 必 要 に 応 じて、プライベート・モードでデータベースを<br />

個 別 にマウントします。<br />

• プライベート・モードでマウントできない 場 合 、クラスタ・モードでデータベースのマウントを 試 行 します。<br />

• それぞれのクラスタ・メンバのジャーナル 用 に CACHE.WIJ ファイルに 保 存 され、 現 在 のインデックスの 後 ろに 存 在<br />

する <strong>Caché</strong> ジャーナル・エントリをすべてリストアします。 詳 細 は、"クラスタ・リストア" を 参 照 してください。<br />

• ノードで 失 敗 したジャーナル・ファイルにある 不 完 全 なトランザクションをロールバックします。<br />

• 新 しいクラスタ・マスタの 場 合 、ロック・テーブルを 変 更 します。それ 以 外 の 場 合 は、 失 敗 したノードのロックを 破 棄 し<br />

ます。<br />

フェイルオーバー 中 、すべてのクラスタ・メンバからのジャーナルは、データベースに 適 用 され、 不 完 全 なトランザクショ<br />

ンはすべてロールバックされます。クラスタ・フェイルオーバーが 適 切 に 完 了 したら、データベースの 劣 化 や 残 りのノード<br />

からのデータの 損 失 がなくなります。 失 われるデータはわずか ( 通 常 は、 最 後 の 1 秒 未 満 ) であり、 障 害 が 発 生 したノー<br />

ドから 他 のクラスタ・メンバには 認 識 できない 程 度 ですみます。<br />

フェイルオーバーが 正 常 に 動 作 しない 場 合 、クラスタがクラッシュするため、すべてのクラスタ・ノードを 停 止 してからクラ<br />

スタを 再 開 する 必 要 があります。 詳 細 は、"フェイルオーバーのエラー 条 件 " のセクションを 参 照 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 107


クラスタ・ジャーナリング<br />

5.2.1 クラスタ・リカバリ<br />

<strong>Caché</strong> がクラスタ・メンバ 上 で 停 止 するとリカバリが 発 生 します。どのように <strong>Caché</strong> が 停 止 したかによって、 手 順 が 変 わり<br />

ます。 正 常 なフェイルオーバーでは、リカバリ 手 順 は 極 めて 簡 単 で 自 動 的 に 行 われます。しかし、クラスタ 化 されたシステ<br />

ムがクラッシュした 場 合 、リカバリはより 複 雑 になります。<br />

クラスタでクラッシュが 発 生 すると、クラスタ 化 された <strong>Caché</strong> のノードは、クラスタ 内 のすべてのノードが 停 止 されるまでリス<br />

トアされません。 他 のすべてのクラスタ・メンバが 停 止 される 前 に、クラスタ・メンバが <strong>Caché</strong> スタートアップや、ディスクを<br />

クラスタ・マウントすることによってクラスタに 結 合 しようとする 場 合 、 以 下 のメッセージが 表 示 されます。<br />

ENQ daemon failed to start because cluster is crashed.<br />

すべてのメンバが 停 止 されると、それぞれのノードを 開 始 します。 開 始 する 最 初 のノードは、 異 常 なシステム・シャットダウ<br />

ンを 検 知 すると、<strong>Caché</strong> リカバリ 手 順 を 実 行 します。このノードが 新 しいクラスタ・マスタになります。クラスタ・マスタではな<br />

いクラスタ・メンバは、スレーブ・ノードとも 呼 ばれます。<br />

リカバリ・デーモン (RCVRYDMN) は、クラッシュしたノードがマスタかスレーブかにより、 動 作 中 のマスタ・ノードあるいは<br />

新 規 のマスタ・ノード 上 でリカバリを 実 行 します。リカバリを 有 効 にするには、ノードのデータベースと WIJ ファイルをクラ<br />

スタ 全 体 でアクセス 可 能 にする 必 要 があります。マスタは、それぞれのノード 上 の WIJ ファイルを 基 に、クラスタ 全 体 のリ<br />

カバリを 管 理 します。<br />

スレーブがクラッシュすると、マスタ・ノード 上 のリカバリ・デーモンが 以 下 を 実 行 します。<br />

1. WIJ ファイルによって 提 供 されるジャーナル 情 報 を 使 用 して、すべてのクラスタ・ジャーナル・リストアと 同 様 に、 共 通<br />

の 起 動 ポイントからすべてのクラスタ・ノード (クラッシュしたノードを 含 む) にジャーナル・ファイルを 適 用 します。<br />

2. クラッシュしたシステムのすべての 不 完 全 なトランザクションがロールバックされます。この 場 合 には、リカバリ・デー<br />

モンのホスト・システム 上 にロールバックがジャーナルされます。このため、ジャーナル・ファイルをリストアする 場 合 、<br />

あるノードのジャーナルの 不 完 全 なトランザクションのロールバックが 別 のノード 上 にジャーナルされるので、スタンド<br />

アロン・ジャーナル・リストアよりクラスタ・ジャーナル・リストアを 実 行 する 方 が 安 全 です。<br />

( 前 の) マスタがクラッシュすると、リカバリ・デーモンが 以 下 を 実 行 します。<br />

1. 前 述 の 手 順 1 にあるように、すべてのクラスタ・ノード 上 でジャーナル・ファイルが 適 用 されます。<br />

2. 前 述 の 2 つの 手 順 の 間 で、 新 しいマスタであるホスト・システム 上 のクラスタ・ジャーナルのシーケンス 番 号 が 調 整 さ<br />

れ、 古 いマスタであるクラッシュしたシステム 上 の 最 後 のジャーナル・エントリのシーケンス 番 号 より 大 きくなるように 設<br />

定 されます。これにより、クラスタ 全 体 のジャーナル・ファイルにおいてクラスタ・ジャーナル・シーケンスの 単 調 増 加<br />

プロパティが 保 証 されます。<br />

3. 前 述 のように、クラッシュしたシステムですべての 不 完 全 なトランザクションがロールバックされます。<br />

クラスタの 最 後 のノードがクラッシュした 場 合 、クラスタの 最 初 のノードの 再 開 にクラスタ・ジャーナル・リカバリが 含 ま<br />

れます。これには、クラッシュした 時 点 でオープンしていた (コミットされていない) トランザクションのロールバックが<br />

含 まれています。<br />

5.2.2 クラスタ・リストア<br />

通 常 、バックアップがリストアされてデータベースを 最 新 の 状 態 にするか、クラッシュの 時 点 の 状 態 に 復 元 した 後 に、ジャー<br />

ナル・ファイルが 適 用 されます。 最 後 のバックアップ 以 降 にクラスタから 離 脱 したノードまたは 新 たに 参 加 したノードがな<br />

い 場 合 は、そのバックアップに 対 応 するマーカからジャーナル・ファイルのリストアを 開 始 できます。 最 後 のバックアップ<br />

以 降 に 1 つ 以 上 のノードがクラスタに 参 加 している 場 合 は、リストアはかなり 複 雑 になります。<br />

ノードは、ノードが 適 切 な 構 成 で 再 開 するか、 起 動 後 にクラスタがデータベースをマウントすると、クラスタに 接 続 します<br />

( 起 動 時 に PIJ ディレクトリなどのその 他 のパラメータを 適 切 に 設 定 している 場 合 )。 後 者 の 場 合 にジャーナル・リストアを<br />

簡 単 に 行 うには、ノードがクラスタに 接 続 するとすぐにノード 上 のジャーナル・ファイルを 切 り 替 えます。<br />

108 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・フェイルオーバー<br />

クラスタの 最 後 のバックアップ 以 降 にクラスタに 参 加 した 各 ノードについては、 以 下 を 実 行 します。<br />

1. ノードの 最 新 バックアップをリストアします。<br />

2. ノードがクラスタに 参 加 する 前 にバックアップが 発 生 していた 場 合 、そのバックアップの 終 了 時 点 からノードがクラス<br />

タに 参 加 した 時 点 までの、 個 別 のジャーナル・ファイルをリストアします (ノードがクラスタに 参 加 したときにジャーナ<br />

ル・ファイルを 切 り 替 えておくと、この 手 順 が 容 易 になります)。<br />

3. 最 新 のクラスタ・バックアップをリストアします。<br />

4. バックアップが 終 了 したところからクラスタ・ジャーナル・ファイルをリストアします。<br />

このユーティリティの 実 行 に 関 する 詳 細 は、"クラスタ・ジャーナル・リストア" を 参 照 してください。<br />

クラスタに 参 加 する 前 のノードで 個 別 にマウントされたデータベースが、そのノードがクラスタに 参 加 した 後 でクラスタにマ<br />

ウントされている 場 合 は、この 手 順 によるデータベースのリストアが 最 適 です。これは、 以 下 の 点 を 前 提 にしています。<br />

• クラスタ・バックアップではすべてのクラスタ・マウントされているデータベースを 扱 い、システムのみのバックアップで<br />

は 個 別 のデータベースを 扱 っていること。 定 義 上 、 個 別 のデータベースとは、クラスタの 別 のシステムからはアクセス<br />

できないものを 指 します。<br />

• 目 的 のノードが、 最 後 のクラスタ・バックアップ 以 降 にクラスタを 離 脱 したものではなく、それ 以 降 にクラスタに 参 加 し<br />

たものでもないこと。<br />

さらに 複 雑 なシナリオでは、これらの 前 提 が 成 り 立 たないことがあります。 例 えば、すべてのクラスタ・マウント・データベー<br />

スを 1 つのノードで 集 中 的 にバックアップするのではなく、 個 別 のデータベースと 選 択 したクラスタ・マウント・データベー<br />

スを 各 ノードでバックアップするように 構 成 している 場 合 、1 番 目 の 前 提 は 成 り 立 たなくなります。<br />

この 場 合 、 一 度 に 1 つのデータベースをリストアすることによって 分 散 型 の 方 法 を 採 る 必 要 があります。それぞれのデー<br />

タベースでは、リストア 手 順 は 基 本 的 に 同 じです。<br />

1. そのデータベースを 扱 う 最 新 バックアップをリストアします。<br />

2. バックアップ 後 にクラスタに 参 加 したノードについては、その 参 加 時 点 までの 個 別 のジャーナル・ファイルをリストアし<br />

ます。<br />

3. その 時 点 から 時 間 順 にクラスタ・ジャーナル・ファイルをリストアします。<br />

注 意<br />

データベースが 常 に 同 じノード 上 に 個 別 にマウントされているとしても、そのノードのジャーナル・ファイ<br />

ルのみを 適 用 するよりも、クラスタ・ジャーナル・ファイルをリストアするほうが 安 全 です。ノードがクラスタ<br />

の 一 部 であると、ノードがクラッシュまたは 終 了 した 場 合 に、ノード 上 のオープン・トランザクションは、クラ<br />

スタの 動 作 中 のノードによってロールバックされ、クラスタの 動 作 中 のノード 上 にジャーナルされます。ク<br />

ラスタ・ジャーナル・ファイルをリストアすることにより、 別 のノードのジャーナル・ファイルでロールバックし<br />

続 けることができます。<br />

インターシステムズでは、ノードが 何 度 もクラスタに 参 加 したり、クラスタから 離 脱 するシナリオをお 勧 めしていませんし、<br />

サポートしていません。<br />

5.2.3 フェイルオーバーのエラー 条 件<br />

クラスタ・メンバで 障 害 が 発 生 した 場 合 、 他 のクラスタ・メンバは、フェイルオーバーにより 生 じた 短 い 休 止 を 認 識 します。<br />

まれな 状 況 下 では、 動 作 中 のクラスタ・ノード 上 のプロセスが、 エラーを 受 信 することがあります。<br />

$ZTRAP エラー・トラッピング 機 能 により、これらのエラーをトラップできます。<br />

以 下 のいずれかの 条 件 が 存 在 する 場 合 、クラスタ・フェイルオーバーは 実 行 されません。<br />

• 1 つ 以 上 のクラスタ・メンバがフェイルオーバー 処 理 中 に 中 断 した 場 合<br />

• ディスク・ドライブに 障 害 が 発 生 し、フェイルオーバーの 最 初 のフェーズでエラーが 発 生 した 場 合<br />

<strong>Caché</strong> データ 整 合 性 ガイド 109


クラスタ・ジャーナリング<br />

• 動 作 中 のクラスタ・メンバの 1 つが、リカバリ・デーモンを 持 たない 場 合<br />

フェイルオーバーが 失 敗 した 場 合 、クラスタはクラッシュし、 以 下 のメッセージがオペレータのコンソールに 表 示 されます。<br />

****** <strong>Caché</strong> : CLUSTER CRASH - ALL <strong>Caché</strong> SYSTEMS ARE SUSPENDED ******<br />

<strong>Caché</strong> の 処 理 が Set コマンドや Kill コマンドに 到 達 すると、 他 のクラスタ・メンバはフリーズします。<br />

クラスタ・マスタのコンソール・ログ ( 通 常 、 管 理 者 のディレクトリにある cconsole.log) に 含 まれるフェイルオーバー・ログを<br />

検 証 して、フェイルオーバー 処 理 中 に 発 生 したエラー・メッセージを 参 照 します。<br />

以 下 のメッセージは、 失 敗 したクラスタ・メンバの 起 動 を 試 みたり、クラスタがフェイルオーバー 中 にデータベースをクラス<br />

タ・マウントすることによって、ノードがクラスタに 接 続 しようとする 場 合 に 表 示 されます。<br />

The cluster appears to be attempting to recover from the failure of one or more<br />

members at this time. Waiting 45 seconds for failover to complete...<br />

実 行 中 のリカバリ・フェーズが 完 了 するまで、5 秒 ごとにピリオド (.) が 表 示 されます。その 後 、マウントまたは 起 動 が 開 始<br />

されます。<br />

この 間 にクラスタがクラッシュすると、 以 下 のメッセージが 表 示 されます。<br />

ENQ daemon failed to start because cluster is crashed.<br />

クラスタがクラッシュした 場 合 の 結 果 に 関 する 説 明 は、"クラスタ・リカバリ" のセクションを 参 照 してください。<br />

5.3 クラスタ・シャドウイング<br />

クラスタ 化 されたシステム 内 でジャーナリングを 使 用 すると、<strong>Caché</strong> クラスタをシャドウイングすることもできます。クラスタ<br />

内 で、それぞれのノードはそれ 自 身 のジャーナル・ファイルを 管 理 しています。ジャーナル・ファイルには、 個 別 データ<br />

ベースあるいはクラスタ・マウントされたデータベースに 関 連 するデータが 含 まれています。シャドウは、TCP 経 由 でクラ<br />

スタに 接 続 されている <strong>Caché</strong> システム 上 のデータベースへの 変 更 をミラーします (すべての 変 更 がジャーナルされてい<br />

ることを 前 提 としています)。 以 下 の 図 では、クラスタ・シャドウイング 処 理 の 概 要 を 表 しています。<br />

110 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・シャドウイング<br />

図 5–1: クラスタ・シャドウイングの 概 要<br />

宛 先 のシャドウは、クラスタ 上 の 指 定 された <strong>Caché</strong> スーパーサーバに 接 続 して、 指 定 された 開 始 位 置 (クラスタの 開 始 時<br />

間 とクラスタ・ジャーナルのシーケンス 番 号 の 組 み 合 わせ) 以 降 のジャーナル・ファイルのリストを 要 求 します。ジャーナ<br />

ル・ファイルは、クラスタ・メンバごとに 1 つ 存 在 する 開 始 ファイルです。<br />

ソース・クラスタから 返 されるそれぞれのノード ( 一 意 のCSN を 持 つ) に 対 して、シャドウは、ジャーナル・ファイルをサー<br />

バからシャドウにコピーするコピー 側 処 理 を、 返 されたファイルから 順 に 開 始 します。それぞれのコピー 側 は、クラスタ 化<br />

されていないブロック・モードのシャドウと 類 似 した、なかば 独 立 したシャドウとして 動 作 します。<br />

すべてのコピー 側 が 起 動 され 実 行 中 になると、クラスタ・シャドウはデジャーナリング 処 理 を 開 始 します。デジャーナリン<br />

グ 処 理 は、 各 ジャーナル・レコードのクラスタ・ジャーナルのシーケンス 番 号 に 従 って、コピー 元 のジャーナル・ファイルか<br />

らシャドウ 側 のデータベースにジャーナル・エントリを 適 用 します。クラスタ・シャドウは、ソース・クラスタから 受 信 するクラ<br />

スタの 現 在 動 作 中 のメンバのリスト (ポート 番 号 と IP アドレスを 含 む) を 保 持 します。<br />

以 下 のセクションでは、クラスタ・シャドウの 設 定 に 必 要 な 情 報 と 関 連 するプロシージャについて 説 明 すると 同 時 に、シャ<br />

ドウ・データベースの 完 全 性 と 適 時 性 の 限 界 についても 説 明 します。<br />

• クラスタ・シャドウの 構 成<br />

• クラスタ・シャドウイングの 限 界<br />

注 釈 シャドウは、クラスタ 化 されたシステムである 必 要 はありません。クラスタ・シャドウイングにおける “クラスタ” は、<br />

シャドウではなくソース・データベース・サーバを 表 しています。<br />

5.3.1 クラスタ・シャドウの 構 成<br />

クラスタ・シャドウを 適 切 に 構 成 するには、 複 数 のタイプの 情 報 が 必 要 です。 必 要 なデータ 項 目 の 概 要 は、 以 下 のカテゴ<br />

リに 分 類 されます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 111


クラスタ・ジャーナリング<br />

接 続 の 確 立<br />

クラスタは、すべてのメンバ・ノードが 共 有 する PIJ ディレクトリによって 識 別 されますが、この 識 別 子 の 一 意 性 は、<strong>Caché</strong><br />

クラスタをホストする 物 理 クラスタの 範 囲 にとどまります。シャドウでは、ソース・クラスタに TCP 接 続 する 方 法 が 必 要 です。<br />

したがって、シャドウ 上 では、<strong>Caché</strong> クラスタのあるメンバの IP アドレスまたはホスト 名 と、そのメンバ 上 で 稼 動 するスー<br />

パーサーバのポート 番 号 を 指 定 する 必 要 があります。さらに、 同 じ <strong>Caché</strong> インスタンス 内 でそのシャドウを 別 のシャドウ<br />

( 存 在 する 場 合 ) から 区 別 する 一 意 の ID を 提 供 する 必 要 があります。<br />

開 始 位 置 の 識 別<br />

デジャーナリングのためにジャーナルの 開 始 位 置 として、クラスタの 開 始 時 間 (CSI) および 必 要 に 応 じてクラスタ・ジャー<br />

ナルのシーケンス 番 号 を 識 別 するようにシャドウを 構 成 します。クラスタ・ジャーナルのシーケンス 番 号 を 指 定 しない 場 合<br />

は、デジャーナリングはクラスタ・セッションの 最 初 から 開 始 されます。<br />

ジャーナル・ファイルのコピー<br />

非 クラスタ・シャドウイングと 同 様 に、クラスタからコピーするジャーナル・ファイルの 保 存 先 とするディレクトリを 指 定 します。<br />

ただし、1 つのディレクトリでは 不 十 分 です。クラスタの 異 なるメンバからのジャーナル・ファイルは、それぞれ 別 のディレ<br />

クトリに 保 存 する 必 要 があります。 指 定 したディレクトリは、ジャーナル・ファイルのシャドウ・コピー 用 の 親 ディレクトリとして<br />

機 能 します。 実 際 に、シャドウは 進 行 中 にディレクトリを 作 成 して、クラスタ・コンポーネントの 動 的 特 性 に 対 応 できるように<br />

します。<br />

実 行 時 、シャドウは、サーバ・クラスタ 上 のそれぞれのジャーナル・ディレクトリに 対 して、ユーザ 指 定 の 親 ディレクトリの 下<br />

に 個 別 のサブディレクトリを 設 定 し、サーバ 上 のジャーナル・ディレクトリからシャドウ 上 の 対 応 するディレクトリにジャーナ<br />

ル・ファイルをコピーします。これをジャーナル・ファイルのリダイレクトと 呼 びます。サブディレクトリには 1 から 始 まる 連 番<br />

の 名 前 が 付 けられます。サーバ 上 のジャーナル・ディレクトリにシャドウ 上 の 別 のディレクトリを 指 定 してリダイレクトを 上 書<br />

きすることはできません。<br />

デジャーナルされたトランザクションのリダイレクト<br />

クラスタ 化 されていないシャドウイングでは、データベース・マッピングか、デジャーナルされた Set トランザクションと Kill<br />

トランザクションのリダイレクトを 指 定 します。<br />

クラスタの 宛 先 シャドウを 設 定 する 情 報 を 提 供 するには、 以 下 の 2 つの 方 法 があります。<br />

• 管 理 ポータルの 使 用<br />

• <strong>Caché</strong> ルーチンの 使 用<br />

5.3.1.1 管 理 ポータルの 使 用<br />

管 理 ポータルを 使 用 してシャドウ・サーバを 構 成 できます。 以 下 の 手 順 を 実 行 します。<br />

1. 管 理 ポータルの [システム] > [ 構 成 ] > [シャドウ・サーバ 設 定 ] ページで、“シャドウ・ジャーナリング” の 章 の " 宛 先<br />

のシャドウ・サーバの 構 成 " セクションで 説 明 する 手 順 に 従 います。クラスタ・シャドウイングに 固 有 の 以 下 の 特 性 を<br />

使 用 します。<br />

a. [データベースサーバ] — シャドウが 接 続 するソース・クラスタのあるメンバの IP アドレスあるいはホスト 名 (DNS)<br />

を 入 力 します。<br />

b. [データベースサーバポート 番 号 ] — 前 の 手 順 で 指 定 したソースのポート 番 号 を 入 力 します。<br />

2. ソース・インスタンスの 位 置 情 報 を 入 力 後 、[ソースイベントを 選 択 ] をクリックして、シャドウイングを 開 始 する 位 置 を<br />

選 択 します。ページには、クラスタ・ジャーナル・ファイル・ディレクトリにある 利 用 可 能 なクラスタ・イベントが 表 示 され<br />

ます。<br />

3. [ 詳 細 ] をクリックし、 以 下 のオプションのフィールドに 入 力 します。<br />

• [ジャーナルファイルディレクトリ] — シャドウ・ジャーナル・ファイルのサブディレクトリの 親 ディレクトリとして 機 能<br />

する、 宛 先 シャドウ・システムのジャーナル・ファイル・ディレクトリのフルパス 名 を 入 力 します。このディレクトリは、<br />

112 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・シャドウイング<br />

ソース・クラスタ 上 の 各 ジャーナル・ディレクトリに 対 してシャドウが 自 動 的 に 作 成 したものです。 適 切 なディレクト<br />

リを 検 索 するには、[ 参 照 ] をクリックします。<br />

4. この 構 成 設 定 を 正 常 に 保 存 した 後 、クラスタからシャドウへのデータベース・マッピングを 追 加 します。<br />

5. [このシャドウのデータベースマッピング] の 横 にある [ 追 加 ] をクリックし、[シャドウマッピング 追 加 ] ダイアログ・ボック<br />

スを 使 用 して、ソース・システムのデータベースを 宛 先 システムのディレクトリに 関 連 付 けます。<br />

6. [ソースデータベースディレクトリ] ボックスに、ソース・データベース・ファイル CACHE.DAT の 物 理 パス 名 を 入 力 しま<br />

す。[シャドウデータベースディレクトリ] ボックスに、ソース・データベース・ファイルに 対 応 する 宛 先 のシャドウ・デー<br />

タベース・ファイルのパス 名 を 入 力 して、[ 保 存 ] をクリックします。<br />

7. 事 前 に 入 力 されたマッピングがあるかどうかを 確 認 して、 無 効 または 不 要 なマッピングの 横 にある [ 削 除 ] をクリックし<br />

ます。シャドウイングを 開 始 するには、 少 なくとも 1 つのデータベース・マッピングが 必 要 です。<br />

8. シャドウイングを 開 始 します。<br />

5.3.1.2 <strong>Caché</strong> ルーチンの 使 用<br />

さらに、<strong>Caché</strong> が 提 供 するシャドウイング・ルーチンを 使 用 して、クラスタ・シャドウを 構 成 できます。このセクションの 各 例<br />

では、ルーチンを 実 行 した 結 果 の 返 りコードを 設 定 する 方 法 を 使 います。エラーの 返 りコードあるいは 成 功 の 1 を 確 認<br />

します。<br />

クラスタ・シャドウを 最 初 に 構 成 するには、 以 下 の 手 順 を 実 行 します。<br />

Set rc=$$ConfigCluShdw^SHDWX(shadow_id,server,jrndir,begloc)<br />

要 素<br />

shadow_id<br />

server<br />

jrndir<br />

begloc<br />

説 明<br />

シャドウを 一 意 に 識 別 する 文 字 列 。<br />

スーパーサーバのポート 番 号 および 1 つのクラスタ・ノードの IP アドレスまたはホスト 名 をコン<br />

マで 区 切 って 記 述 した 文 字 列 。<br />

シャドウ・ジャーナル・ファイルのサブディレクトリの 親 ディレクトリ。ソース・クラスタから 取 り 出 さ<br />

れたジャーナル・ファイルが 宛 先 のシャドウ 上 で 格 納 される 場 所 であり、ソース・クラスタ 上 の 各<br />

ジャーナル・ディレクトリに 対 して 1 つのサブディレクトリがあります。<br />

コンマで 区 切 られたクラスタ・セッション ID (YYYYMMDD HH:MM:SS 形 式 のクラスタ 起 動 時 間 ) と<br />

クラスタ・シーケンス 番 号 で 構 成 される 開 始 位 置 。<br />

ルーチンを 再 度 実 行 して、server、jrndir、begloc の 値 を 変 更 できます。 新 しい 値 を jrndir に 指 定 した 場 合 、ソースから 取<br />

り 出 された 後 続 のジャーナル・ファイルのみが 新 しい 位 置 に 格 納 されます。 既 に 古 い 位 置 にあるジャーナル・ファイルは、<br />

そのままになります。<br />

さらに、シャドウに 指 示 して、jrndir の 既 定 のサブディレクトリではなく、ローカル・リポジトリ locdir のソースにあるジャーナ<br />

ル・ディレクトリ remdir から 取 り 出 したジャーナル・ファイルを 格 納 できます。ここでの 変 更 は、これから 取 り 出 すジャーナ<br />

ル・ファイルにのみ 影 響 を 与 え、これまで 取 り 出 したジャーナル・ファイルには 影 響 を 与 えません。<br />

Set rc=$$ConfigJrndir^SHDWX(shadow_id,locdir,remdir)<br />

シャドウについての 最 後 の 必 須 情 報 である Set および Kill のトランザクション・リダイレクトは、 以 下 のように 指 定 できま<br />

す。<br />

Set rc=$$ConfigDbmap^SHDWX(shadow_id,locdir,remdir)<br />

これは、ソース・ディレクトリ remdir からの Set トランザクションと Kill トランザクションが、シャドウ・ディレクトリ locdir にリ<br />

ダイレクトされることを 指 定 しています。ジャーナル・ファイルと 異 なり、ソース・データベースには 既 定 のリダイレクトは 存<br />

<strong>Caché</strong> データ 整 合 性 ガイド 113


クラスタ・ジャーナリング<br />

在 しません。 明 示 的 にリダイレクトされない 場 合 は、データベースからの Set トランザクションと Kill トランザクションは、<br />

シャドウのデジャーナリング 処 理 によって 無 視 されます。<br />

最 後 に、シャドウイングを 開 始 および 終 了 するには、 以 下 を 実 行 します。<br />

Set rc=$$START1^SHDWCLI("test")<br />

Set rc=$$STOP1^SHDWCLI("test")<br />

詳 細 は、"シャドウ 情 報 のグローバルとユーティリティ" を 参 照 してください。<br />

5.3.2 クラスタ・シャドウイングの 限 界<br />

クラスタ・シャドウイング 処 理 にはいくつかの 限 界 があります。<br />

クラスタ 外 でジャーナルされるデータベースの 更 新 は、シャドウイングされません。 以 下 は、その 2 つの 例 です。<br />

• クラスタが 停 止 した 後 で、クラスタの 以 前 のメンバが、スタンドアロン・システムとして 起 動 し、いくつかの ( 以 前 にクラ<br />

スタ 化 された) データベースに 対 して 更 新 を 発 行 する 場 合 、 更 新 はシャドウに 反 映 されません。<br />

• 以 前 のスタンドアロン・システムがクラスタに 参 加 した 後 、 個 別 のデータベースに 発 生 した 新 しい 更 新 は、シャドウに<br />

反 映 されます (データベース・マッピングで 定 義 されている 場 合 ) が、システムがクラスタに 参 加 する 前 に 発 生 した 更<br />

新 はシャドウには 反 映 されません。したがって、 実 行 中 のクラスタにシステムを 参 加 させる 場 合 (データベースのクラ<br />

スタ・マウントによる) は、クラスタのすべてのシャドウとの 調 整 を 注 意 して 計 画 する 必 要 があります。<br />

クラスタ・シャドウイングでは、デジャーナル 機 能 に 影 響 を 与 える 待 ち 時 間 があります。 宛 先 のシャドウ 側 のジャーナル・<br />

ファイルは、ソース・クラスタ 上 でジャーナルされるものと 同 様 に 最 新 にする 必 要 はありません。シャドウは、プロダクショ<br />

ン・サーバ 上 で 性 能 に 影 響 しないように、プロダクション・ジャーナルを 非 同 期 的 に 適 用 します。これにより、シャドウ・サー<br />

バに 適 用 されるデータに、 待 ち 時 間 が 発 生 します。<br />

1 つのマシンには 複 数 のシャドウがありますが、 一 度 に 1 つの <strong>Caché</strong> クラスタのみが、クラスタ・シャドウのターゲットとな<br />

ります。 複 数 のシャドウの 相 互 処 理 は 保 証 されていません。したがって、ユーザは、 複 数 のシャドウを 相 互 排 他 的 に 使 用<br />

する 必 要 があります。 異 なるクラスタをポイントする 複 数 のシャドウを 持 つ 1 つのインスタンスの 場 合 、シャドウのデータ<br />

セットを 相 互 排 他 的 に 使 用 する 必 要 があります。 例 えば、1 台 のマシン 上 にシャドウイングされる 2 つのクラスタ (A およ<br />

び B) があると 仮 定 します。クラスタ A はデータセット X、Y、Z を 持 ち、クラスタ B はデータセット L、M、N を 持 ちます。<br />

<strong>Caché</strong> では、データセット X (クラスタ A) とデータセット L (クラスタ B) がデジャーナリング・プロセスで 相 互 排 他 的 に 使<br />

用 されること (つまり、1 つのシャドウがデータセット X をデジャーナリングする 間 、 別 のシャドウがデータセット L をデ<br />

ジャーナリングすること) は 保 証 されないため、ユーザはデータセットが 重 複 しないようにする 必 要 があります。<br />

注 釈<br />

Symantec Antivirus ソフトウェアを 使 用 する 場 合 、RTVScan から <strong>Caché</strong> データベースを 除 外 して、Windows XP<br />

上 でクラスタ・シャドウが 停 止 することを 防 止 します。 詳 細 は、"Release Notes for Symantec AntiVirus Corporate<br />

Edition 8.1.1 " を 参 照 してください。<br />

5.4 ツールとユーティリティ<br />

以 下 のツールとユーティリティは、クラスタ・ジャーナリング 処 理 に 役 立 ちます。<br />

• クラスタ・ジャーナル・リストア — ^JRNRESTO<br />

• ジャーナル・ダンプ・ユーティリティ — ^JRNDUMP<br />

• スタートアップ・リカバリ・ルーチン — ^STURECOV<br />

• クラスタ 化 されたシステムでのジャーナル・マーカの 設 定 — ^JRNMARK<br />

• クラスタ・ジャーナル 情 報 のグローバル — ^%SYS(“JRNINFO”)<br />

114 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・ジャーナル・リストア<br />

• シャドウ 情 報 のグローバルとユーティリティ — ^SYS(“shdwcli”)<br />

5.5 クラスタ・ジャーナル・リストア<br />

クラスタ・ジャーナル・リストアの 手 順 では、<strong>Caché</strong> バックアップによってジャーナル・ファイルに 配 置 されたジャーナル・<br />

マーカを 使 用 して、リストアを 開 始 または 終 了 できます。クラスタ・ジャーナル・リストアは、バックアップ・リストアの 一 部 とし<br />

て、あるいはスタンドアロン・プロシージャとして 実 行 できます。<br />

<strong>Caché</strong> には、 特 定 のクラスタ・ジャーナル・リストア 処 理 を 実 行 するためのジャーナル・リストア・インタフェースへのエント<br />

リ・ポイントが 含 まれます。%SYS ネームスペースから、 以 下 を 実 行 します。<br />

Do CLUMENU^JRNRESTO<br />

これにより、 以 下 のオプションを 含 むメニューが 呼 び 出 されます。<br />

1. クラスタ・ジャーナル・リストアの 実 行<br />

2. 特 定 のジャーナル・ファイルからの 一 般 的 なジャーナル・ファイルの 生 成<br />

3. バックアップ・リストア 後 のクラスタ・ジャーナル・リストアの 実 行<br />

4. <strong>Caché</strong> バックアップに 基 づくクラスタ・ジャーナル・リストアの 実 行<br />

5.5.1 クラスタ・ジャーナル・リストアの 実 行<br />

クラスタ・ジャーナル・リストア・メニューの 最 初 のオプションを 使 用 すると、クラスタ 化 された、あるいはクラスタ 化 されてい<br />

ないシステム 上 で、 一 般 的 なジャーナル・リストアを 実 行 できます。これは、^JRNRESTO を 実 行 し、Cluster journal<br />

restore プロンプトに Yes と 応 答 することと 同 じです。<br />

%SYS>Do ^JRNRESTO<br />

This utility uses the contents of journal files<br />

to bring globals up to date from a backup.<br />

Replication is not enabled.<br />

Restore the Journal Yes => Yes<br />

Cluster journal restore Yes<br />

ジャーナルからリストアするデータベースと、リストアの 開 始 ポイントと 終 了 ポイントを 記 述 するように 求 められます。 開 始 ポ<br />

イントと 終 了 ポイントは、バックアップ、ジャーナル・マーカ 一 式 、クラスタ 開 始 、あるいはジャーナル 内 の 任 意 のポイントに<br />

基 づきます。<br />

インタフェースでは、リダイレクトの 特 性 を 含 むディレクトリ 情 報 について、およびすべてのデータベースとグローバルが<br />

処 理 されるかどうかについて 尋 ねるプロンプトが 表 示 されます。 以 下 はその 例 です。<br />

Directory: _$1$DKB300:[TEST.CLU.5X]<br />

Redirect to Directory: _$1$DKB300:[TEST.CLU.5X] => _$1$DKB300:[TEST.CLU.5X]<br />

--> _$1$DKB300:[TEST.CLU.5X]<br />

Restore all globals in _$1$DKB300:[TEST.CLU.5X] Yes => Yes<br />

Directory:<br />

入 力 する 各 ディレクトリで、リダイレクトするかどうかを 尋 ねられます。デジャーナルされるグローバルをリストアするディレ<br />

クトリの 名 前 を 入 力 します。これが 同 じディレクトリの 場 合 、ピリオド 記 号 (.) を 入 力 するか、Enter を 押 します。<br />

さらに、ジャーナルされたすべてのグローバルをリストアするかどうかを、ディレクトリごとに 指 定 します。Yes を 入 力 する<br />

か Enter を 押 して、すべてのグローバル 変 更 をデータベースに 適 用 し、 次 のディレクトリに 進 みます。それ 以 外 の 場 合<br />

は、No を 入 力 して 選 択 したグローバルのみをリストアします。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 115


クラスタ・ジャーナリング<br />

Global ^ プロンプトで、ジャーナルからリストアする 特 定 のグローバル 名 を 入 力 します。 任 意 の 文 字 数 に 一 致 するアス<br />

タリスク (*) と、 任 意 の 単 一 文 字 に 一 致 する 疑 問 符 () を 使 用 して、グローバルのパターンを 選 択 することができます。L<br />

を 入 力 して 現 在 選 択 されているグローバルのリストを 表 示 します。<br />

選 択 したすべてのグローバルを 入 力 した 場 合 は、Global^ プロンプトで Enter を 押 して、 次 のディレクトリを 入 力 します。<br />

すべてのディレクトリを 入 力 した 場 合 は、Directory プロンプトで Enter を 押 します。リストア 指 定 が、 以 下 の 例 に 示 す<br />

ように 表 示 されます。<br />

Restoring globals from the following clustered datasets:<br />

1. _$1$DKB300:[TEST.CLU.5X] All Globals<br />

Specifications for Journal Restore Correct Yes => Yes<br />

Updates will not be replicated<br />

クラスタ・ジャーナル・リストアを 継 続 する 前 に 入 力 した 情 報 を 検 証 します。 設 定 が 正 しい 場 合 、Yes と 応 答 するか Enter<br />

を 押 します。ディレクトリとグローバルの 入 力 処 理 を 繰 り 返 すには、No と 応 答 します。<br />

ディレクトリおよびグローバル 指 定 を 検 証 すると、クラスタ・ジャーナル・リストア 設 定 処 理 の<br />

に 示 すように、 現 在 の 既 定 の 設 定 と 共 に 表 示 されます。<br />

メニューが、 以 下 の 例<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DKB400:[TEST.5X]CACHEJRN.LOG<br />

with NO redirections of journal files<br />

2. To START restore at the beginning of cluster session <br />

3. To STOP restore at sequence #319 of cluster session <br />

134388,_$1$DRA2:[TEST.5Y.JOURNAL]20030320.005<br />

4. To SWITCH journal file before journal restore<br />

5. To DISABLE journaling the dejournaled transactions<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue):<br />

このメニューから、メニュー 項 目 番 号 を 入 力 することにより、5 つの 設 定 のすべての 既 定 値 を 選 択 して 変 更 できます。<br />

1. リストアのソースを 変 更 する。<br />

2. リストアの 開 始 ポイントを 変 更 する。<br />

3. リストアの 終 了 ポイントを 変 更 する。<br />

4. ジャーナル・ファイルの 切 り 替 え 設 定 を 切 り 替 える。<br />

5. ジャーナリングを 無 効 にする 設 定 を 切 り 替 える。<br />

それぞれの 変 更 後 に、 メニューが 再 び 表 示 され、リストアを 開 始 する 前 に 入 力 した 情 報 を 検 証 するように 求 められ<br />

ます。 以 下 は、いくつかの 変 更 後 のメニューの 表 示 例 です。<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DKB400:[TEST.5Y.MGR]CACHEJRN.TXT<br />

with redirections of journal files<br />

_$1$DKB400:[TEST.5X.JOURNAL] -> _$1$DRA2:[TEST.5X.JOURNAL]<br />

_$1$DKB400:[TEST.5Y.JOURNAL] -> _$1$DRA2:[TEST.5Y.JOURNAL]<br />

_$1$DKB400:[TEST.5Z.JOURNAL] -> _$1$DRA2:[TEST.5Z.JOURNAL]<br />

2. To START restore at the journal marker located at<br />

138316,_$1$DKB400:[TEST.5X.JOURNAL]20030401.001<br />

-> _$1$DRA2:[TEST.5X.JOURNAL]20030401.001<br />

3. To STOP restore at the journal marker located at<br />

133232,_$1$DKB400:[TEST.5X.JOURNAL]20030401.003<br />

-> _$1$DRA2:[TEST.5X.JOURNAL]20030401.003<br />

4. NOT to SWITCH journal file before journal restore<br />

5. To DISABLE journaling the dejournaled transactions<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue):<br />

Start journal restore<br />

Enter を 押 して、 設 定 を 受 け 入 れて 継 続 します。 現 在 のクラスタのジャーナル・ログを 使 用 している 場 合 、リストアが 現 在<br />

マークされたジャーナル 位 置 で 停 止 することを 通 知 され、リストアを 開 始 するかどうかを 尋 ねられます。<br />

116 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・ジャーナル・リストア<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue):<br />

To stop restore at currently marked journal location<br />

offset 134168 of _$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

Start journal restore<br />

Yes と 入 力 し、クラスタ・ジャーナル・リストアを 開 始 します。リストアが 完 了 すると、システムはいつでも 動 作 できる 状 態 に<br />

なります。<br />

No と 入 力 し、クラスタ・ジャーナル・リストア 設 定 への 変 更 を 続 けるためメイン・メニューに 戻 るか、Q を 入 力 して、クラスタ・<br />

ジャーナル・リストアを 中 止 します。クラスタ・ジャーナル・リストアを 中 止 後 、 個 別 のジャーナル・リストアを 実 行 するか、 完<br />

全 にリストア 処 理 を 中 止 できます。<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): Q<br />

Run private journal restore instead No<br />

[Journal restore aborted]<br />

Replication Enabled<br />

5.5.1.1 リストアのソースを 変 更 する<br />

メニューの 最 初 の 項 目 には、すべてのクラスタ・メンバ 用 のジャーナル・ファイルを 検 出 するために 必 要 な 情 報 が<br />

含 まれています。 情 報 には、2 つの 要 素 があります。<br />

• クラスタ・ジャーナル・ログ — ジャーナル・ファイルのリストとそれらの 元 のフルパス。<br />

• ジャーナル・ファイルのリダイレクト — リストアを 実 行 中 のシステムがジャーナル・ログと 関 連 するクラスタの 一 部 では<br />

ない 場 合 にのみ 必 要 。<br />

既 定 では、リストアは、 現 在 のクラスタ 化 されたシステムに 関 連 するクラスタ・ジャーナル・ログを 使 用 します。クラスタ 化 さ<br />

れていないシステムでリストアを 実 行 する 場 合 には、メイン・メニューが 表 示 される 前 にクラスタ・ジャーナル・ログを 求 めら<br />

れます。<br />

このオプションを 選 択 して、ジャーナル・ファイルを 持 つクラスタから 異 なる <strong>Caché</strong> クラスタ 上 のジャーナル・ファイルをリ<br />

ストアします。 以 下 のいずれかを 実 行 できます。<br />

• 元 のクラスタによって 使 用 されるクラスタ・ジャーナル・ログを 識 別 する。<br />

• ジャーナル・ファイルを 配 置 する 位 置 を 指 定 するクラスタ・ジャーナル・ログを 作 成 する。<br />

注 釈<br />

ジャーナル・ファイルをリダイレクトするオプションは、 指 定 したクラスタ・ジャーナル・ログが 現 在 のクラスタのログ<br />

ではない 場 合 にのみ 利 用 可 能 です。<br />

クラスタ・ジャーナル・ログを 識 別 する<br />

[ジャーナル・ファイル 情 報 ] メニューには、クラスタ・ジャーナル・リストアで 使 用 するクラスタ・ジャーナル・ログ・ファイルが<br />

表 示 されます。 元 のクラスタのジャーナル・ファイルが 現 在 のクラスタにアクセスできない 場 合 、それらのジャーナル・ファ<br />

イルを 現 在 のクラスタにアクセスできる 位 置 にコピーし、リダイレクト 情 報 を 入 力 して、それらを 配 置 する 方 法 を 指 定 しま<br />

す。<br />

I と 入 力 して、 元 のクラスタで 使 用 するジャーナル・ログを 識 別 します。<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 1<br />

Cluster Journal Restore - Setup - Journal File Info<br />

[I]dentify an existing cluster journal log to use for the restore<br />

Current: _$1$DRA1:[TEST.50]CACHEJRN.LOG<br />

- OR -<br />

[C]reate a cluster journal log by specifying where journal files are<br />

Selection ( if no change): I<br />

<strong>Caché</strong> データ 整 合 性 ガイド 117


クラスタ・ジャーナリング<br />

*** WARNING ***<br />

If you specify a cluster journal log different from current one, you<br />

may need to reenter info on journal redirection, restore range, etc.<br />

Enter the name of the cluster journal log ( if no change)<br />

=> cachejrn.txt<br />

Cluster Journal Restore - Setup - Journal File Info<br />

[I]dentify an existing cluster journal log to use for the restore<br />

Current: _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

[R]edirect journal files in _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

- OR -<br />

[C]reate a cluster journal log by specifying where journal files are<br />

リストア 中 のジャーナル・ファイルが 元 の 位 置 にない 場 合 、クラスタ・ジャーナル・ログで 指 定 されるように、ジャーナル・ファ<br />

イルをリダイレクトする 必 要 があります。クラスタ・ジャーナル・ログに 記 載 されているジャーナル・ファイルをリダイレクトす<br />

るには、 指 示 に 従 って 元 の 位 置 と 現 在 の 位 置 を 入 力 します。 元 の 位 置 として、ディレクトリ 名 のすべてまたは 一 部 を 指 定<br />

することができます。 部 分 名 に 一 致 する 開 始 文 字 を 持 つ 元 の 位 置 は、すべて 新 しい 位 置 と 置 き 換 わります。リダイレクト・<br />

ファイルの 例 は、 以 下 のとおりです。<br />

Selection ( if no change): R<br />

Journal directories in _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL]<br />

Enter the original and current locations of journal files ( for help)<br />

Journal files originally from: _$1$DRA1:<br />

are currently located in: _$1$DRA2:<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL] -> _$1$DRA2:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL] -> _$1$DRA2:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL] -> _$1$DRA2:[TEST.5B.MGR.JOURNAL]<br />

Journal files originally from:<br />

Cluster Journal Restore - Setup - Journal File Info<br />

[I]dentify an existing cluster journal log to use for the restore<br />

Current: _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

[R]edirect journal files in _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

- OR -<br />

[C]reate a cluster journal log by specifying where journal files are<br />

Selection ( if no change):<br />

この 例 では、 代 替 のクラスタ・ジャーナル・ログ CACHEJRN.TXT の 選 択 が 表 示 されています。このクラスタ・ジャーナル・<br />

ログには、 本 来 _$1$DRA1: にあったジャーナル・ファイルのリストが 含 まれています。リストア 中 に、これらのファイルは、<br />

新 しい 位 置 _$1$DRA2: から 取 得 され、リダイレクトされます。<br />

リダイレクト 情 報 の 入 力 が 完 了 したら、Enter を 押 して [メイン 設 定 ] メニューに 戻 ります。<br />

ジャーナル・リダイレクトでは、ソース・ディレクトリとターゲット・ディレクトリの 位 置 の 間 の 一 対 一 または 多 対 一 のリレーショ<br />

ンシップを 想 定 しています。つまり、1 つあるいは 複 数 の 元 のディレクトリからのジャーナル・ファイルは、1 つの 新 しい 位<br />

置 に 置 かれることはありますが、 複 数 の 新 しい 位 置 に 置 かれることはありません。 複 数 の 新 しい 位 置 にあるジャーナル・<br />

ファイルからリストアするには、ジャーナル・ファイルの 配 置 位 置 を 指 定 するクラスタ・ジャーナル・ログを 作 成 します。<br />

クラスタ・ジャーナル・ログを 作 成 する<br />

元 のクラスタにあるジャーナル・ファイルが 現 在 のクラスタにアクセスできない 場 合 、ジャーナル・ファイルの 位 置 を 指 定 す<br />

るクラスタ・ジャーナル・ログを 作 成 します。 指 定 された 位 置 にあるファイルは、すべてクラスタの 一 部 である 必 要 がありま<br />

す。それらのファイルを 現 在 のクラスタにアクセスできる 場 所 にコピーし、リダイレクト 情 報 を 入 力 して、それらの 配 置 方 法<br />

を 指 定 します。<br />

Selection ( if no change): C<br />

*** WARNING ***<br />

If you specify a cluster journal log different from current one, you<br />

may need to reenter info on journal redirection, restore range, etc.<br />

Enter the name of the cluster journal log to create (ENTER if none) =><br />

cachejrn.txt<br />

How many cluster members were involved (Q to quit) => 3<br />

For each cluster member, enter the location(s) and name prefix (if any) of the<br />

journal files to restore --<br />

118 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・ジャーナル・リストア<br />

Cluster member #0<br />

Journal File Name Prefix:<br />

Directory: _$1$DRA1:[TEST.50.MGR.JOURNAL]<br />

Directory:<br />

Cluster member #1<br />

Journal File Name Prefix:<br />

Directory: _$1$DRA1:[TEST.5A.MGR.JOURNAL]<br />

Directory:<br />

Cluster member #2<br />

Journal File Name Prefix:<br />

Directory: _$1$DRA1:[TEST.5B.MGR.JOURNAL]<br />

Directory:<br />

この 例 では、 元 は _$1$DRA1: にあったジャーナル・ファイルを 持 つ 3 つのメンバから 成 るクラスタについて、クラスタ・<br />

ジャーナル・ログ CACHEJRN.TXT を 作 成 しています。<br />

次 のメニューには、 追 加 オプションが 含 まれており、 作 成 したクラスタ・ジャーナル・ログにあるジャーナル・ファイルをリダ<br />

イレクトすることができます。<br />

Cluster Journal Restore - Setup - Journal File Info<br />

[I]dentify an existing cluster journal log to use for the restore<br />

Current: _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

[R]edirect journal files in _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

- OR -<br />

[C]reate a cluster journal log by specifying where journal files are<br />

Selection ( if no change):<br />

R と 入 力 して、"クラスタ・ジャーナル・ログを 識 別 する" で 説 明 しているようにファイルをリダイレクトします。リダイレクト 情<br />

報 の 入 力 が 完 了 したら、Enter を 押 して [メイン 設 定 ] メニューに 戻 ります。<br />

5.5.1.2 リストアの 開 始 ポイントを 変 更 する<br />

[メイン 設 定 ] メニューの 2 番 目 と 3 番 目 の 項 目 では、ジャーナル・ファイルのリストアを 開 始 する 場 所 から 終 了 する 場 所<br />

までの、リストアの 範 囲 を 指 定 します。 開 始 ポイント 情 報 には、ジャーナル・ファイルの 開 始 と、それぞれのクラスタ・メンバ<br />

のシーケンス 番 号 が 含 まれています。 既 定 の 開 始 場 所 は、 以 下 の 順 で 決 まります。<br />

• クラスタ・ジャーナル・リストアがバックアップ・リストア 後 に 実 行 されると、 最 新 のジャーナル・リストアの 最 後 からジャー<br />

ナルをリストアします。<br />

• バックアップ・リストアが 現 在 のシステムで 実 行 される 場 合 、リストアされた 最 新 のバックアップの 最 後 からジャーナル<br />

をリストアします。<br />

• 現 在 のシステムが 使 用 中 のクラスタ・ジャーナル・ログと 関 連 付 けられている 場 合 、 現 在 のクラスタ・セッションの 最 初<br />

からジャーナルをリストアします。<br />

• それ 以 外 の 場 合 、クラスタ・ジャーナル・ログの 最 初 からジャーナルをリストアします。<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

with redirections of journal files<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL] -> _$1$DRA2:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL] -> _$1$DRA2:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL] -> _$1$DRA2:[TEST.5B.MGR.JOURNAL]<br />

2. To START restore at the end of last restored backup<br />

_$1$DRA1:[TEST.50.MGR]CLUFULL.BCK<br />

134120,_$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

-> _$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

3. To STOP restore at the end of the cluster journal log<br />

4. To SWITCH journal file before journal restore<br />

5. To DISABLE journaling the dejournaled transactions<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 2<br />

Cluster Journal Restore - Setup - Where to Start Restore<br />

1. At the beginning of a cluster session<br />

2. At a specific journal marker<br />

3. Following the restore of backup _$1$DRA1:[TEST.50.MGR]CLUFULL.BCK (*)<br />

i.e., at the journal marker located at<br />

134120,_$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

Selection ( if no change): 1<br />

To start journal restore at the beginning of cluster session ...<br />

<strong>Caché</strong> データ 整 合 性 ガイド 119


クラスタ・ジャーナリング<br />

1. 20030904 09:47:01<br />

2. 20031002 13:19:12<br />

3. 20031002 13:26:40<br />

4. 20031002 13:29:10<br />

5. 20031002 13:51:31<br />

6. 20031002 13:58:57<br />

7. 20031002 14:29:42<br />

8. 20031002 14:33:55<br />

9. 20031002 14:35:48<br />

=> 5<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

with redirections of journal files<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL] -> _$1$DRA2:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL] -> _$1$DRA2:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL] -> _$1$DRA2:[TEST.5B.MGR.JOURNAL]<br />

2. To START restore at the beginning of cluster session <br />

3. To STOP restore at the end of the cluster journal log<br />

4. To SWITCH journal file before journal restore<br />

5. To DISABLE journaling the dejournaled transactions<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 2<br />

Cluster Journal Restore - Setup - Where to Start Restore<br />

1. At the beginning of a cluster session (*): <br />

2. At a specific journal marker<br />

3. Following the restore of backup _$1$DRA1:[TEST.50.MGR]CLUFULL.BCK<br />

Selection ( if no change): 2<br />

To start restore at a journal marker location (in original form)<br />

journal file: _$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

offset: 134120<br />

You have chosen to start journal restore at<br />

134120,_$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

the journal location by the end of backup _$1$DRA1:[TEST.50.MGR]CLUFULL.BCK<br />

サブメニューは、 現 在 の 設 定 に 基 づいて 若 干 異 なります。 例 えば、バックアップ・リストアが 実 行 されていない 場 合 、リスト<br />

アの 開 始 を 指 定 するサブメニューには、 最 新 のバックアップの 最 後 からリストアするオプション 3 が 表 示 されません。サブ<br />

メニューでは、 現 在 選 択 されているオプションは、アスタリスク (*) でマークされています。<br />

5.5.1.3 リストアの 終 了 ポイントを 変 更 する<br />

既 定 では、 現 在 のシステムが、 選 択 したクラスタ・ジャーナル・ログあるいはジャーナル・ログの 最 後 に 関 連 付 けられる 場<br />

合 は、リストアは 現 在 のジャーナル 位 置 のいずれかで 終 了 します。オプション 3 のサブメニューは、オプション 2 のサブ<br />

メニューと 類 似 しています。<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

with redirections of journal files<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL] -> _$1$DRA2:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL] -> _$1$DRA2:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL] -> _$1$DRA2:[TEST.5B.MGR.JOURNAL]<br />

2. To START restore at the end of last restored backup<br />

_$1$DRA1:[TEST.50.MGR]CLUFULL.BCK<br />

134120,_$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

-> _$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

3. To STOP restore at the end of the cluster journal log<br />

4. To SWITCH journal file before journal restore<br />

5. To DISABLE journaling the dejournaled transactions<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 3<br />

Cluster Journal Restore - Setup - Where to Stop Restore<br />

1. At the end of a cluster session<br />

2. At the end of _$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

3. At a specific journal marker<br />

ジャーナル・ログが 現 在 のクラスタ 用 のジャーナル・ログである 場 合 、 以 下 のメニューが 表 示 されます。<br />

120 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・ジャーナル・リストア<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 3<br />

Cluster Journal Restore - Setup - Where to Stop Restore<br />

1. At the end of a cluster session<br />

2. At current journal location (*)<br />

3. At a specific journal marker<br />

サブメニューは、 現 在 の 設 定 に 基 づいて 若 干 異 なります。 例 えば、ジャーナル・ログが 現 在 のクラスタ 用 のジャーナル・ロ<br />

グであるかどうかにより、リストアの 最 後 を 指 定 するメニューのオプション 2 は、 現 在 のジャーナル 位 置 かジャーナル・ロ<br />

グの 最 後 かのいずれかになります。サブメニューでは、 現 在 選 択 されているオプションは、アスタリスク (*) でマークされ<br />

ています。<br />

5.5.1.4 ジャーナル・ファイルの 切 り 替 え 設 定 を 切 り 替 える<br />

4 番 目 のメニュー 項 目 では、リストアの 前 にジャーナル・ファイルを 切 り 替 えるかどうかを 指 定 します。この 項 目 番 号 を 選<br />

択 した 場 合 、 値 は、ジャーナル・ファイルの 値 To SWITCH と NOT to SWITCH の 間 で 切 り 替 わり、メニューは 新 規 の 設<br />

定 で 再 表 示 されます。<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 4<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

with redirections of journal files<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL] -> _$1$DRA2:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL] -> _$1$DRA2:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL] -> _$1$DRA2:[TEST.5B.MGR.JOURNAL]<br />

2. To START restore at the end of last restored backup<br />

_$1$DRA1:[TEST.50.MGR]CLUFULL.BCK<br />

134120,_$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

-> _$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

3. To STOP restore at the end of the cluster journal log<br />

4. NOT to SWITCH journal file before journal restore<br />

5. To DISABLE journaling the dejournaled transactions<br />

既 定 では、リストアの 前 にジャーナル・ファイルを 切 り 替 えます。ここでは、クリーン・スタートが 提 供 されるので、リストアの<br />

後 に 発 生 する 更 新 は 新 規 のジャーナル・ファイルに 配 置 されます。<br />

5.5.1.5 ジャーナリングを 無 効 にする 設 定 を 切 り 替 える<br />

5 番 目 のメニュー 項 目 では、リストア 中 にデジャーナルされたトランザクションのジャーナリングを 無 効 にするかどうかを 指<br />

定 します。この 項 目 を 選 択 した 場 合 、 値 は、デジャーナルされたトランザクションをジャーナリングする 値 DISABLE と NOT<br />

to DISABLE の 間 で 切 り 替 わり、メニューは 新 規 の 設 定 で 表 示 されます。<br />

Select an item to modify ('Q' to quit or ENTER to accept and continue): 5<br />

Cluster Journal Restore - Setup - Main Settings<br />

1. To LOCATE journal files using cluster journal log<br />

_$1$DRA1:[TEST.50.MGR]CACHEJRN.TXT<br />

with redirections of journal files<br />

_$1$DRA1:[TEST.50.MGR.JOURNAL] -> _$1$DRA2:[TEST.50.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5A.MGR.JOURNAL] -> _$1$DRA2:[TEST.5A.MGR.JOURNAL]<br />

_$1$DRA1:[TEST.5B.MGR.JOURNAL] -> _$1$DRA2:[TEST.5B.MGR.JOURNAL]<br />

2. To START restore at the end of last restored backup<br />

_$1$DRA1:[TEST.50.MGR]CLUFULL.BCK<br />

134120,_$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

-> _$1$DRA1:[TEST.50.MGR.JOURNAL]20031002.008<br />

3. To STOP restore at the end of the cluster journal log<br />

4. NOT to SWITCH journal file before journal restore<br />

5. NOT to DISABLE journaling the dejournaled transactions<br />

パフォーマンスの 向 上 のため、 既 定 の 設 定 では、デジャーナルされたトランザクションのジャーナリングは 無 効 になって<br />

います。しかし、クラスタ・シャドウを 実 行 中 の 場 合 は、ジャーナリングを 無 効 にしない 選 択 をすることができます。<br />

注 釈<br />

ジャーナリングを 無 効 にしない 選 択 をした 場 合 、デジャーナルされたトランザクションは、ジャーナルの 条 件 を<br />

別 途 満 たしている 場 合 にのみジャーナルされます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 121


クラスタ・ジャーナリング<br />

5.5.2 一 般 的 なジャーナル・ファイルの 生 成<br />

このオプションのユーザ・インタフェースは、 出 力 ファイルのコンテンツと 形 式 に 関 する 追 加 質 問 の 最 初 のものに 類 似 し<br />

ています。ただし、ジャーナル・ファイルのリストアの 代 わりに、このオプションは、<strong>Caché</strong> システムの ^%JREAD ユーティリ<br />

ティで 読 み 取 りが 可 能 な 一 般 的 な 形 式 のジャーナル・ファイルを 生 成 します (システムでクラスタ・ジャーナル・リストアま<br />

たは DSM などの 他 のプラットフォームをサポートしない 場 合 )。<br />

^JCONVERT は、Cluster Journal Convert の 質 問 に Yes と 応 答 する 場 合 と 同 じ 機 能 を 提 供 します。<br />

2 番 目 のオプションは、クラスタ・ジャーナル・ファイルから 1 つの 一 般 的 な 形 式 の 出 力 ファイルを 生 成 します。これは、<br />

^JCONVERT ユーティリティを 呼 び 出 します。このユーティリティは、 単 一 のシステムからジャーナル・ファイルを 取 り 出<br />

し、%JREAD ルーチンで 読 み 取 られる 一 般 的 な 形 式 で 書 き 出 します。これは、ジャーナル・ファイルに 互 換 性 がない ( 例<br />

えば、“almost rolling” アップグレード) 場 合 、または 初 期 リリースへのフェイルバックの 一 環 としての <strong>Caché</strong> のバージョ<br />

ン 全 体 で、ジャーナル・ファイルをリストアするために 役 立 ちます。また、このオプションを 使 用 して、DSM などの 別 のプ<br />

ラットフォームにロードできる 形 式 でジャーナル・ファイルを 書 き 出 すことができます。<br />

Cluster Journal Restore Menu<br />

--------------------------------------------------------------<br />

1) Cluster journal restore<br />

2) Generate common journal file from specific journal files<br />

3) Cluster journal restore after backup restore<br />

4) Cluster journal restore corresponding to <strong>Caché</strong> backups<br />

--------------------------------------------------------------<br />

H) Display Help<br />

E) Exit this utility<br />

--------------------------------------------------------------<br />

Enter choice (1-4) or [E]xit/[H]elp 2<br />

5.5.3 バックアップ・リストア 後 のクラスタ・ジャーナル・リストアの 実 行<br />

オプション 3 では、<strong>Caché</strong> バックアップをリストア 後 にジャーナル・ファイルをリストアします。これは、クラスタ・バックアッ<br />

プ・リストアをバックアップのリストアから 独 立 して 実 行 する 方 法 がない 場 合 に、クラスタ・バックアップ・リストアを 実 行 した<br />

後 に、インクリメンタル・バックアップのリストア・ルーチン ^DBREST によって 実 行 されるリストアと 類 似 しています ( 例 えば、<br />

ジャーナル・リストアを 再 起 動 します)。このオプションと ^DBREST を 使 用 するリストアとの 1 つの 違 いは、このオプション<br />

はバックアップに 含 まれるデータベースのリストを 使 用 して 開 始 しないことです。したがって、データベース・リストを 入 力<br />

する 必 要 があります。<br />

ルーチンでは、リストア 内 の 現 在 のクラスタ・マウントされたデータベースをすべて 含 めることができますが、バックアップ<br />

のリストア 後 に 実 行 中 の 場 合 には、バックアップによりリストアされたデータベースは、マウント 状 態 を 変 更 しない 限 り 個 別<br />

にマウントされます (リストアはデータベースを 個 別 にマウントし、リストアが 終 了 するときに 個 別 にマウントされたままにし<br />

ます)。バックアップによってジャーナル・ファイルに 記 録 されたマーカから 開 始 し、ジャーナル・データの 最 後 で 終 了 しま<br />

す。<br />

5.5.4 <strong>Caché</strong> バックアップに 基 づくクラスタ・ジャーナル・リストアの 実 行<br />

4 番 目 のメニュー・オプションでは、 開 始 ポイントと 終 了 ポイント (オプション) を 指 定 するために <strong>Caché</strong> バックアップによ<br />

り 追 加 されたジャーナル・マーカを 使 用 して、ジャーナル・ファイルをリストアします。このオプションは、リストアされたバッ<br />

クアップではなく、 開 始 位 置 を 指 定 するために 実 行 されたバックアップを 使 用 することを 除 けば、オプション 3 に 類 似 し<br />

ています。 機 能 的 には、これらのオプションは 同 じです。 両 方 とも、 開 始 ポイントとして <strong>Caché</strong> バックアップによりジャーナ<br />

ル・ファイルに 配 置 されたマーカを 使 用 します。 異 なるのは、 開 始 する 場 所 を 選 択 するリストの 内 容 です。<br />

122 <strong>Caché</strong> データ 整 合 性 ガイド


ジャーナル・ダンプ・ユーティリティ<br />

5.6 ジャーナル・ダンプ・ユーティリティ<br />

<strong>Caché</strong> のクラスタ 化 されたシステムでは、^JRNDUMP ルーチンは、 単 語 JRNSTART の 代 わりに、ジャーナル・ファイルの<br />

クラスタ・セッション ID (クラスタ 起 動 時 間 ) を 表 示 します。^JRNDUMP ルーチンは、ジャーナル・ファイル・サイズと 共 にク<br />

ラスタ・セッション ID を 示 す、ジャーナル・ファイルのレコード・リストを 表 示 します。<br />

ユーティリティは、ローカル・システムが 保 持 するジャーナル・ファイルのみでなく、<strong>Caché</strong> クラスタの 別 のシステムが 保 持<br />

するジャーナル・ファイルをリストします。リストは、クラスタ 起 動 時 間 (クラスタ・セッション ID) とジャーナル・ファイルの 最<br />

初 と 最 後 のクラスタ・ジャーナルのシーケンス 番 号 の 順 で 表 示 されます。^JRNSTART で 作 成 されたジャーナル・ファイル<br />

には、アスタリスク (*) が 付 いています。 利 用 できなくなったジャーナル・ファイル ( 例 えば 削 除 されるなど) は、D (deleted<br />

の D) でマークされます。ジャーナル・ファイル 名 は、CSN に 対 応 するインデントが 付 いて 表 示 されます。つまり、システ<br />

ム 0 のジャーナル・ファイルにはインデントなし、システム 1 には 1 つのスペース、システム 2 には 2 つのスペースのよ<br />

うになります。<br />

^JRNDUMP クラスタ・バージョンのサンプル 出 力 は、 以 下 のとおりです。 既 定 では、クラスタ 化 されたシステム 上 に 表 示 さ<br />

れるレベル 1 は、クラスタ 化 されていないシステムのものとまったく 異 なります。<br />

FirstSeq LastSeq Journal Files<br />

Session 20030820 11:02:43<br />

0 0 D /bench/test/cache/50a/mgr/journal/20030820.003<br />

0 0 /bench/test/cache/50b/mgr/journal/20030820.004<br />

Session 20030822 10:55:46<br />

3 3 /bench/test/cache/50b/mgr/journal/20030822.001<br />

(N)ext,(P)rev,(G)oto,(E)xamine,(Q)uit =><br />

各 クラスタ・ノード ( 停 止 したノードも 含 む) のジャーナル・ファイル・リストの 他 にも、 各 ジャーナル・ファイルのクラスタ・セッ<br />

ション ID と、 各 ジャーナル・ファイルの 最 初 と 最 後 のクラスタ・ジャーナルのシーケンス 番 号 があります。クラスタ・セッショ<br />

ン ID (Session に 続 く 日 付 時 刻 文 字 列 ) は、クラスタの 最 初 のノードが 開 始 する 時 間 です。クラスタの 最 後 のノードが 停<br />

止 すると、クラスタ・セッションが 終 了 します。ファイルのノードが 異 なる 場 合 、 異 なるインデントが 使 用 されます。CSN 0 の<br />

ノードにはインデントが 使 用 されず、CSN 1 のノードには 1 つのスペースが 使 用 されるというようになります。ノードの CSN<br />

は、 所 定 の 時 間 にクラスタ 内 のノードを 一 意 に 識 別 します。D ラベルが 付 いたファイルは、ホスト・システムから 削 除 され<br />

ている 可 能 性 があります。<br />

クラスタの ^JRNDUMP の 以 前 のバージョンは、その 出 力 が 必 要 な 場 合 に OLD^JRNDUMP として 利 用 できました。<br />

5.7 スタートアップ・リカバリ・ルーチン<br />

以 下 は、スタートアップ・リカバリ・ルーチン ^STURECOV の 表 示 に 役 立 ちます。<br />

%SYS>Do ^STURECOV<br />

Enter error type ( for list) [^] => <br />

Supported error types are:<br />

JRN - Journal restore and transaction rollback<br />

CLUJRN - Cluster journal restore and transaction rollback<br />

Enter error type ( for list) [^] => CLUJRN<br />

Cluster journal recovery options<br />

--------------------------------------------------------------<br />

1) Display the list of errors from startup<br />

2) Run the journal restore again<br />

4) Dismount a database<br />

5) Mount a database<br />

6) Database Repair Utility<br />

7) Check Database Integrity<br />

<strong>Caché</strong> データ 整 合 性 ガイド 123


クラスタ・ジャーナリング<br />

--------------------------------------------------------------<br />

H) Display Help<br />

E) Exit this utility<br />

--------------------------------------------------------------<br />

Enter choice (1-8) or [E]xit/[H]elp H<br />

--------------------------------------------------------------<br />

Before running ^STURECOV you should have corrected the<br />

errors that prevented the journal restore or transaction rollback<br />

from completing. Here you have several options regarding what<br />

to do next.<br />

Option 1: The journal restore and transaction rollback procedure<br />

tries to save the list of errors in ^%SYS(). This is not always<br />

possible depending on what is wrong with the system. If this<br />

information is available, this option displays the errors.<br />

Option 2: This option performs the same journal restore and<br />

transaction rollback which was performed when the system was<br />

started. The amount of data is small so it should not be<br />

necessary to try and restart from where the error occurred.<br />

Option 3 is not enabled for cluster recovery<br />

Option 4: This lets you dismount a database. Generally this<br />

would be used if you want to let users back on a system but<br />

you want to prevent them from accessing a database which still<br />

has problems (^DISMOUNT utility).<br />

Option 5: This lets you mount a database (^MOUNT utility).<br />

Option 6: This lets you edit the database structure (^REPAIR utility).<br />

Option 7: This lets you validate the database structure (^INTEGRIT utility).<br />

Option 8 is not enabled for cluster recovery. Shut the system<br />

down using the bypass option with ccontrol stop and then start it<br />

with ccontrol start. During startup answer YES when asked if you<br />

want to continue after it displays the message related to errors<br />

during recovery.<br />

Press continue<br />

Cluster journal recovery options<br />

--------------------------------------------------------------<br />

1) Display the list of errors from startup<br />

2) Run the journal restore again<br />

4) Dismount a database<br />

5) Mount a database<br />

6) Database Repair Utility<br />

7) Check Database Integrity<br />

--------------------------------------------------------------<br />

H) Display Help<br />

E) Exit this utility<br />

--------------------------------------------------------------<br />

Enter choice (1-8) or [E]xit/[H]elp<br />

5.8 クラスタ 化 されたシステムでのジャーナル・マーカの 設 定<br />

クラスタ 全 体 に 有 効 なジャーナル・マーカを 設 定 するには、 以 下 のルーチンを 使 用 します。<br />

$$CLUSET^JRNMARK(id,text,swset)<br />

要 素<br />

id<br />

text<br />

swset<br />

説 明<br />

マーカ ID ( 例 : バックアップは -1)<br />

マーカ・テキスト ( 例 : バックアップ : “timestamp”)<br />

1 — データベースの 読 み 取 りと 書 き 込 みを 抑 制 するスイッチ (switch 10) が、 呼 び 出 し 側 からク<br />

ラスタ 全 体 (およびローカル) に 設 定 されている 場 合 。 呼 び 出 し 側 は、 後 でこれを 消 去 する 必 要<br />

があります。<br />

0 — スイッチが 設 定 されていない 場 合 。ルーチンはスイッチの 設 定 と 消 去 を 適 切 に 管 理 します。<br />

ジャーナル・マーカの 整 合 性 を 確 実 にするために、ローカルおよびクラスタ 全 体 にスイッチ 10 を 設 定 する 必 要 があるこ<br />

とに 注 意 してください。 成 功 した 場 合 、ルーチンは、コンマで 区 切 られたマーカの 位 置 (ジャーナル・ファイルのマーカの<br />

124 <strong>Caché</strong> データ 整 合 性 ガイド


クラスタ・ジャーナル 情 報 のグローバル<br />

オフセットとジャーナル・ファイル 名 ) を 返 します。それ 以 外 の 場 合 、コンマで 区 切 られたエラー・コード (


クラスタ・ジャーナリング<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032188507,131,131,1,6)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032197355,3,4,0,8)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032197355,3,7,0,9)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032197355,3,10,0,10)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032197355,3,17,0,11)=<br />

12)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032197355,3,27,0,13)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032197355,39,39,1,14)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032803946,3,3,1,16)=<br />

^%SYS("JRNINFO",1032803946,"seqinfo",1032803946,3,133,0,15)=<br />

5.10 シャドウ 情 報 のグローバルとユーティリティ<br />

グローバル・ノード ^SYS("shdwcli”) には、シャドウ・クライアント 情 報 が 保 持 されています。 多 くの 値 は、ユーティリティ<br />

ShowState^SHDWX、ShowError^SHDWX、ShowWhere^SHDWX から 利 用 可 能 です。<br />

ShowState^SHDWX を 実 行 すると、グローバルに 保 持 されている 大 部 分 のデータが 表 示 されます。<br />

%SYS>d ShowState^SHDWX("clutest",1)<br />

Shadow ID PrimaryServerIP Port R S Err<br />

------------------------------------------------------------------------<br />

clutest rodan 42009 0 1 1<br />

\_ clutest~0 192.9.202.5 42009 0 1<br />

\_ clutest~1 192.9.202.5 42009 0 1<br />

\_ clutest~2 rodan 42009 0 1<br />

Redirection of Global Sets and Kills:<br />

^^_$1$DKB300:[TEST.CLU.5X] -> ^^_$1$DKA0:[TEST.CLU.5X]<br />

Redirection of Master Journal Files:<br />

Base directory for auto-redirection: _$1$DKA0:[TEST.5X.SHADOW]<br />

_$1$DRA2:[TEST.5X.JOURNAL] -> _$1$DKA0:[TEST.5X.SHADOW.1]<br />

_$1$DRA2:[TEST.5Y.JOURNAL] -> _$1$DKA0:[TEST.5X.SHADOW.2]<br />

_$1$DRA2:[TEST.5Z.JOURNAL] -> _$1$DKA0:[TEST.5X.SHADOW.3]<br />

Primary Server Cluster ID: _$1$DKB400:[TEST.5X]CACHE.PIJ<br />

Primary Server Candidates (for failover):<br />

192.9.202.5 42009<br />

rodan 42009<br />

192.9.202.5 42019<br />

192.9.202.5 42029<br />

When to purge a shadow journal file: after it's dejournaled<br />

^SYS("shdwcli”) グローバルからの 出 力 には、 以 下 のコンポーネントがあります。<br />

• Shadow ID — コピー 側 シャドウの ID は 親 シャドウから 部 分 的 に 継 承 されます。コピー 側 の clu サブノードには、 親 の<br />

ID が 含 まれており、 親 の sys サブノードには、コピー 側 の ID リストが 含 まれています。<br />

• PrimaryServerIP と Port — コピー 側 では、ジャーナル・ファイルを 取 得 するシステムを 指 定 します。デジャーナル 側<br />

では、ジャーナル 情 報 を 取 得 するシステムを 指 定 します (JRNINFO サーバ)。 値 は、ip サブノードおよび port0 サブ<br />

ノードに 格 納 されます。<br />

• R — シャドウが 実 行 される 場 合 、 値 1 を 持 ちます (stat サブノードから)。<br />

• S — シャドウを 停 止 する 要 求 があった 場 合 、 値 1 を 持 ちます ( 待 ち 時 間 が 発 生 するので、シャドウが 停 止 要 求 を 確<br />

認 する 必 要 がある 場 合 は、R と S の 両 方 の 値 1 になっていることもあり 得 ます) (stop サブノードから)。<br />

• Err — エラーの 発 生 回 数 です。ShowError^SHDWX で 詳 細 を 参 照 してください。err サブノードからの 情 報 が 表 示 さ<br />

れています。<br />

• Redirection of Global Sets and Kills — 管 理 ポータルのデータベース・マッピングです (クラスタ・シャドウの dbmap<br />

サブノードからのマッピング)。<br />

• Redirection of Master Journal Files — "<strong>Caché</strong> ルーチンの 使 用 " セクションで 説 明 されています。クラスタ・シャドウ<br />

の jrndir サブノードに 格 納 されます。jrndir サブノードの 値 は、 自 動 的 にリダイレクトされたジャーナル・ディレクトリ<br />

数 です ( 前 述 の 出 力 例 では、 次 の 新 しいジャーナル・ディレクトリは、サブディレクトリ [.4] にリダイレクトされます)。<br />

126 <strong>Caché</strong> データ 整 合 性 ガイド


シャドウ 情 報 のグローバルとユーティリティ<br />

(jrndir,0) は、ベース・シャドウ・ディレクトリであり、その 他 のすべては、キーであるサーバ・ジャーナル・ディレクトリと、<br />

値 としてのシャドウ・ジャーナル・ディレクトリを 持 つジャーナル・ディレクトリのリダイレクトを 示 します。<br />

• Primary Server Cluster ID — 異 なるクラスタにノードが 移 行 する 際 、シャドウがそれを 追 従 するのを 防 止 するために<br />

使 います (DBServerClusterID サブノードから)。<br />

• Primary Server Candidates (フェイルオーバー 用 ) — クラスタの 現 在 動 作 中 のメンバのリストです。1 つのメンバがエ<br />

ラーになると、そのメンバから 情 報 を 取 得 する (デジャーナル 側 またはコピー 側 のいずれかの) シャドウは、 成 功 する<br />

までリストの 他 のメンバを 試 行 します。シャドウが 新 規 メンバの 存 在 を 見 つけると、すぐにリストに 追 加 されます (servers<br />

サブノードから)。<br />

• When to purge a shadow journal file — ローカル・ジャーナル・ファイルの 削 除 と 同 じように 動 作 します。 年 数 しきい 値<br />

は、クラスタ・シャドウの lifespan サブノードで 設 定 されます。ローカル・ジャーナル・ファイルの 削 除 とは 異 なり、lifespan<br />

の 値 が 0 の 場 合 、シャドウ・ジャーナル・ファイルは、 完 全 にデジャーナルされるとすぐに 削 除 されます。 削 除 された<br />

ジャーナル・ファイルは、コピー 側 の jrndel サブノードにリストされます。<br />

chkpnt サブノードには、チェックポイントのリストが 格 納 されます。チェックポイントは、デジャーナル 側 の 作 業 キューのス<br />

ナップショット (デジャーナリングの 現 在 の 進 行 状 況 ) です。chkpnt サブノードの 値 は、デジャーナル 側 が 再 開 するときに<br />

使 用 するチェックポイントを 示 します。これが、ShowWhere^SHDWX で 表 示 されるチェックポイントです。 対 応 するチェッ<br />

クポイントを 完 全 に 更 新 した 後 で chkpnt サブノードの 値 を 更 新 することにより、 更 新 中 にシステム・フェイルオーバーが<br />

発 生 した 場 合 に 部 分 的 なチェックポイントを 取 得 することを 防 止 します (その 場 合 、デジャーナル 側 は 以 前 のチェックポ<br />

イントを 使 用 します)。<br />

コピー 側 は、コピーした (またはコピー 中 の) ジャーナル・ファイル 名 を jrnfil サブノードに 保 持 します。これにより、コピー<br />

側 が 新 しい 位 置 に 新 しいジャーナル・ファイルをコピーする 間 に、デジャーナル 側 が 古 いディレクトリのシャドウ・ジャーナ<br />

ル・ファイルを 探 せるようにして、ジャーナル・ファイルのリダイレクトの 変 更 を 可 能 にします。シャドウ・ジャーナル・ファイ<br />

ルが 削 除 されると、jrnfil リストから jrndel リストに 移 されます。<br />

以 下 は、クラスタ・シャドウ clutest とその 2 つのコピー 側 シャドウのノードの ^SYS("shdwcli") コンテンツの 例 です。<br />

^SYS("shdwcli","clutest")=0<br />

^SYS("shdwcli","clutest","DBServerClusterID")=_$1$DKB400:[TEST.5X]CACHE.PIJ<br />

"at")=0<br />

"chkpnt")=212<br />

^SYS("shdwcli","clutest","chkpnt",1)=1,1012488866,-128<br />

^SYS("shdwcli","clutest","chkpnt",1,1012488866,0,1)=0,,,,<br />

^SYS("shdwcli","clutest","chkpnt",2)=2,1012488866,-128<br />

^SYS("shdwcli","clutest","chkpnt",2,1012488866,-128,2)=<br />

-128,_$1$DKA0:[TEST.5X.SHADOW.1]20020131.001,0,,0<br />

^SYS("shdwcli","clutest","chkpnt",3)=6,1012488866,5<br />

^SYS("shdwcli","clutest","chkpnt",3,1012488866,11,6)=<br />

5,_$1$DKA0:[TEST.5X.SHADOW.1]20020131.001,-132252,,0<br />

^SYS("shdwcli","clutest","chkpnt",4)=35,1012488866,85<br />

^SYS("shdwcli","clutest","chkpnt",4,1012488866,95,35)=<br />

85,_$1$DKA0:[TEST.5X.SHADOW.1]20020131.001,-136984,,0<br />

^SYS("shdwcli","clutest","chkpnt",5)=594,1012488866,807<br />

^SYS("shdwcli","clutest","chkpnt",5,1012488866,808,594)=<br />

808,_$1$DKA0:[TEST.5X.SHADOW.1]20020131.001,262480,1,0<br />

...<br />

^SYS("shdwcli","clutest","chkpnt",212)=24559,1021493730,5<br />

^SYS("shdwcli","clutest","chkpnt",212,1021493730,37,24559)=<br />

5,_$1$DKA0:[TEST.5X.SHADOW.1]20020515.001,-132260,,0<br />

^SYS("shdwcli","clutest","cmd")=<br />

^SYS("shdwcli","clutest","dbmap","^^_$1$DKB300:[TEST.CLU.5X]")=<br />

^^_$1$DKA0:[TEST.CLU.5X]<br />

^SYS("shdwcli","clutest","end")=0<br />

"err")=1<br />

^SYS("shdwcli","clutest","err",1)=<br />

20020519 14:16:34 568328925 Query+8^SHDWX;-12;<br />

reading ans from |TCP|42009timed out,Remote server is not responding<br />

^SYS("shdwcli","clutest","err",1,"begin")=20020519 14:09:09<br />

"count")=5<br />

^SYS("shdwcli","clutest","errmax")=10<br />

"intv")=10<br />

"ip")=rodan<br />

"jrndir")=3<br />

^SYS("shdwcli","clutest","jrndir",0)=_$1$DKA0:[TEST.5X.SHADOW]<br />

"_$1$DRA2:[TEST.5X.JOURNAL]")=_$1$DKA0:[TEST.5X.SHADOW.1]<br />

"_$1$DRA2:[TEST.5Y.JOURNAL]")=_$1$DKA0:[TEST.5X.SHADOW.2]<br />

"_$1$DRA2:[TEST.5Z.JOURNAL]")=_$1$DKA0:[TEST.5X.SHADOW.3]<br />

^SYS("shdwcli","clutest","jrntran")=0<br />

<strong>Caché</strong> データ 整 合 性 ガイド 127


"lifespan")=0<br />

"locdir")=<br />

"locshd")=<br />

"pid")=568328919<br />

"port")=<br />

"port0")=42009<br />

"remjrn")=<br />

^SYS("shdwcli","clutest","servers","42009,192.9.202.5")=<br />

"42009,rodan")=<br />

"42019,192.9.202.5")=<br />

"42029,192.9.202.5")=<br />

^SYS("shdwcli","clutest","stat")=0<br />

"stop")=1<br />

^SYS("shdwcli","clutest","sys",0)=<br />

1)=<br />

2)=<br />

^SYS("shdwcli","clutest","tcp")=|TCP|42009<br />

"tpskip")=1<br />

"type")=21<br />

^SYS("shdwcli","clutest~0")=0<br />

^SYS("shdwcli","clutest~0","at")=0<br />

"clu")=clutest<br />

"cmd")=<br />

"end")=132260<br />

"err")=0<br />

"intv")=10<br />

"ip")=192.9.202.5<br />

^SYS("shdwcli","clutest~0","jrndel",<br />

"_$1$DKA0:[TEST.5X.SHADOW.1]20020131.001")=<br />

"_$1$DKA0:[TEST.5X.SHADOW.1]20020131.002")=<br />

"_$1$DKA0:[TEST.5X.SHADOW.2]20020510.010")=<br />

^SYS("shdwcli","clutest~0","jrnfil")=36<br />

^SYS("shdwcli","clutest~0","jrnfil",35)=<br />

_$1$DRA2:[TEST.5X.JOURNAL]20020513.006<br />

^SYS("shdwcli","clutest~0","jrnfil",35,"shdw")=<br />

_$1$DKA0:[TEST.5X.SHADOW.1]20020513.006<br />

^SYS("shdwcli","clutest~0","jrnfil",36)=<br />

_$1$DRA2:[TEST.5X.JOURNAL]20020515.001<br />

^SYS("shdwcli","clutest~0","jrnfil",36,"shdw")=<br />

_$1$DKA0:[TEST.5X.SHADOW.1]20020515.001<br />

^SYS("shdwcli","clutest~0","jrntran")=0<br />

"locdir")=<br />

"locshd")=<br />

_$1$DKA0:[TEST.5X.SHADOW.1]20020515.001<br />

"pause")=0<br />

"pid")=568328925<br />

"port")=42009<br />

"port0")=42009<br />

"remend")=132260<br />

"remjrn")=<br />

"stat")=0<br />

"stop")=1<br />

"tcp")=|TCP|42009<br />

"tpskip")=1<br />

"type")=12<br />

^SYS("shdwcli","clutest~1")=0<br />

^SYS("shdwcli","clutest~1","at")=0<br />

"clu")=clutest<br />

"cmd")=<br />

"end")=132248<br />

"err")=0<br />

"intv")=10<br />

"ip")=192.9.202.5<br />

^SYS("shdwcli","clutest~1","jrndel",<br />

"_$1$DKA0:[TEST.5X.SHADOW.1]20020510.003")=<br />

"_$1$DKA0:[TEST.5X.SHADOW.2]20020131.001")=<br />

"_$1$DKA0:[TEST.5X.SHADOW.2]20020510.008")=<br />

^SYS("shdwcli","clutest~1","jrnfil")=18<br />

^SYS("shdwcli","clutest~1","jrnfil",17)=<br />

_$1$DRA2:[TEST.5X.JOURNAL]20020510.011<br />

^SYS("shdwcli","clutest~1","jrnfil",17,"shdw")=<br />

_$1$DKA0:[TEST.5X.SHADOW.1]20020510.011<br />

^SYS("shdwcli","clutest~1","jrnfil",18)=<br />

_$1$DRA2:[TEST.5Y.JOURNAL]20020510.011<br />

^SYS("shdwcli","clutest~1","jrnfil",18,"shdw")=<br />

_$1$DKA0:[TEST.5X.SHADOW.2]20020510.011<br />

^SYS("shdwcli","clutest~1","jrntran")=0<br />

"locdir")=<br />

"locshd")=<br />

_$1$DKA0:[TEST.5X.SHADOW.2]20020510.011<br />

"pid")=568328925<br />

"port")=42009<br />

"port0")=42009<br />

128 <strong>Caché</strong> データ 整 合 性 ガイド<br />

クラスタ・ジャーナリング


シャドウ 情 報 のグローバルとユーティリティ<br />

"remend")=132248<br />

"remjrn")=<br />

"stat")=0<br />

"stop")=1<br />

"tcp")=|TCP|42009<br />

"tpskip")=1<br />

"type")=12<br />

<strong>Caché</strong> データ 整 合 性 ガイド 129


6<br />

複 数 のシステムでのデータ 整 合 性<br />

ミラーリング、シャドウイング、またはその 他 のメカニズムを 使 用 して、 別 のシステムでデータのコピーを 保 持 する 場 合 、2<br />

つのシステム 間 のデータの 整 合 性 をチェックすることができます。DataCheck では、これをチェックし、 一 時 的 な 不 一 致<br />

の 再 チェックも 行 います。<br />

以 下 の 項 目 について 説 明 します。<br />

• DataCheck の 概 要<br />

• ミラー 用 の DataCheck の 構 成<br />

• DataCheck のセットアップ 手 順<br />

• ^DATACHECK ルーチン<br />

• データ・チェックに 関 する 特 別 な 考 慮 事 項<br />

6.1 DataCheck の 概 要<br />

DataCheck では、2 つのシステム (DataCheck のソースと DataCheck の 宛 先 ) にあるデータの 状 態 を 比 較 し、それらが<br />

一 致 しているかどうかを 判 断 するメカニズムを 提 供 します。チェックのすべての 構 成 、 動 作 制 御 および 結 果 は、 宛 先 シス<br />

テム 上 で 提 供 され、ソース・システムは 基 本 的 に 受 動 的 です。<br />

DataCheck の 宛 先 として 機 能 する <strong>Caché</strong> のインスタンスで、DataCheck の 宛 先 構 成 を 作 成 する 必 要 があります。 同 じイ<br />

ンスタンスに 複 数 の 宛 先 構 成 を 作 成 して、 複 数 のソース・システムに 対 してデータをチェックするように 構 成 する (または、<br />

1 つのソースに 対 してさまざまなデータをチェックするように 構 成 する) ことができます。DataCheck を 使 用 してシャドウ・<br />

システムの 整 合 性 をチェックする 場 合 、シャドウイングの 宛 先 として 機 能 する <strong>Caché</strong> インスタンスも DataCheck の 宛 先 と<br />

して 構 成 することをお 勧 めします。DataCheck を 使 用 してミラーの 整 合 性 をチェックする 場 合 の 詳 細 は、"ミラー 用 の<br />

DataCheck の 構 成 " を 参 照 してください。<br />

DataCheck のトピックについては、 以 下 のサブセクションで 詳 しく 説 明 します。<br />

• DataCheck クエリ<br />

• DataCheck ジョブ<br />

• DataCheck 結 果<br />

• DataCheck ワークフロー<br />

<strong>Caché</strong> データ 整 合 性 ガイド 131


複 数 のシステムでのデータ 整 合 性<br />

6.1.1 DataCheck クエリ<br />

宛 先 システムは、DataCheck “クエリ” と 呼 ばれる 作 業 ユニットをソース・システムに 送 信 します。 各 クエリは、データベー<br />

ス、 最 初 のグローバル 参 照 、ノード 数 、およびターゲット・グローバル 参 照 を 指 定 します。 両 方 のシステムで、 最 初 のグ<br />

ローバル 参 照 から 始 まる 指 定 された 数 のグローバル・ノードを 検 索 し、グローバル・キーと 値 をハッシュすることにより、 回<br />

答 を 計 算 します。 回 答 が 一 致 した 場 合 、 宛 先 システムはその 結 果 を 記 録 し、ノード 数 を 増 やし、 最 初 のグローバル 参 照<br />

を 高 度 化 してそのクエリを 再 送 信 します。 回 答 が 一 致 しなかった 場 合 、クエリは、その 不 一 致 が 構 成 される 最 小 のクエリ・<br />

サイズに 隔 離 されるまでノード 数 を 減 らして 再 送 信 されます。<br />

6.1.2 DataCheck ジョブ<br />

各 クエリへの 回 答 は、ソース・システムと 宛 先 システムの 両 方 で 実 行 される DataCheck ワーカ・ジョブにより 計 算 されま<br />

す。ワーカ・ジョブの 数 は、 宛 先 システムの 動 的 に 調 整 可 能 なパフォーマンス 設 定 により 決 定 されます。この 章 の “パ<br />

フォーマンスに 関 する 考 慮 事 項 ” を 参 照 してください。<br />

ワーカ・ジョブに 加 え、 各 システムにはその 他 のジョブがあります。 宛 先 システムでは、さらに 以 下 のジョブが 実 行 されま<br />

す。<br />

• マネージャ・ジョブ — クエリのロードと 配 信 、クエリの 回 答 の 比 較 、およびワークフロー・フェーズでの 進 捗 管 理 を 行<br />

います。このジョブは、ソース・システムのマネージャ・ジョブに 接 続 されます。<br />

• レシーバ・ジョブ — ソース・システムからの 回 答 を 受 信 します。<br />

ソース・システムでは、さらに 以 下 のジョブが 実 行 されます。<br />

• マネージャ・ジョブ — 宛 先 システムのマネージャ・ジョブから 要 求 を 受 信 し、これらをワーカ・ジョブに 送 信 します。<br />

• センダ・ジョブ — ワーカ・ジョブからのクエリの 回 答 を 受 信 し、これらを 宛 先 システムのレシーバ・ジョブに 送 信 します。<br />

このジョブは、 宛 先 システムのレシーバ・ジョブに 接 続 されます。<br />

6.1.3 DataCheck 結 果<br />

チェックの 結 果 では、 以 下 のいずれかの 状 態 のグローバル 添 え 字 範 囲 をリストします。<br />

• [ 不 明 ] — DataCheck は、まだこの 範 囲 にチェックを 付 けていません。<br />

• [ 一 致 ] — DataCheck は、この 範 囲 が 一 致 していることを 確 認 しました。<br />

• [ 不 一 致 ] — DataCheck は、この 範 囲 内 で 不 一 致 を 検 出 しました。<br />

• [ 照 合 不 一 致 ] — ソース・システムと 宛 先 システムの 間 の 照 合 が 異 なることがグローバルで 検 出 されました。<br />

• [ 除 外 ] — この 範 囲 はチェックから 除 外 されています。<br />

現 在 のチェック 結 果 および 前 回 のチェックの 最 終 結 果 は、 宛 先 システムで 表 示 することができます。 詳 細 は、<br />

SYS.DataCheck.RangeList クラスを 参 照 してください。DataCheck 内 のすべての 添 え 字 範 囲 は、 範 囲 の 最 初 を 含 みま<br />

すが、 範 囲 の 最 後 を 含 みません。 添 え 字 範 囲 の 詳 細 は、この 章 の "チェックするグローバルおよび 添 え 字 範 囲 の 指 定 "<br />

を 参 照 してください。<br />

チェック 結 果 の 例 を 次 に 示 します。<br />

c:\InterSystems\cache\mgr\mirror2 ^XYZ Unmatched<br />

^XYZ --Matched--> ^XYZ(3001,4)<br />

^XYZ(3001,4) --Unmatched--> ^XYZ(5000)<br />

^XYZ(5000) --Matched--> [end]<br />

132 <strong>Caché</strong> データ 整 合 性 ガイド


ミラー 用 の DataCheck の 構 成<br />

この 結 果 は、^XYZ から ^XYZ(3001,4) までの 範 囲 (^XYZ(3001,4) は 含 まない) のノードが 一 致 し、^XYZ(3001,4) から<br />

^XYZ(5000) までの 範 囲 (^XYZ(5000) は 含 まない) に 少 なくとも 1 つの 不 一 致 があることを 示 しています。^XYZ(5000) か<br />

ら 最 後 までの 範 囲 のノードは 一 致 しています。<br />

不 一 致 範 囲 に 含 まれる 不 一 致 の 最 小 数 と 頻 度 は、 最 小 クエリ・サイズによって 異 なります ("パフォーマンスに 関 する 考<br />

慮 事 項 " を 参 照 )。 例 えば、この 例 で 最 小 クエリ・サイズが 既 定 値 の 32 に 設 定 されている 場 合 、^XYZ(3001,4) から<br />

^XYZ(5000) までの 範 囲 には、32 ノードごとに 少 なくとも 1 つの 不 一 致 があります。この 範 囲 内 で 連 続 して 33 個 以 上 の<br />

ノードに 不 一 致 がなかった 場 合 は、その 部 分 が 別 個 の 一 致 範 囲 として 結 果 に 表 示 されます。<br />

6.1.4 DataCheck ワークフロー<br />

チェック 中 にデータが 変 更 され、 一 時 的 な 不 一 致 が 記 録 される 場 合 があります。このような 一 時 的 な 不 一 致 を 解 消 する<br />

ため、 再 チェックが 必 要 となることがあります。 宛 先 システムには、グローバルのチェック 方 法 を 定 義 するワークフローが<br />

あります。<br />

一 般 的 なワークフローは、“チェック” フェーズで 始 まります。このフェーズの 最 初 に、 現 在 の 結 果 セットが 最 後 に 完 了 し<br />

た 結 果 として 保 存 され、 新 しいアクティブな 結 果 セットが 構 築 されます。DataCheck は、チェックに 含 めるよう 指 定 された<br />

すべてのグローバルの 最 初 の 受 け 渡 しを 行 います。<br />

チェック・フェーズに 続 き、 通 常 は 必 要 に 応 じた 繰 り 返 し 回 数 で “ 不 一 致 の 再 チェック” フェーズが 指 定 されます。 一 時<br />

的 な 不 一 致 を 解 消 するため、 繰 り 返 しのたびに、 一 致 しないすべての 範 囲 を 再 チェックします。<br />

ワークフローの 各 フェーズが 完 了 すると、DataCheck は 次 のフェーズに 移 ります。 最 後 のフェーズが 完 了 すると、ワーク<br />

フローは 暗 黙 的 に 再 度 最 初 のフェーズから 開 始 されます。“ 停 止 ” フェーズはすべての DataCheck ジョブをシャットダ<br />

ウンし、“アイドル” フェーズは 手 動 で 次 のフェーズが 指 定 されるまで DataCheck を 待 機 させます。<br />

6.1.4.1 DataCheck の 開 始 、 停 止 、および 再 接 続<br />

DataCheck はいつでも 停 止 および 開 始 できます。 開 始 時 に、DataCheck はその 停 止 位 置 からワークフローを 再 開 しま<br />

す。さらに、 現 在 のフェーズに 続 く、または 現 在 のフェーズを 中 止 する 別 のワークフロー・フェーズを、いつでも 指 定 する<br />

ことができます。<br />

DataCheck は、チェック 中 に 停 止 されたり、 切 断 されたり、またはミラーリングのために 一 時 停 止 した 場 合 、 再 接 続 時 にそ<br />

の 停 止 位 置 から 現 在 のフェーズを 再 開 します。 長 時 間 経 過 した 後 でしか 再 接 続 しない 場 合 は、 代 わりにワークフローの<br />

最 初 のフェーズから 再 開 する 方 が 望 ましい 場 合 があります。 例 えば、システムがチェックの 途 中 で 数 週 間 切 断 され、その<br />

後 チェックが 再 開 された 場 合 、その 結 果 の 値 は 疑 わしいものになります。なぜなら、 一 部 は 2 週 間 前 から、 一 部 は 現 時<br />

点 から 収 集 されたものであるためです。このワークフローには、 時 間 を 秒 単 位 で 指 定 する Timeout プロパティが 含 まれ、<br />

その 時 間 内 であれば、DataCheck はワークフローの 部 分 的 に 完 了 したフェーズを 再 開 できます。timeout を 超 えると、<br />

DataCheck は、 次 回 実 行 状 態 になったときに 最 初 のフェーズから 再 開 します。 既 定 値 は 5 日 間 (432,000 秒 ) です。こ<br />

れは、この DataCheck の 構 成 により 大 量 のデータがチェックされ、チェックを 正 常 に 完 了 するのに 数 時 間 から 数 日 かか<br />

る 可 能 性 があるという 想 定 に 基 づいています。そのため、より 短 時 間 でチェックが 完 了 する 構 成 の 場 合 は、より 小 さな 値<br />

にすることをお 勧 めします。ゼロを 指 定 すると、タイムアウトは 行 われません。<br />

注 釈<br />

バージョン 2012.1 以 前 に 作 成 された 構 成 には、Timeout プロパティは 含 まれていませんでした。アップグレー<br />

ドでは 既 存 構 成 の 動 作 は 変 更 されないため、Timeout は 0 に 設 定 されますが、 必 要 に 応 じて 変 更 できます。<br />

6.2 ミラー 用 の DataCheck の 構 成<br />

DataCheck の 宛 先 構 成 の 作 成 時 にシステムがミラーのメンバである 場 合 ("<strong>Caché</strong> 高 可 用 性 ガイド" の “ミラーリング”<br />

の 章 を 参 照 )、ミラーリングされるデータをチェックするように DataCheck を 構 成 できるオプションが 提 供 されます。このオ<br />

プションを 選 択 する 場 合 、DataCheck のソースとして 機 能 するミラー・メンバを 選 択 するだけで、 構 成 の 残 りは 自 動 的 に<br />

設 定 されます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 133


複 数 のシステムでのデータ 整 合 性<br />

チェックの 開 始 時 、ミラーリングされるデータベースはすべてチェックに 含 まれるので、データベースを 個 々にマップする<br />

必 要 はありません。また、"チェックするグローバルおよび 添 え 字 範 囲 の 指 定 " の 説 明 に 従 って、チェックするグローバル<br />

を 指 定 したり、データベース 全 体 を 除 外 することができます。ミラーベースの DataCheck の 構 成 を、ミラーリングされない<br />

データベースのチェックに 使 用 することはできませんが、この 目 的 で 別 のミラーベースでない DataCheck の 構 成 を 作 成<br />

することはできます。<br />

このセクションでは、 以 下 の 項 目 について 説 明 します。<br />

• ミラー 内 での DataCheck の 計 画<br />

• チェックするグローバルの 選 択<br />

6.2.1 ミラー 内 での DataCheck の 計 画<br />

DataCheck の 各 宛 先 構 成 は、それぞれ 1 つのソース・ミラー・メンバに 接 続 します。ソース・メンバを 変 更 することはでき<br />

ませんが、 追 加 の DataCheck 構 成 を 作 成 して、 複 数 のソース・ミラー・メンバ (または、 同 じソースのさまざまなデータ・<br />

セット) に 対 してチェックを 行 うことができます。<br />

このセクションでは、 以 下 のメンバ 固 有 のサブセクションについて 説 明 します。<br />

• フェイルオーバー・メンバ 間 のデータのチェック<br />

• 非 同 期 メンバのデータのチェック<br />

6.2.1.1 フェイルオーバー・メンバ 間 のデータのチェック<br />

フェイルオーバー・ミラー・メンバ 間 でチェックを 行 う 場 合 、チェックは 通 常 、 以 下 の 理 由 で DataCheck の 宛 先 として 構 成<br />

されたバックアップ・フェイルオーバー・メンバを 使 用 して 実 行 されます。<br />

• DataCheck の 宛 先 は、チェックの 結 果 やその 他 の 状 態 情 報 (それ 自 体 がジャーナリングしたもの) を 保 持 するため<br />

に、ソースよりも 多 くのリソースを 使 用 する。<br />

• バックアップ・フェイルオーバー・メンバが DataCheck の 宛 先 である 場 合 、プライマリ・フェイルオーバー・メンバが 停<br />

止 しても、バックアップ 上 で 結 果 を 確 認 できる。<br />

注 釈<br />

ほとんどの 構 成 では、フェイルオーバーが 既 に 発 生 し、 結 果 の 確 認 はたいていフェイルオーバーの 決 定<br />

後 に 行 われるということが 前 提 となっています。<br />

DataCheck がソースへの 接 続 を 失 ったときは 常 に、ソース・マシンが 再 度 使 用 可 能 になるのを 無 制 限 に 待 機 して、 接 続<br />

を 再 試 行 します。ミラーベースの DataCheck がプライマリ・フェイルオーバー・メンバでなかったときに 宛 先 で 開 始 され、<br />

その 後 そのメンバがプライマリになった 場 合 、DataCheck は 自 動 的 に 再 接 続 を 試 みるのではなく、 停 止 します。これによ<br />

り、DataCheck がプライマリで 誤 って 実 行 されることがなくなります。 再 接 続 の 詳 細 は、この 章 の "DataCheck の 開 始 、 停<br />

止 、および 再 接 続 " を 参 照 してください。<br />

6.2.1.2 非 同 期 メンバのデータのチェック<br />

ミラー・ベースの DataCheck がフェイルオーバー・メンバと 非 同 期 メンバ 間 のチェックを 行 う 場 合 は、 非 同 期 メンバが 宛 先<br />

となることが 一 般 的 です。これは、フェイルオーバー・メンバ 間 のチェックに 関 する 前 述 の 理 由 と 同 じですが (" フェイル<br />

オーバー・メンバ 間 のデータのチェック" を 参 照 )、 主 として 障 害 復 旧 時 にチェックの 結 果 を 非 同 期 メンバに 格 納 する 必 要<br />

があるためです。<br />

2 つのフェイルオーバー・メンバがある 場 合 、ソースである 2 つのフェイルオーバー・メンバのそれぞれに 対 して、 非 同 期<br />

メンバで DataCheck の 宛 先 構 成 を 1 つ 作 成 すると 一 般 的 に 便 利 です。^DATACHECK ルーチンでは、 両 方 を 自 動 的<br />

に 作 成 できるだけでなく、2 つのうちどちらをプライマリ・フェイルオーバー・メンバとするかについてそれぞれの 動 作 を 設<br />

定 できます。<br />

134 <strong>Caché</strong> データ 整 合 性 ガイド


DataCheck のセットアップ 手 順<br />

DataCheck の 各 構 成 には、プライマリ・メンバであるソース・フェイルオーバー・メンバの 状 態 に 基 づいてその 動 作 を 制 御<br />

するための 設 定 が 含 まれます。 設 定 は 以 下 のとおりです。<br />

• [プライマリのみチェック] (DataCheck のソースがプライマリになるまで 一 時 停 止 )<br />

プライマリがこの 非 同 期 メンバのデータの 正 当 なソースであるため、プライマリに 対 してのみチェックを 行 うことが 適 し<br />

ている 場 合 です。<br />

• [プライマリをチェックしない] (DataCheck のソースがプライマリの 場 合 は 一 時 停 止 )<br />

プロダクション・プライマリ・システム 上 のリソースを 消 費 しないため、バックアップに 対 してチェックを 行 うことが 適 して<br />

いる 場 合 です。<br />

• [ 制 限 なし]<br />

フェイルオーバー・メンバ 間 で DataCheck を 実 行 する 必 要 がなく、 両 方 のフェイルオーバー・メンバをチェックする<br />

エージェントとして 非 同 期 メンバを 使 用 するため、 両 方 を 制 限 なしでチェックすることが 適 している 場 合 です。<br />

注 釈<br />

一 時 停 止 後 の 再 接 続 の 詳 細 は、この 章 の "DataCheck の 開 始 、 停 止 、および 再 接 続 " を 参 照 してください。<br />

システム 管 理 者 によって 手 動 で ( 必 要 に 応 じて) 実 行 される DataCheck の 構 成 の 場 合 、これらの 設 定 は 特 に 重 要 でな<br />

い 場 合 があります。これらの 設 定 は、 継 続 的 に (または、ほぼ 継 続 的 に) 実 行 される DataCheck の 構 成 の 場 合 により 重<br />

要 になります。<br />

特 別 な 関 係 がなくても、いずれのメンバももう 1 つのメンバをチェックできます。 例 えば、 非 同 期 メンバを 両 方 のフェイル<br />

オーバー・メンバをチェックするために 使 用 している 場 合 でも、その 他 の 非 同 期 メンバに 対 するチェックのソースとして 使<br />

用 することができます。これにより、 他 の 非 同 期 メンバを 使 用 してフェイルオーバー・メンバに 対 するチェックを 行 う 必 要 が<br />

なくなります。<br />

6.2.2 チェックするグローバルの 選 択<br />

DataCheck の 実 行 時 に 存 在 するミラーリングされるデータベースは、すべて 自 動 的 にチェックされます。チェックするグ<br />

ローバルおよびデータベースの 制 御 方 法 の 詳 細 は、この 章 の "チェックするグローバルおよび 添 え 字 範 囲 の 指 定 " を 参<br />

照 してください。<br />

6.3 DataCheck のセットアップ 手 順<br />

^DATACHECK ルーチンにより DataCheck の 宛 先 システムを 設 定 し、 管 理 ポータルにより DataCheck のソース・システ<br />

ムを 有 効 にすることができます。 新 しい DataCheck システムを 設 定 するには、 以 下 を 実 行 します。<br />

1. 新 しい 宛 先 システムを 作 成 します。<br />

2. 宛 先 システムの 構 成 を、 以 下 のように 設 定 または 編 集 します。<br />

a. ミラーベースでない 構 成 の 場 合 、ソース・システムへの TCP 接 続 用 に、ホスト 名 /IP アドレス、スーパーサーバ・<br />

ポート、およびオプションの SSL 構 成 を 指 定 します。<br />

ミラーベースの 構 成 の 場 合 、チェックするミラー・メンバを 指 定 します。<br />

b. ミラーベースでない 構 成 の 場 合 、チェックするデータベース 一 式 とソース・システム 上 の 対 応 するパスを 指 定 し<br />

ます。<br />

ミラーベースの 構 成 の 場 合 、ミラーリングされるデータベースがすべて 含 まれます。<br />

c. 必 要 に 応 じて、どのデータベース、グローバル、およびグローバル 範 囲 を 含 めるか、あるいは 除 外 するかをきめ<br />

細 かく 制 御 するため、グローバル 選 択 マスクおよび 添 え 字 範 囲 を 指 定 します。 詳 細 は、この 章 の "チェックする<br />

グローバルおよび 添 え 字 範 囲 の 指 定 " を 参 照 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 135


複 数 のシステムでのデータ 整 合 性<br />

d. 必 要 に 応 じて、 動 的 に 調 整 可 能 な 設 定 を 調 整 し、チェックのパフォーマンスおよびシステム・リソースの 使 用 量<br />

を 制 御 します。 詳 細 は、この 章 の "パフォーマンスに 関 する 考 慮 事 項 " を 参 照 してください。<br />

e. 必 要 に 応 じて、チェック 方 法 を 指 定 するワークフローを 変 更 します。 詳 細 は、この 章 の “DataCheck ワークフ<br />

ロー” を 参 照 してください。<br />

3. ソース・システムで %Service_DataCheck サービスを 有 効 にします。 詳 細 は、この 章 の “DataCheck サービスの<br />

有 効 化 ” を 参 照 してください。<br />

4. チェックを 制 御 する 宛 先 システムを 起 動 します。<br />

5. 以 下 のように、チェックの 状 態 を 監 視 します。<br />

• ソース・システムで、 状 態 とログ・ファイルを 表 示 します。<br />

• 宛 先 システムで、 状 態 とログ・ファイルのほか、クエリと 結 果 のリストも 表 示 します。<br />

6.3.1 DataCheck サービスの 有 効 化<br />

ソース・システムで 実 行 している <strong>Caché</strong> インスタンスの 管 理 ポータルから、データ・チェック・サービスを 有 効 にし、 必 要 に<br />

応 じて 接 続 を 制 限 します。<br />

1. 管 理 ポータルの [システム] > [セキュリティ 管 理 ] > [サービス] ページに 移 動 します。<br />

2. サービス 名 のリストで [%Service_DataCheck] をクリックし、データ・チェック・サービス・プロパティを 編 集 します。<br />

3. [サービスの 有 効 化 ] チェック・ボックスにチェックを 付 けます。[ 保 存 ] をクリックする 前 に、このデータベース・ソース<br />

に 接 続 できる IP アドレスを 制 限 することもできます。その 場 合 は、 以 下 の 手 順 を 実 行 してから [ 保 存 ] をクリックしま<br />

す。<br />

注 釈<br />

ミラーをチェックするように 構 成 した 場 合 、DataCheck は、SSL を 使 用 するようにミラーが 設 定 されていれば<br />

SSL を 使 用 します ( 詳 細 は、この 章 の "ミラー 用 の DataCheck の 構 成 " を 参 照 してください)。ただし、DataCheck<br />

サービスは、ミラー・メンバに 対 してのみアクセスを 自 動 的 に 制 限 することはありません。 他 のシス<br />

テムからの DataCheck 接 続 を 制 限 する 場 合 、%Service_DataCheck サービスに 対 して [ 許 可 済 みの 接<br />

続 元 ] を 構 成 する 必 要 があります。<br />

4. 必 要 に 応 じて、サービスへのアクセスを 制 限 するため、[ 許 可 済 みの 接 続 元 ] ボックス ( 以 前 入 力 したサーバ・アドレ<br />

スが 表 示 されています) で、[ 追 加 ] をクリックし、[IP アドレス] を 追 加 します。 使 用 するすべてのアドレスを 入 力 し 終<br />

えるまで、この 手 順 を 繰 り 返 します。<br />

これらのアドレスは、 該 当 する 行 の [ 削 除 ] をクリックして 個 別 に 削 除 できます。また、[すべて 削 除 ] をクリックしてす<br />

べてのアドレスを 削 除 し、どのアドレスからも 接 続 を 許 可 することもできます。<br />

6.3.2 チェックするグローバルおよび 添 え 字 範 囲 の 指 定<br />

DataCheck では、 以 下 のように、チェックに 含 める、またはチェックから 除 外 するグローバル 名 および 添 え 字 範 囲 を 指 定<br />

できます。<br />

• [[マップされた/ミラーリングされる] 全 データベースの 全 グローバルをチェックする] — ミラーベースでない 構 成 では、<br />

すべてのマップされたデータベースの 全 グローバルをチェックし、ミラーベースの 構 成 では、すべてのミラーリングさ<br />

れるデータベースの 全 グローバルをチェックします。<br />

• [ 一 部 のグローバル/データベースを 含 む/ 除 外 する] — 指 定 したマスクに 基 づいて 選 択 されたデータベースのグロー<br />

バルをチェックします。 添 え 字 は 許 可 されません。<br />

マスク、またはコンマ 区 切 りのマスクのリストを 以 下 のように 追 加 または 編 集 できます。<br />

136 <strong>Caché</strong> データ 整 合 性 ガイド


DataCheck のセットアップ 手 順<br />

– * — すべてのグローバルをチェックします ( 既 定 )。<br />

– 最 後 の 文 字 に * — 前 にある 文 字 で 始 まるすべてのグローバルをチェックします。<br />

– マスクの 前 の ' — グローバルをチェックから 除 外 します。<br />

以 下 はその 例 です。<br />

– ABC* — ABC で 始 まるすべてのグローバル 名<br />

– A:D — A から D のすべてのグローバル 名<br />

– A:D,Y* — A から D で、Y で 始 まるすべてのグローバル 名<br />

– *,'C*,'D* — C または D で 始 まるグローバルを 除 くすべてのグローバル<br />

– '* — すべてのグローバルを 除 外 します。<br />

特 定 のデータベースのグローバル 選 択 マスクを 定 義 するだけでなく、グローバル 選 択 マスクが 定 義 されていないデー<br />

タベースに 対 して 使 用 される “ 既 定 のグローバル 選 択 マスク” を 明 示 的 に 設 定 することもできます。 当 初 、 既 定 の<br />

マスクは * に 設 定 されます。<br />

注 釈<br />

ミラーベースの DataCheck の 場 合 、 新 しく 追 加 されたミラーリングされるデータベースが 次 回 のチェックに<br />

含 まれます。そのため、 新 しく 追 加 されたミラーリングされるデータベースが 自 動 的 にチェックされないよう<br />

にする 場 合 は、 既 定 のマスクを '* に 設 定 します。<br />

例 えば、マスクが 定 義 されていないすべてのデータベースに 対 する 既 定 のマスク (*,'^DontCheckMe) を 指 定 す<br />

ると 同 時 に、 特 に USER および USER2 データベースに 対 してグローバル 選 択 マスク (A:D) を 指 定 するには、<br />

^DATACHECK ルーチンの [ 構 成 の 編 集 ] サブメニューから 以 下 を 実 行 します (この 章 の "^DATACHECK ルーチ<br />

ン" を 参 照 してください)。<br />

1) Import Settings from a Shadow<br />

2) Connection Settings<br />

3) Database Mappings<br />

4) Globals to Check<br />

5) Performance Settings<br />

6) Manage Workflow<br />

Option 4<br />

1) Check All Globals in All Mapped Databases<br />

2) Include/Exclude Some Globals/Databases<br />

3) Include/Exclude Some Globals/Databases and Subscript Ranges<br />

Option 1 => 2<br />

Save changes Yes =><br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

Option 2<br />

Enter a mask string, * to include all, '* to exclude all, for help<br />

Mask: * => *,'^DontCheckMe<br />

Save changes Yes =><br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

Option 3<br />

1) C:\InterSystems\cache\mgr\dockbook\ [no mask defined, use default]<br />

2) C:\InterSystems\cache\mgr\user\ [no mask defined, use default]<br />

3) C:\InterSystems\cache\mgr\user2\ [no mask defined, use default]<br />

Database (multiple selections allowed): 2,3<br />

Enter a mask string, * to include all, '* to exclude all, for help<br />

! to delete this mask and revert to default<br />

Mask: A:D<br />

<strong>Caché</strong> データ 整 合 性 ガイド 137


複 数 のシステムでのデータ 整 合 性<br />

1) C:\InterSystems\cache\mgr\dockbook\ [no mask defined, use default]<br />

2) C:\InterSystems\cache\mgr\user\ [A:D]<br />

3) C:\InterSystems\cache\mgr\user2\ [A:D]<br />

Database (multiple selections allowed):<br />

Save changes Yes =><br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

Option<br />

• [ 一 部 のグローバル/データベースおよび 添 え 字 範 囲 を 含 む/ 除 外 する] — [ 一 部 のグローバル/データベースを 含 む/<br />

除 外 する] オプションと 同 じタスクを 実 行 できるだけでなく、このオプションでは、 特 定 のグローバルの 添 え 字 範 囲 を<br />

識 別 することができます。 含 めるようにマークされたグローバル 添 え 字 範 囲 は、そのグローバルがグローバル 選 択 マ<br />

スクに 含 まれるかどうかに 関 係 なく 含 められます。DataCheck 内 のすべての 添 え 字 範 囲 は、 範 囲 の 最 初 を 含 みます<br />

が、 範 囲 の 最 後 を 含 みません。<br />

注 釈<br />

DataCheck では、 処 理 の 過 程 で 除 外 された 範 囲 のデータに 一 致 が 検 出 された 場 合 、そのデータが 一 致 と<br />

してマークされる 可 能 性 があります。 一 方 、 除 外 された 範 囲 の 不 一 致 がマークされることはありません。<br />

例 えば、 上 記 の 例 の 続 きで、USER2 データベースに 対 し、グローバル 選 択 マスク (A:D) を 指 定 したとします。 以 下<br />

のようにプロンプトに 応 答 して、^NAME グローバルに 添 え 字 範 囲 を 含 めることができます。<br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

Option 1<br />

1) Check All Globals in All Mapped Databases<br />

2) Include/Exclude Some Globals/Databases<br />

3) Include/Exclude Some Globals/Databases and Subscript Ranges<br />

Option 2 => 3<br />

Save changes Yes =><br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

5) Add/Edit Subscript Ranges for a Global<br />

6) Delete All Subscript Ranges for a Global<br />

7) Delete All Subscript Ranges<br />

8) View Defined Subscript Ranges<br />

Option 5<br />

1) C:\InterSystems\cache\mgr\dockbook\<br />

2) C:\InterSystems\cache\mgr\user\<br />

3) C:\InterSystems\cache\mgr\user2\<br />

Database: 3 C:\InterSystems\cache\mgr\user2\<br />

Global Name: ^NAME<br />

There are no subscript ranges defined for this global.<br />

You may start by including all or excluding all subscripts.<br />

Answer YES to include, NO to exclude: no<br />

C:\InterSystems\cache\mgr\user2\<br />

^NAME --Excluded--> [end]<br />

^NAME<br />

From: <br />

Enter a global reference with or without subscripts or null for end.<br />

The leading ^ may be omitted. For subscripted references the entire<br />

global name may be omitted and simply begin with open parentheses<br />

From: (10)<br />

To: (20)<br />

Answer YES to include, NO to exclude: yes<br />

C:\InterSystems\cache\mgr\user2\ ^NAME<br />

^NAME --Excluded--> ^NAME(10)<br />

^NAME(10) --Included--> ^NAME(20)<br />

138 <strong>Caché</strong> データ 整 合 性 ガイド


DataCheck のセットアップ 手 順<br />

^NAME(20) --Excluded--> [end]<br />

From:<br />

Continue editing subscript ranges for this global Yes => no<br />

C:\InterSystems\cache\mgr\user2\ ^NAME<br />

^NAME --Excluded--> ^NAME(10)<br />

^NAME(10) --Included--> ^NAME(20)<br />

^NAME(20) --Excluded--> [end]<br />

Save changes Yes =><br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

5) Add/Edit Subscript Ranges for a Global<br />

6) Delete All Subscript Ranges for a Global<br />

7) Delete All Subscript Ranges<br />

8) View Defined Subscript Ranges<br />

Option<br />

マスク 情 報 は、 以 下 のように 表 示 できます。<br />

Option 4<br />

The default include/exclude mask is:<br />

*,'^DontCheckMe<br />

The following databases are using non-default global selection criteria<br />

C:\InterSystems\cache\mgr\user\<br />

A:D<br />

C:\InterSystems\cache\mgr\user2\<br />

* Has additional global subscript ranges to include/exclude that apply<br />

regardless of whether those globals are included in this mask.<br />

A:D<br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

5) Add/Edit Subscript Ranges for a Global<br />

6) Delete All Subscript Ranges for a Global<br />

7) Delete All Subscript Ranges<br />

8) View Defined Subscript Ranges<br />

Option<br />

マスク 情 報 には 添 え 字 範 囲 の 記 述 が 含 まれているため、その 情 報 は 以 下 のように 表 示 できます。<br />

Option 8<br />

Device:<br />

Right margin: 80 =><br />

DataCheck Destination System: GLOBTEST<br />

Global Selection Subscript Ranges<br />

C:\InterSystems\cache\mgr\user2\ ^NAME<br />

^NAME --Excluded--> ^NAME(10)<br />

^NAME(10) --Included--> ^NAME(20)<br />

^NAME(20) --Excluded--> [end]<br />

1) Options for selecting globals to check<br />

2) Set default include/exclude mask for databases with no mask defined<br />

3) Add or remove include/exclude mask for databases<br />

4) View include/exclude masks<br />

5) Add/Edit Subscript Ranges for a Global<br />

6) Delete All Subscript Ranges for a Global<br />

7) Delete All Subscript Ranges<br />

8) View Defined Subscript Ranges<br />

Option<br />

<strong>Caché</strong> データ 整 合 性 ガイド 139


複 数 のシステムでのデータ 整 合 性<br />

6.4 ^DATACHECK ルーチン<br />

^DATACHECK ルーチン (%SYS ネームスペース 内 ) を 使 用 して、データ・チェックを 構 成 および 管 理 できます。 任 意 の<br />

プロンプトでヘルプを 表 示 するには、 を 入 力 します。<br />

^DATACHECK ルーチンを 開 始 するには、 以 下 を 実 行 します。<br />

1. <strong>Caché</strong> ターミナルで、 以 下 のコマンドを 入 力 します。<br />

ZNSPACE "%SYS"<br />

%SYS> do ^DATACHECK<br />

2. メイン・メニューが 表 示 されます。 実 行 する 操 作 の 番 号 を 入 力 します。ルーチンを 終 了 するには Enter キーを 押 しま<br />

す。<br />

1) Create New Configuration<br />

2) Edit Configuration<br />

3) View Details<br />

4) Start<br />

5) Stop<br />

6) Delete Configuration<br />

7) Incoming Connections to this System as a DataCheck Source<br />

Option<br />

注 釈<br />

オプション 2 ~ 6 では、 複 数 の 宛 先 システムを 作 成 した 場 合 、アクションを 実 行 する 宛 先 システムを 選 択<br />

できるようにリストが 表 示 されます。<br />

メイン・メニューでは、 以 下 のテーブルのように 実 行 する DataCheck タスクを 選 択 できます。<br />

オプション<br />

1)<br />

2)<br />

3)<br />

4)<br />

5)<br />

6)<br />

7) DataCheck<br />

説 明<br />

[ 新 規 構 成 の 作 成 ] プロンプトによって、 新 しい DataCheck の 宛 先 システムの<br />

構 成 の 名 前 が 要 求 されます。<br />

[ 構 成 の 編 集 ] サブメニューが 表 示 されます。<br />

[ 詳 細 表 示 ] サブメニューが 表 示 されます。<br />

宛 先 システムを 起 動 または 再 開 します。 再 開 する 場 合 は、 停 止 位 置 から 再 開<br />

されます。<br />

宛 先 システムを 停 止 します。 停 止 した 後 に 宛 先 システムを 再 開 する 場 合 、 宛<br />

先 システムは 停 止 した 位 置 から 再 開 されます。<br />

指 定 した 宛 先 システムの 構 成 を 削 除 します。<br />

[DataCheck のソースであるこのシステムへの 着 信 接 続 ] サブメニューが 表 示<br />

されます。<br />

注 釈<br />

ソース・システムでは、このオプションを 選 択 する 必 要 があります。<br />

6.4.1 新 規 構 成 の 作 成<br />

このサブメニューでは、 宛 先 システムを 構 成 できます。このオプションを 選 択 すると、 以 下 のプロンプトが 表 示 されます。<br />

Configuration Name:<br />

140 <strong>Caché</strong> データ 整 合 性 ガイド


^DATACHECK ルーチン<br />

ミラー・メンバでないシステムで DataCheck の 構 成 を 作 成 する 場 合 、[ 設 定 の 編 集 ] サブメニューが 表 示 されます。"ミラー<br />

ベースでないシステムでの DataCheck の 構 成 の 編 集 " の 説 明 に 従 って、 手 動 で 構 成 を 完 了 してください。<br />

ミラー・メンバであるシステムで DataCheck の 構 成 を 作 成 する 場 合 、データ・チェックをミラーリングに 基 づくかどうかに 依<br />

存 する 追 加 情 報 を 求 められます。ミラーリングに 基 づかない DataCheck を 構 成 することを 選 択 した 場 合 は、[ 設 定 の 編<br />

集 ] サブメニューが 表 示 されます。このサブメニューを 使 用 して、"ミラーベースでないシステムでの DataCheck の 構 成<br />

の 編 集 " の 説 明 に 従 って 手 動 で 構 成 を 完 了 してください。 一 方 、ミラーリングに 基 づく DataCheck を 構 成 することを 選 択<br />

した 場 合 、データ・チェックがミラーリングされるデータベースに 制 限 され、 宛 先 システムがフェイルオーバー・メンバか 非<br />

同 期 ミラー・メンバかによって 後 続 のプロンプトが 変 わります。 詳 細 は、この 章 の "ミラー 用 の DataCheck の 構 成 " を 参 照<br />

してください。<br />

6.4.2 構 成 の 編 集<br />

このサブメニューでは、 宛 先 システムの 構 成 を 変 更 できます。サブメニューのオプションは、ミラーベースの 構 成 を 編 集<br />

するか、ミラーベースでない 構 成 を 編 集 するかによって 異 なります。 詳 細 は、 以 下 のサブセクションを 参 照 してください。<br />

• ミラーベースでないシステムでの DataCheck の 構 成 の 編 集<br />

• ミラーベースの DataCheck の 構 成 の 編 集<br />

6.4.2.1 ミラーベースでないシステムでの DataCheck の 構 成 の 編 集<br />

ミラーベースでないシステムでは、このオプションを 選 択 すると、 以 下 のプロンプトが 表 示 されます。<br />

Configuration Name: dc_test<br />

1) Import Settings from a Shadow (static)<br />

2) Connection Settings (static)<br />

3) Database Mappings (static)<br />

4) Globals to Check (dynamic)<br />

5) Performance Settings (dynamic)<br />

6) Manage Workflow (dynamic)<br />

Option<br />

注 釈<br />

編 集 モードでは、 複 数 の 宛 先 システムを 作 成 した 場 合 、 編 集 する 宛 先 システムを 選 択 できるようにリストが 表 示<br />

されます。また、オプション 1 ~ 3 の 設 定 を 編 集 するには、まずシステムを 停 止 する 必 要 があります。<br />

実 行 する 操 作 の 番 号 を 入 力 します。 前 のメニューに 戻 るには ^ キーを 押 します。このサブメニューの 各 オプションでは、<br />

以 下 のテーブルのように 宛 先 システムを 構 成 できます。<br />

オプション<br />

1)<br />

2)<br />

3)<br />

4)<br />

5)<br />

説 明<br />

DataCheck を 使 用 してシャドウ・システムのソースと 宛 先 が 同 期 していることを 確<br />

認 する 場 合 、このオプションにより、 既 存 のシャドウ・システムから 設 定 をインポー<br />

トできます。<br />

ソース・システムに 接 続 するための 情 報 。<br />

ソース・システムおよび 宛 先 システムに 対 して、データベース・マッピングを 追 加 、<br />

削 除 、またはリストできます。<br />

チェックするグローバルまたはチェックから 除 外 するグローバル。 詳 細 は、この 章<br />

の "チェックするグローバルおよび 添 え 字 範 囲 の 指 定 " を 参 照 してください。<br />

使 用 するシステム・リソース (スロットル) および DataCheck が 不 一 致 を 隔 離 する<br />

粒 度 ( 最 小 クエリ・サイズ) を 調 整 します。 詳 細 は、この 章 の "パフォーマンスに 関<br />

する 考 慮 事 項 " を 参 照 してください。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 141


複 数 のシステムでのデータ 整 合 性<br />

オプション<br />

6)<br />

説 明<br />

ワークフロー・フェーズの 順 序 を 管 理 します。 詳 細 は、この 章 の "DataCheck ワー<br />

クフロー" を 参 照 してください。<br />

6.4.2.2 ミラーベースの DataCheck の 構 成 の 編 集<br />

ミラーベースのシステムでは、 以 下 のサブメニューが 表 示 されます。<br />

Configuration Name: MIRRORSYS2_MIRRORX201112A_1<br />

1) Globals to Check<br />

2) Performance Settings<br />

3) Manage Workflow<br />

4) Change Mirror Settings (Advanced)<br />

Option<br />

実 行 する 操 作 の 番 号 を 入 力 します。 前 のメニューに 戻 るには ^ キーを 押 します。このサブメニューの 各 オプションでは、<br />

以 下 のテーブルのように 宛 先 システムを 構 成 できます。<br />

オプション<br />

1)<br />

2)<br />

3)<br />

4) ( )<br />

説 明<br />

チェックするグローバルまたはチェックから 除 外 するグローバル。 詳 細 は、この 章<br />

の "チェックするグローバルおよび 添 え 字 範 囲 の 指 定 " を 参 照 してください。<br />

使 用 するシステム・リソース (スロットル) および DataCheck が 不 一 致 を 隔 離 する<br />

粒 度 ( 最 小 クエリ・サイズ) を 調 整 します。 詳 細 は、この 章 の "パフォーマンスに 関<br />

する 考 慮 事 項 " を 参 照 してください。<br />

ワークフロー・フェーズの 順 序 を 管 理 します。 詳 細 は、この 章 の "DataCheck ワー<br />

クフロー" を 参 照 してください。<br />

この 章 の “ミラーリングに 関 する 考 慮 事 項 ” の "ミラー 内 での DataCheck の 計<br />

画 " を 参 照 してください。<br />

6.4.3 詳 細 表 示<br />

このサブメニューでは、 宛 先 システムの 状 態 の 監 視 および、 実 行 しているクエリやデータ・チェック 結 果 の 詳 細 情 報 の 表<br />

示 を 行 うことができます。<br />

System Name: dc_test<br />

1) View Status<br />

2) View Results<br />

3) View Queries<br />

3) View Log<br />

Option<br />

実 行 する 操 作 の 番 号 を 入 力 します。 前 のメニューに 戻 るには ^ キーを 押 します。このサブメニューの 各 オプションでは、<br />

以 下 のテーブルのように 宛 先 システムの 情 報 を 表 示 できます。<br />

オプション<br />

1)<br />

2)<br />

説 明<br />

選 択 した 宛 先 システムに 関 する 情 報 を 表 示 します。<br />

選 択 した 宛 先 システムの 結 果 を 表 示 します。 詳 細 は、この 章 の “DataCheck 結<br />

果 ” を 参 照 してください。<br />

142 <strong>Caché</strong> データ 整 合 性 ガイド


データ・チェックに 関 する 特 別 な 考 慮 事 項<br />

オプション<br />

3)<br />

4)<br />

説 明<br />

選 択 した 宛 先 システムにより 送 信 されたクエリを 表 示 します。 詳 細 は、この 章 の<br />

“DataCheck クエリ” を 参 照 してください。<br />

選 択 した 宛 先 システムのログ・ファイルが 表 示 されます。<br />

6.4.4 DataCheck のソースであるこのシステムへの 着 信 接 続<br />

このサブメニューでは、ソース・システムに 関 する 情 報 を 表 示 できます。<br />

1) List Source Systems<br />

2) View Log<br />

Option<br />

実 行 する 操 作 の 番 号 を 入 力 します。 前 のメニューに 戻 るには ^ キーを 押 します。このサブメニューの 各 オプションでは、<br />

以 下 のテーブルのようにソース・システムの 情 報 を 表 示 できます。<br />

オプション<br />

1)<br />

4)<br />

説 明<br />

DataCheck のソース・システムに 関 する 情 報 を 表 示 します。<br />

ソース・システムのログ・ファイルが 表 示 されます。<br />

6.5 データ・チェックに 関 する 特 別 な 考 慮 事 項<br />

DataCheck を 使 用 するときは、 以 下 の 特 別 な 考 慮 事 項 を 確 認 してください。<br />

• パフォーマンスに 関 する 考 慮 事 項<br />

• セキュリティに 関 する 考 慮 事 項<br />

6.5.1 パフォーマンスに 関 する 考 慮 事 項<br />

複 数 のシステムでのデータベースの 整 合 性 を 確 保 するうえでデータ・チェックは 有 用 ですが、ソース・システムと 宛 先 シ<br />

ステムの 両 方 でリソースが 消 費 されます。これにより、 負 荷 および DataCheck の 構 成 によっては、いずれかのシステムで<br />

他 のプロセスのパフォーマンスに 悪 影 響 を 及 ぼす 可 能 性 があります。DataCheck には、パフォーマンスの 管 理 を 支 援 す<br />

るコントロールが 含 まれます。<br />

スロットルは、 使 用 可 能 なシステム・リソース (CPU、ディスク I/O、データベース・キャッシュ) のうち、DataCheck が 使 用<br />

できる 量 を 制 御 します。これは、 両 方 のシステムのパフォーマンスにも 影 響 を 及 ぼす 可 能 性 があります。 値 が 1 の 場 合 、<br />

システムは 少 量 のシステム・リソースを 使 用 するように 設 定 されます ( 大 量 の CPU およびディスク I/O を 使 用 するプロセ<br />

スは 1 つのみになる)。 値 が 大 きくなると、 高 速 にチェックを 実 行 できるようになりますが、 他 のジョブのパフォーマンスに<br />

悪 影 響 を 及 ぼす 可 能 性 があります。 値 が 10 の 場 合 、システムは 可 能 な 限 りのシステム・リソースを 使 用 するように 設 定 さ<br />

れます。また、この 設 定 では、ジョブをバッチ・モードで 実 行 するかどうかも 制 御 します。 値 が 1 ~ 8 の 場 合 、バッチ・モー<br />

ドが 動 的 に 有 効 になり、 値 が 9 または 10 の 場 合 、バッチ・モードは 無 効 になります。<br />

スロットルは、いつでも 変 更 可 能 であり、 即 座 に 適 用 させることができます。スロットルの 値 は、システムの 負 荷 が 軽 いと 思<br />

われる 時 間 には 大 きくし、システムの 負 荷 が 重 いと 思 われる 時 間 には 小 さくすることができます。これは、 実 行 時 間 が 長<br />

くなると 予 想 されるチェックに 有 用 です。DataCheck ルーチンは、 負 荷 の 重 い 時 間 に 停 止 する 可 能 性 もありますが、 再 起<br />

動 すると、チェックが 停 止 された 時 点 から 自 動 的 に 再 開 されます。<br />

<strong>Caché</strong> データ 整 合 性 ガイド 143


複 数 のシステムでのデータ 整 合 性<br />

最 小 クエリ・サイズは、クエリの 検 索 で 許 可 される 最 小 のグローバル・ノード 数 を 表 します。つまり、DataCheck が 不 一 致<br />

を 隔 離 する 際 に 使 用 するグローバル・ノードの 範 囲 の 最 小 サイズを 決 定 します。 値 を 小 さくすると 不 一 致 を 見 つけやすく<br />

なり、 値 を 大 きくすると 不 一 致 部 分 のチェック 速 度 が 大 幅 に 向 上 します。 例 えば、 最 小 クエリ・サイズを 1 ( 非 推 奨 ) に 設<br />

定 すると、 個 々の 不 一 致 ノードは、 別 個 の 不 一 致 範 囲 (または 少 なくともすべての 一 致 しないグローバルを 含 む 範 囲 ) と<br />

して 報 告 され、 不 一 致 が 正 確 に 識 別 されますが、パフォーマンスに 大 きな 影 響 が 出 ます。 最 小 クエリ・サイズを 1000 (や<br />

はり 非 推 奨 ) に 設 定 すると、1 つまたは 複 数 の 不 一 致 は、 少 なくとも 1000 個 の 一 致 しないノードを 含 む 範 囲 として 報 告<br />

され、 一 致 しないノードを 見 つけにくくなりますが、チェックは 大 幅 に 高 速 化 します。 既 定 値 は 32 です。これは 十 分 に 小<br />

さいため、パフォーマンスに 大 きな 影 響 を 及 ぼすことなく、 管 理 ポータルを 使 って 範 囲 内 のグローバル・ノードを 比 較 的<br />

簡 単 に 目 視 検 査 できます ("<strong>Caché</strong> グローバルの 使 用 法 " の “グローバルの 管 理 ” の 章 を 参 照 )。<br />

6.5.2 セキュリティに 関 する 考 慮 事 項<br />

宛 先 システムは、チェックが 完 了 したグローバルおよびチェック 中 のグローバルの 添 え 字 範 囲 を 保 存 します ( 結 果 および<br />

クエリ)。この 章 の "チェックするグローバルおよび 添 え 字 範 囲 の 指 定 " を 参 照 してください。この 添 え 字 データは、%SYS<br />

ネームスペース ( 既 定 では CACHESYS データベース 内 ) の ^SYS.DataCheck* グローバルに 保 存 されます。グローバ<br />

ルの 値 は 保 存 されず、 添 え 字 のみが 保 存 されます。%SYS ネームスペースに 保 存 されるその 他 のデータベースのグロー<br />

バル 添 え 字 には、セキュリティ 構 成 によっては、それ 以 外 の 場 合 に 一 部 のユーザには 表 示 されない 機 密 情 報 が 含 まれ<br />

ることがあります。したがって、 保 護 された 配 置 では、 特 に 注 意 が 必 要 です。<br />

構 成 、 起 動 、および 停 止 の 機 能 を 含 め、^DATACHECK ルーチンを 使 用 するには、^SYS.DataCheck* グローバルを 含<br />

むデータベース ( 既 定 では CACHESYS) に、%Admin_Operate:Use 特 権 と Read/Write 特 権 (チェックの 構 成 には<br />

Write、その 他 のすべてのタスクには Read) の 両 方 が 必 要 です。[ 詳 細 表 示 ] サブメニューのオプションを 使 用 するに<br />

は、%SYS ネームスペースの SYS_DataCheck SQL スキーマ 内 のテーブルに 対 する SELECT 権 限 も 必 要 です。<br />

^SYS.DataCheck* グローバルに 保 存 される 構 成 および 結 果 データは、 十 分 なデータベース 特 権 があればだれでも、<br />

ルーチンの 外 部 から 表 示 および 操 作 することができます。<br />

DataCheck データへのアクセス 権 を 持 つべきではないユーザに %DB_CACHESYS:Read 特 権 が 与 えられるセキュアな<br />

配 置 では、%SYS ネームスペースにグローバル・マッピングを 追 加 して、^SYS.DataCheck* グローバルを CACHESYS<br />

以 外 の 別 のデータベースにマップできます。このデータベースには、 新 しいリソース 名 を 割 り 当 てることができます。これ<br />

で、このリソースへの 読 み 取 り 許 可 を、DataCheck の 使 用 を 許 可 されたロールに 制 限 できます。<br />

別 の 宛 先 システムがソースとしてこのシステムに 接 続 できるかどうかは、このシステムの %Service_DataCheck サービ<br />

スにより 制 御 されます。このサービスは、 新 しいインストールでは 既 定 で 無 効 になり、 許 可 された IP アドレスのリストで 構<br />

成 することができます。 詳 細 は、この 章 の "DataCheck サービスの 有 効 化 " を 参 照 してください。<br />

2 つのシステム 間 の 通 信 の 暗 号 化 に 関 しては、SSL を 使 用 してソースに 接 続 するよう 宛 先 システムを 構 成 することができ<br />

ます。 詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “<strong>Caché</strong> での SSL/TLS の 使 用 法 ” の 章 で "SSL/TLS を 使 用 するた<br />

めの <strong>Caché</strong> スーパーサーバの 構 成 " を 参 照 してください。<br />

144 <strong>Caché</strong> データ 整 合 性 ガイド

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!