データベーススペシャリスト 2016年 午後1 問02
データベースの運用設計に関する次の記述を読んで、設問1〜3に答えよ。
A社は、仕入れた商品を中小企業向けに小口販売している卸売業者である。 A社では、受注、出荷、発注、在庫管理及び販売分析の業務を支援する受発注在庫管理システムを運用している。
〔プログラムとテーブルの関係〕
受発注在庫管理システムの主要なプログラムとテーブルの参照・更新の関係は、表1に示すとおりである。

(1) “商品”テーブル、“仕入先” テーブル及び “販売先” テーブルの追加、変更の要求は、“マスタ更新登録” テーブルに登録され、バッチプログラムで 1件ずつコミットしながら反映される。
(2) “在庫”テーブルは、在庫のうちの3割 (売れ筋商品) に相当する約 1,000 行が毎日頻繁に変更される。
(3) “出荷”テーブルには、毎日、約 400,000 行が追加される。
(4) “日別販売実績” テーブルには、当日分の販売実績が追加される。また、“月別販売実績” テーブルには、当日分の販売実績が当月分の販売実績に反映される。これらのテーブルには、直近3年分の販売実績が蓄積されている。
(5) “分析用データ” テーブルは、販売分析で使用する。 当日分の販売実績が、前日に作成された“分析用データ” テーブルに反映され、直近3年分の分析結果となるように維持されている。“分析用データ” テーブルは、バッチプログラム “分析用データ作成” を用いて、蓄積されている販売実績を基に、再作成することも可能である。
〔バッチプログラムの実行スケジュール〕
バッチプログラムの実行スケジュールを、図1に示す。
〔データの入出力〕
(1) RDBMSがディスクとデータの入出力を行う単位を、ページという。1ページ内にはテーブルの行が複数格納される。
(2) 同じページに、異なるテーブルの行が格納されることはない。
(3) 受発注在庫管理システムでは、ページのサイズは 4,096 バイトとしている。 また、“在庫”テーブル及び “出荷” テーブルは、1 ページ内に 40 行格納できるものとする。
〔RDBMSのバックアップ機能・復元機能・更新ログによる回復機能〕
1.バックアップ機能
(1) バックアップの単位には、データベース単位とテーブル単位がある。
(2) バックアップの種類には、取得するページの範囲によって、全体バックアップ、増分バックアップ及び差分バックアップがある。
① 全体バックアップには、全ページが含まれる。
② 増分バックアップには、前回の全体バックアップ取得後に変更されたページが含まれる。 ただし、前回の全体バックアップ取得以降に増分バックアップを取得していた場合は、前回の増分バックアップ取得後に変更されたページだけが含まれる。
③ 差分バックアップには、前回の全体バックアップ取得後に変更された全てのページが含まれる。
(3) 全体バックアップと増分バックアップの場合は、バックアップ取得ごとにバックアップファイルが作成される。 差分バックアップの場合は、2回目以降の差分バックアップ取得ごとに、前回の差分バックアップファイルが最新の差分バックアップファイルで置き換えられる。
(4) バックアップ取得に要する時間は、バックアップを取得するページ数に比例する。
2.復元機能
(1) バックアップを用いて、バックアップ取得時点の状態に復元できる。
(2) 復元の単位は、バックアップの単位と同一である。 データベース単位のバックアップを用いて、特定のテーブルだけを復元することはできない。
3.更新ログによる回復機能
(1) バックアップを用いて復元した後、更新ログを用いたロールフォワード処理によって指定の時刻の状態に回復できる。
(2) 更新ログによる回復に要する時間は、更新ログの量に比例する。
〔バックアップ及び回復の方針〕
(1) オンライン時間帯直前に、データベース単位でバックアップを取得する。
(2) オンラインプログラムで更新され得るテーブルは、オンライン時間帯直後に、テーブル単位でバックアップを取得する。
(3) それぞれのバッチプログラムを実行する直前に、更新対象のテーブルについて、テーブル単位でバックアップを取得する。 ただし、(2) バックアップを取得したテーブルは対象外とする。
(4) バックアップの種類は、全体バックアップとする。
(5) 回復は、受注、出荷、発注、在庫管理の業務に影響するテーブルを優先する。
〔データ異常発生時の回復運用〕
バッチプログラム“出荷計上”にプログラム不良があり、“在庫” テーブルの当日分の内容が不正になっていた。 これが原因でバッチプログラム “発注対象データ作成”が中断した。 バッチプログラムで更新された全てのテーブルを当日のオンライン時間帯直後の状態に復元し、プログラム不良を修正後、全てのバッチプログラムを再実行すれば回復可能であるが、時間が掛かるので、次の手順を立案した。
第1段階 バックアップを用いて “出荷” テーブルと “在庫” テーブルを当日のオンライン時間帯直後の状態に復元し、プログラム不良を修正したバッチプログラム “出荷計上” を再実行する。
第2段階 バックアップを用いて“(ア)”テーブルを当日のオンライン時間帯直後の状態に復元し、バッチプログラム“(イ)”を再実行する。
第3段階 バックアップを用いて“(ウ)”テーブルを当日のオンライン時間帯直後の状態に復元し、バッチプログラム“(エ)”を再実行する。
第4段階 バッチプログラム “マスタ更新反映” を実行する。
設問1:受発注在庫管理システムのバックアップ及び回復について、(1)、(2)に答えよ。
(1)図1中の各契機でのテーブル単位のバックアップについて、次の表でバックアップを取得するものに “○” を記入せよ。
なお、バックアップを取得しないものは、空欄のままとすること。


