首发于 DB2杂谈

DB2 的事务日志

1. DB2事务日志:DB2的日志分主日志和次日志,主日志是在数据库第一次被连接和激活时创建的,而次日志是当写满所有的主日志后,才动态分配次日志,主日志和次日志受设置个数的制约,当配置的所有主、次日志写满后,数据库后续事务都会被回滚,而当活动日志目录被写满后,根据数据库的配置,分别对后续事务进行回滚和挂起,在挂起的情况下,事务会一直等待,直到有可用的活动日志空间,也就是可以创建一个新的日志为止,并周期的进行探测;

2. DB2事务日志运行的模式:

a) 循环方式:这种模式和ORACLE的非归档日志运行模式类似,循环使用,但覆盖前必须事务日志不再活动,只支持实例恢复,是DB2的默认日志运行模式;

b) 归档方式:这种模式类似于ORACLE数据库的归档方式,根据参数LOGARCHMETH1和LOGARCHMETH2的配置,DB2归档的方式不同。这种模式下,一旦一个日志满了,系统就标识该日志可以归档,但该日志会留在活动日志目录下,直到该日志变为不活动,才重命名该日志,以便重用,但可以肯定的是,该模式支持实例恢复和介质恢复;

c) 无限活动日志:该模式类似于归档模式,但它对日志的归档和重用无需等到日志变为不活动,而是一旦满了就直接归档,然后重命名日志直接重用,因此,这种模式下活动日志目录从来都不会满,因此,适合那些有很大未提交事务的情形。该模式同事支持实例恢复和介质恢复,只是实例恢复的时间要长一些。

发布于 2020-05-28 11:45

文章被以下专栏收录

    DB2杂谈

    分享DB2相关的理论知识和实践经验。