データベースの障害回復に用いられ,データベースの更新に関する情報が格納されているファイルはどれか。
平成21年度 春期 ITパスポート試験 問88
テクノロジ系データベース › トランザクション処理
这道题的解析和你的作答记录。
問88
頻出度★☆☆
解説
問 88
错误ア
索引文件是把表中某一列的值与对应行的存储位置关联起来的索引,是加快检索速度的机制。其内容是检索用的键和位置信息,并不是「更新的历史记录」,也不能作为故障恢复的材料(相反,发生故障时它属于要根据本体数据重新生成的一方)。题目的两个条件它都不满足。
错误イ
备份文件确实「用于」故障恢复,这一点是对的,所以容易混淆;但它存储的是某一时刻数据库的副本(快照),而不是「有关更新的信息(更新前后的值和更新顺序的历史记录)」。仅靠备份只能恢复到取得备份的那个时刻,要从那里推进到最新状态还需要另外的日志文件。题目问的是存储着更新信息的文件,所以イ只满足一半条件。
- ウ
正解 正确答案是ウ「日志文件」。日志文件(也称 journal 文件)会在每次更新数据库时,按时间顺序持续记录「何时、更新了哪条数据、更新前是什么、更新后变成什么」,这正是题目所说的「有关数据库更新的信息」本身。发生故障时,正因为有这份记录才能进行恢复。当事务中途异常终止时,使用更新前的值(更新前日志)撤销更新,回到处理之前的状态 —— 这就是回滚(后退恢复)。当磁盘故障等导致数据库本体损坏时,先还原备份,再按顺序应用备份取得时刻之后的更新后的值(更新后日志),把数据推进到最新状态 —— 这就是前滚(前进恢复)。两种恢复方式的输入都是日志文件,能同时满足题目「存储更新信息」与「用于故障恢复」这两个条件的只有ウ。
错误エ
加载模块文件是把源程序经过翻译(编译)和链接编辑,变成可装入主存执行的可执行程序后的文件,属于程序开发(编译、链接)领域的术语,而不是数据库领域的术语。它既不保存数据的更新历史,也不能作为故障恢复的输入,因此与题目无关。
ここがポイント
- 日志文件(journal 文件)= 按时间顺序记录数据库更新前、更新后的值的文件。它是故障恢复不可或缺、记录更新履历的信息来源,回滚(后退恢复,用更新前日志撤销)和前滚(前进恢复,还原备份后用更新后日志推进)两者都要用到它。
- 要区分「备份」和「日志」的分工:备份是某一时刻的副本,日志是此后更新的历史记录。实际的介质故障恢复采用「还原备份 + 日志前滚」的两段式做法,因此保存着更新信息的始终是日志一方。
用語