模範解答

解説
解答の論理構成
- バックアップを取るタイミング
【問題文】の“〔バックアップ及び回復の方針〕(3)”より「バッチプログラムを実行する直前」が原則。T1〜T5は図1の契機に相当します。 - どのテーブルが更新されるか
「〔プログラムとテーブルの関係〕」の表で該当バッチ行を確認する。更新操作は “C”、“U”、“CU” が付いている列。 - 契機ごとの整理
• T1:オンライン更新分をバックアップ → “マスタ更新登録”、“受注”、“出荷指図”、“出荷”、“在庫”。
• T2:直後に走る “販売実績日次集計” は “日別販売実績” を更新 → ここだけ◯。
• T3:並列で “需要予測” と “販売実績月次集計” が走る。前者は “需要予測”、後者は “月別販売実績” を更新 → 2箇所◯。
• T4:次に “発注対象データ作成” と “分析用データ作成”。それぞれ “発注対象データ”、“分析用データ” を更新 → 2箇所◯。
• T5:“マスタ更新反映” は “商品”、“仕入先”、“販売先” を更新 → 3箇所◯。 - 「既取得テーブルは対象外」の確認
方針(3)の但し書き「(2) バックアップを取得したテーブルは対象外」により,T2〜T4でT1対象のテーブルは再取得しない。
誤りやすいポイント
- “R” だけの列を更新対象に含めてしまう
更新記号が付いていない場合はバックアップ不要です。 - T2,T3,T4 で「前段バッチが書き込んだテーブル」を選んでしまう
取得するのは“これから書き込むテーブル”であって“書き込まれた直後のテーブル”ではありません。 - “マスタ更新登録”をT5でも◯にする
“マスタ更新反映”は “マスタ更新登録” を読取専用(R)で参照するだけなので誤り。
FAQ
Q: オンライン終了直後のT1で “受注” を◯にする理由は?
A: “受注管理”プログラムは【表1】で “受注” に “CU”(追加/更新)があるため、オンライン帯で変更された可能性があるからです。
A: “受注管理”プログラムは【表1】で “受注” に “CU”(追加/更新)があるため、オンライン帯で変更された可能性があるからです。
Q: T3で “需要予測” をバックアップするのはなぜ?
A: 直後に実行される “需要予測” バッチが “需要予測” テーブルを “CR”(作成+参照)で扱うため、実行前の内容を保持しておく必要があります。
A: 直後に実行される “需要予測” バッチが “需要予測” テーブルを “CR”(作成+参照)で扱うため、実行前の内容を保持しておく必要があります。
Q: “差分バックアップ” や “増分バックアップ” を選ばないのか?
A: 方針(4)に「バックアップの種類は、全体バックアップとする」と明示されていますので、本問では種類を検討する余地はありません。
A: 方針(4)に「バックアップの種類は、全体バックアップとする」と明示されていますので、本問では種類を検討する余地はありません。
関連キーワード: バックアップ方針、ロールフォワード、テーブル単位回復、バッチ処理、全体バックアップ
設問1:受発注在庫管理システムのバックアップ及び回復について、(1)、(2)に答えよ。
(2)図1で実行中のバッチプログラムがテーブルにアクセスしたとき、ディスク障害を検知して異常終了する場合がある。 障害を検知したバッチプログラム名、ディスク障害の影響を受けたテーブル名、及びディスク復旧後の回復手順を、次の表にまとめた。 表中の(a)〜(f)に入れる適切な文句を答えよ。(b, c, dは順不同)


