登记日志文件时为什么必须先写日志文件 后写数据库?
文件,日志,数据库
已帮助 人
-
正确答案:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障即这两个写操作只完成了一个。 如果先写了数据库修改而在运行记录中没有登记这个修改则以后就无法恢复这个修改了。如果先写日志但没有修改数据库在恢复时只不过是多执行一次UNDO操作并不会影响数据库的正确性。因此一定要先写日志文件即首先把日志记录写到日志文件中然后写数据库的修改。
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。因此一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
