Oracle11的架构图:
1.Oracle写日志的过程是:
首先有多个日志组(组1,组2,组3····),循环的往日志组里写入日志记录。
即:先写组1,组1写满了,再写组2,当组3也写满了之后,就会回过头来 再往组1里写日志,此时就会覆盖组1里原来的日志,组1中的日志在被覆盖之前,需要考虑组1中的历史日志要不要被保留?这个就涉及到一个归档的日志的概念。
【注】:日志组的意思就是 Redo Log file。
若Oracle设置 开启了归档模式,那么Oracle会启动一个归档的进程去自动的帮我们去做日志的归档过程。
2.日志模式:
对应 归档模式 和 非归档模式:
归档模式的好处:
- 由于归档模式,它对Redo日志做了归档,形成了一个历史日志的归档。因此,可以很方便的将数据库 恢复到历史的任意一个时刻。也可以很方便的利用历史日志来生成任意一个历史时刻的数据库。
- 非归档模式下,只能利用数据库中的数据来进行恢复,而且只能进行完成恢复,即:恢复到发生故障的前一刻的数据状态。但是在发生故障的前一刻可能还有未提交的事务操作,即:日志和数据对应不上的问题。也即:生成了日志,但是并没有来得及更新数据库中的数据。那么这种情况下,可能会存在数据丢失问题。而归档模式下,就不会存在这个问题,因为有归档日志,可以利用归档日志 来进行数据的恢复。