模範解答
a:・更新ログによる回復機能
・更新ログを用いたロールフォワード処理
b:商品
c:仕入先
d:販売先
e:再実行
f:継続
解説
解答の論理構成
- (a) の判断
- 【問題文】「3. 更新ログによる回復機能 (1)…ロールフォワード処理によって指定の時刻の状態に回復できる。」
- “出荷”テーブルをバックアップで復元した後に“バッチプログラム“出荷計上”終了時の状態”へ進めるにはロールフォワードが必須。ゆえに「更新ログによる回復機能」又は具体動作名「更新ログを用いたロールフォワード処理」を記入。
- (b)(c)(d) の判断
- 【問題文】「(1) “商品”テーブル、“仕入先” テーブル及び “販売先” テーブルの追加、変更の要求は、“マスタ更新登録” テーブルに登録され…“マスタ更新反映”を用いて反映される。」
- 障害を検知したバッチが“マスタ更新反映”なので、影響を受ける三つのマスタを同時に過去時点へ戻す必要がある。従って (b)「商品」、(c)「仕入先」、(d)「販売先」。
- (e) の判断
- 障害で途中終了した“マスタ更新反映”を完結させるには再度走らせるしかない。「再実行」を記入。
- (f) の判断
- “分析用データ作成”は“販売実績月次集計”完了後に開始するバッチで【表1】にもマスタ三表との参照・更新関係なし。よって復元する必要はなく、そのまま「継続」。
誤りやすいポイント
- バックアップ復元だけで“出荷計上”終了時点へ戻せると勘違いし、更新ログによるロールフォワードを漏らす。
- “マスタ更新反映”が扱うテーブルを“マスタ更新登録”と誤読してしまう。
- 「再実行」と「継続」を混同し、影響のないバッチまで再実行して整合性を崩す。
FAQ
Q: ロールフォワードとロールバックはどう違いますか?
A: ロールフォワードはバックアップ取得後の更新ログを順に当てて時点を進める処理、ロールバックはトランザクション異常時に直前の整合状態へ戻す処理です。今回は前者が必要です。
A: ロールフォワードはバックアップ取得後の更新ログを順に当てて時点を進める処理、ロールバックはトランザクション異常時に直前の整合状態へ戻す処理です。今回は前者が必要です。
Q: テーブル単位バックアップでデータベース全体の整合性は保てますか?
A: 【問題文】「復元の単位は、バックアップの単位と同一である。」ため、整合性を保つには依存関係を洗い出し、関連テーブルを同じ時点で揃える必要があります。本問では三つのマスタを同時に復元しています。
A: 【問題文】「復元の単位は、バックアップの単位と同一である。」ため、整合性を保つには依存関係を洗い出し、関連テーブルを同じ時点で揃える必要があります。本問では三つのマスタを同時に復元しています。
Q: 差分バックアップではなく全体バックアップを選んだ理由は?
A: 【バックアップ及び回復の方針】「(4) バックアップの種類は、全体バックアップとする。」と明示されており、回復手順を単純化し運用負荷を減らす狙いがあります。
A: 【バックアップ及び回復の方針】「(4) バックアップの種類は、全体バックアップとする。」と明示されており、回復手順を単純化し運用負荷を減らす狙いがあります。
関連キーワード: ロールフォワード、全体バックアップ、更新ログ、テーブル単位復元、バッチ再実行
設問2:バックアップ運用の見直しについて、(1)〜(3)に答えよ。
(1)月初めだけ全体バックアップを取得し、日々の運用では増分バックアップ、差分バックアップも活用することにした。 ただし、どちらのバックアップでも同程度の容量の節約となる場合は、バックアップ取得に要する時間が短い方を選択する。この場合、“在庫” テーブル及び “出荷” テーブルについて、選択すべきバックアップの種類として “増分” 又は “差分” のいずれかを○印で囲め。 また、その選択根拠として “容量” 又は “時間” のいずれかを○印で囲み、その理由(容量が節約できる理由又は時間が短い理由)を、30 字以内で述べよ。
模範解答

