登记日志文件时为什么必须先写日志文件,后写数据库?
把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
举一反三
内容
- 0
登记日志文件时,必须先写(),后写数据
- 1
登记日志文件时必须遵守:先写 ,后写数据库。
- 2
为保证数据库是可恢复的,登记日志文件时必须先写日志文件,后写数据库。
- 3
登记日志文件的顺序是先写数据库,后写日志文件。
- 4
登记日志文件时无论先写日志文件还是后写日志,RDBMS都能保证数据库可恢复。