解説
解答の論理構成
- 変更量と更新パターンを整理
- 在庫:同一ページが繰り返し更新【問題文 (2)】
- 出荷:毎日新しいページが追加【問題文 (3)】
- バックアップ仕様を適用
- 差分は「前回の全体バックアップ取得後に変更された全てのページが含まれる」かつ「ファイルは置き換え」【バックアップ機能 1.(2)③、1.(3)】
- 増分は「直前のバックアップ以降に変更されたページを毎回新規ファイルに追加」【バックアップ機能 1.(2)②】
- 容量評価
- 在庫:差分なら固定Kページ×1ファイル、増分ならKページ×日数ファイル → 差分が有利。
- 出荷:差分は日を追うごとにページ数が累積、増分は1日ぶんのみ → 容量は同程度。
- 時間評価
- 出荷では容量が拮抗するので「時間が短い方」【小問説明】を優先。増分は1日ぶんだけ読み書きすれば済むので高速。
- 結論を表形式に整理し、理由欄は 30 字以内の端的な文章で示す。
誤りやすいポイント
- 差分バックアップを「毎回蓄積される」と誤解し、容量計算を増分と同じにしてしまう。
- 在庫テーブルで「更新行=変更ページ数」と短絡し、ページが毎日膨大に増えると誤認する。
- 「同程度」の解釈を曖昧にし、時間評価を後回しにしてしまう。
FAQ
Q: 差分バックアップが置き換えられるのは本当に毎回ですか?
A: はい。【バックアップ機能 1.(3)】に「差分バックアップの場合は…前回の差分バックアップファイルが最新の差分バックアップファイルで置き換えられる」と明記されています。
A: はい。【バックアップ機能 1.(3)】に「差分バックアップの場合は…前回の差分バックアップファイルが最新の差分バックアップファイルで置き換えられる」と明記されています。
Q: 出荷テーブルでも容量が増え続けるのに、なぜ差分を選ばないのですか?
A: 差分は前回全体バックアップ以降の全ページを毎回取得するので取得時間が急増します。一方、増分は当日の追加分だけなので短時間という利点があります。
A: 差分は前回全体バックアップ以降の全ページを毎回取得するので取得時間が急増します。一方、増分は当日の追加分だけなので短時間という利点があります。
Q: 増分と差分を混在させても復元は複雑になりませんか?
A: バックアップ運用の設計に合わせて復元手順をスクリプト化しておけば問題ありません。今回の設問ではバックアップ種別の選択理由が主題で、復元手順の複雑さは評価対象外です。
A: バックアップ運用の設計に合わせて復元手順をスクリプト化しておけば問題ありません。今回の設問ではバックアップ種別の選択理由が主題で、復元手順の複雑さは評価対象外です。
関連キーワード: 増分バックアップ、差分バックアップ、更新ページ、取得時間、ディスク容量
設問2:バックアップ運用の見直しについて、(1)〜(3)に答えよ。
(2)ある一つのテーブルのバックアップを月初めだけ取得し、日々のバックアップは取得しないことにした。 回復の方針に従って、どのテーブルを対象にすべきか、テーブル名を答えよ。
模範解答
“分析用データ”テーブル
解説
解答の論理構成
- バックアップ頻度を下げる対象の条件
- テーブル単位での回復方針(1)~(3)では「業務に影響するテーブルを優先」とあります。したがって、対象は業務影響が小さいか、容易に再作成できるテーブルになります。
- “分析用データ” テーブルの特性
- 【問題文】(5)
「“分析用データ” テーブルは、バッチプログラム “分析用データ作成” を用いて、蓄積されている販売実績を基に、再作成することも可能である。」 - 再作成可能=バックアップなしでも復旧できる。
- 【問題文】(5)
- 他テーブルとの比較
- “日別販売実績” や “月別販売実績” はオンライン分析だけでなく日次・月次集計処理の入力となるため、再作成には多段階のバッチが必要で時間が掛かります。
- “出荷”・“在庫” などは業務系バッチで頻繁に参照・更新されるため、回復を遅らせると直接業務に支障を来します。
- 結論
- 再作成が容易で業務クリティカルではない “分析用データ” テーブルだけを月初バックアップとし、日次バックアップを省略するのが合理的です。
誤りやすいポイント
- 「再作成できる」という記述を見落とし、“日別販売実績” や “月別販売実績” を選んでしまう。
- バックアップを減らす=アクセス頻度が低いテーブルと短絡的に判断し、“出荷” テーブルを選ぶミス。
- バッチ依存関係を考慮せず、復旧時に連鎖的再実行が必要になるテーブルを選んでしまう。
FAQ
Q: “分析用データ” テーブルを復元する際、過去3年分のデータ量が大きくても問題ありませんか?
A: バッチプログラム “分析用データ作成” が3年分を対象に再計算する設計になっているので、処理時間は掛かりますが正確に再生成できます。定期運用で所要時間を測定し、バッチウィンドウ内に収まることを確認しておくと安心です。
A: バッチプログラム “分析用データ作成” が3年分を対象に再計算する設計になっているので、処理時間は掛かりますが正確に再生成できます。定期運用で所要時間を測定し、バッチウィンドウ内に収まることを確認しておくと安心です。
Q: 月初めの全体バックアップに失敗した場合はどう対応すべきでしょうか?
A: バックアップ失敗を検知した時点で直近の成功バックアップを利用し、“分析用データ作成” を全期間再実行すれば整合性を保てます。ただし、処理時間が延びるため、運用手順書にエスカレーションルートを定めておくことが重要です。
A: バックアップ失敗を検知した時点で直近の成功バックアップを利用し、“分析用データ作成” を全期間再実行すれば整合性を保てます。ただし、処理時間が延びるため、運用手順書にエスカレーションルートを定めておくことが重要です。
関連キーワード: 増分バックアップ、差分バックアップ、ロールフォワード、バッチ再生成、データ復旧
設問2:バックアップ運用の見直しについて、(1)〜(3)に答えよ。
(3)(2)のテーブルに障害が発生し、かつ、バックアップファイルが壊れていた場合、どのように回復するか、40字以内で述べよ。
模範解答
3年分の販売実績を基に、バッチプログラム“分析用データ作成”を再実行する。
解説
解答の論理構成
- 障害の状況整理
- 問題条件で「(2)のテーブルに障害」「バックアップファイルが壊れていた」と指摘。
- 更新ログを使った回復もバックアップに依存するため利用不可。
- 代替策の探索
- 【問題文】(5)
「バッチプログラム “分析用データ作成” を用いて、蓄積されている販売実績を基に、再作成することも可能」 - 【問題文】(4)
「これらのテーブルには、直近3年分の販売実績が蓄積されている」 - よって “分析用データ” テーブルはバックアップ不要で再生成可能。
- 【問題文】(5)
- 手順の決定
- まず障害テーブル“分析用データ”を truncate などで空にするか、別名退避。
- 続いてバッチプログラム“分析用データ作成”を実行し、3年分の実績をもとに全件再作成。
- オンライン系・他バッチへの影響が最小で、求められる回復の迅速性を満たす。
誤りやすいポイント
- 「更新ログによる回復機能」で戻せると誤解し、バックアップ無しでは適用できない旨を見落とす。
- “分析用データ作成”が差分更新だと決めつけ、フル再生成が可能であることを読み飛ばす。
- 「販売実績は3年分」との記述を引用せずに説明し、根拠不十分となる。
FAQ
Q: 更新ログが残っているならロールフォワードだけで戻せるのでは?
A: 【問題文】3.(1) にある通り、「バックアップを用いて復元した後」にしかロールフォワードは行えません。バックアップが壊れているため今回は適用できません。
A: 【問題文】3.(1) にある通り、「バックアップを用いて復元した後」にしかロールフォワードは行えません。バックアップが壊れているため今回は適用できません。
Q: “分析用データ”を再生成すると他バッチの順序に影響しない?
A: “分析用データ”は分析専用で他業務の前提データではないため、再生成による依存関係はありません。プログラム再実行だけで完結します。
A: “分析用データ”は分析専用で他業務の前提データではないため、再生成による依存関係はありません。プログラム再実行だけで完結します。
関連キーワード: 差分バックアップ、ロールフォワード、データ再生成、ETL
設問3:〔データ異常発生時の回復運用〕 について、(1)、(2)に答えよ。
(1)(ア)〜(エ) に入れる適切な字句を答えよ。
模範解答
ア:需要予測
イ:需要予測
ウ:発注対象データ
エ:発注対象データ作成
解説
解答の論理構成
- 不具合による影響範囲の特定
- 【問題文】“バッチプログラム ‘出荷計上’ にプログラム不良があり、‘在庫’ テーブルの当日分の内容が不正”
- “出荷計上” が更新する “在庫” を参照する後続処理を確認する。
- 依存関係の確認
- “需要予測” 行では “在庫”(R) が指定されている(在庫を読んで予測値を算出)。
- “発注対象データ作成” 行では “需要予測”(R) が指定されている(予測値を読んで発注量を決定)。
- よって誤った在庫→誤った需要予測→誤った発注対象データ となる。
- 回復手順の設計
- 第1段階:指示どおり “出荷” と “在庫” を復元し “出荷計上” を再実行。
- 第2段階:依存先① “需要予測” を復元し、正しい在庫を参照して “需要予測” バッチを再実行。
【問題文】“第2段階 バックアップを用いて ‘(ア)’テーブル … バッチプログラム ‘(イ)’ を再実行する。” - 第3段階:依存先② “発注対象データ” を復元し、正しい予測を読んで “発注対象データ作成” を再実行。
【問題文】“第3段階 バックアップを用いて ‘(ウ)’テーブル … バッチプログラム ‘(エ)’ を再実行する。”
- 方針との整合
- 【問題文】“回復は、受注、出荷、発注、在庫管理の業務に影響するテーブルを優先する。”
- 在庫を先に直し、その影響を受ける予測→発注と段階的に復元する流れが方針と一致する。
- したがって
(ア)需要予測/(イ)需要予測/(ウ)発注対象データ/(エ)発注対象データ作成 が解答となる。
誤りやすいポイント
- “需要予測” プログラムは “在庫” を参照する事実を見落とし、先に “発注対象データ” だけを復元しようとしてしまう。
- “発注対象データ作成” が途中で中断した事実から「テーブルは壊れていない」と早合点し復元を省略してしまう。
- “差分バックアップではテーブル単位の復元ができない” と誤解し、回復手順の構築を諦めてしまう(【問題文】“復元の単位は、バックアップの単位と同一である。” を要確認)。
FAQ
Q: “需要予測” テーブルを復元せずに再実行しても上書きできるのでは?
A: 既存行を更新ではなく追加する設計の場合、重複データが残る恐れがあります。再実行前にクリーンな状態へ戻すのが安全です。
A: 既存行を更新ではなく追加する設計の場合、重複データが残る恐れがあります。再実行前にクリーンな状態へ戻すのが安全です。
Q: 差分/増分バックアップを使わない理由は?
A: 【問題文】“バックアップの種類は、全体バックアップとする。” と明示されており、設問は全体バックアップを前提に回復手順を検討させるものだからです。
A: 【問題文】“バックアップの種類は、全体バックアップとする。” と明示されており、設問は全体バックアップを前提に回復手順を検討させるものだからです。
Q: なぜ “販売実績日次集計” をやり直さなくて良いのか?
A: 不具合は “在庫” に限定され、同集計は “在庫” を参照しません。正しい “出荷” データは既に作成されており、結果は影響を受けないためです。
A: 不具合は “在庫” に限定され、同集計は “在庫” を参照しません。正しい “出荷” データは既に作成されており、結果は影響を受けないためです。
関連キーワード: バックアップ方式、復元手順、依存関係、ロールフォワード
設問3:〔データ異常発生時の回復運用〕 について、(1)、(2)に答えよ。
(2)バッチプログラム “出荷計上”、“(イ)”、“(エ)” の再実行、及び “マスタ更新反映” の実行を除いて、その他のバッチプログラムの再実行は不要である。その理由を 40字以内で述べよ。
模範解答
・“在庫”テーブルと、そのデータを反映したテーブルを参照しないから
・“在庫”テーブルの不正な内容の影響を受けるテーブルを参照しないから
・“在庫”、“需要予測”、“発注対象データ”の各テーブルを参照しないから
解説
解答の論理構成
- 障害の範囲を確定
“バッチプログラム“出荷計上”にプログラム不良があり、“在庫” テーブルの当日分の内容が不正” と明記されています。 - 必要な回復対象を列挙
復元手順では、 “第1段階 … “在庫” テーブル … 再実行”
“第2段階 … “需要予測” テーブル”
“第3段階 … “発注対象データ” テーブル”
と、障害テーブルと派生先のみを対象にしています。 - 他バッチとの依存関係を確認
表1より、残りのバッチ(例: “販売実績日次集計”、“販売実績月次集計”、“分析用データ作成” など)は “在庫”、“需要予測”、“発注対象データ” を参照しないことが読み取れます。 - 結論
したがって、当該テーブル群を使用しないバッチはデータ汚染の影響を受けず、再実行は不要になります。
誤りやすいポイント
- “在庫” と “出荷” を混同し、“出荷” を参照するバッチまで再実行しようとしてしまう
- “需要予測” と “分析用データ” の依存関係を誤解し、全バッチ再実行が必要と早合点する
- 表1で「R」のみの関係を軽視し、「更新がないなら影響なし」と思い込みがち
FAQ
Q: “出荷” テーブルを更新するバッチは再実行しなくても良いのですか?
A: “出荷” テーブル自体は正常であり、“在庫” だけが不正でした。復元後に “出荷計上” を再実行して正しい在庫を作成するため、他バッチの再実行は不要です。
A: “出荷” テーブル自体は正常であり、“在庫” だけが不正でした。復元後に “出荷計上” を再実行して正しい在庫を作成するため、他バッチの再実行は不要です。
Q: “分析用データ作成” は “需要予測” を読まないのですか?
A: 表1に “分析用データ作成” と “需要予測” の参照関係は示されていません。したがって障害の影響を受けません。
A: 表1に “分析用データ作成” と “需要予測” の参照関係は示されていません。したがって障害の影響を受けません。
Q: 万一別のテーブルに波及していたらどう判断しますか?
A: 参照・更新マトリクスで依存関係を洗い出し、影響を受け得るテーブルを含むバッチだけを候補に挙げ、バックアップ時点まで遡って整合性を取るのが基本方針です。
A: 参照・更新マトリクスで依存関係を洗い出し、影響を受け得るテーブルを含むバッチだけを候補に挙げ、バックアップ時点まで遡って整合性を取るのが基本方針です。
関連キーワード: 参照マトリクス、データ依存性、ロールフォワード、バックアップ戦略、バッチリカバリ


