Oracle日志类别,DB2数据库中的日志类型

如果您是刚刚才接触DB2数据库,那么DB2数据库中的日志类型您是很有必要知道的,下面将为您详细介绍DB2数据库中的日志类型,供您参考,希望对您有所帮助。

1.日志类型

1.1活动日志(ACTIVE LOG)

功能类似于ORACLE的online redo log, 该日志包含尚未提交或回滚的事务单元的相关信息,以及已提交但尚未写入数据库文件的事务的信息。

具体又分两种

l 主日志 数量由参数LOGPRIMARY决定,预先分配

l 从日志 当主日志不够时,临时分配最多LOGSECOND数目个从日志

1.2. 存档日志(ARCHIVED LOG)

存在于归档模式。

1.1.1. 联机存档日志(ONLINE ARCHIVED LOG)

它们是驻留在数据库活动日志目录(“online”)中、普通数据库活动不再需要的日志文件。

1.1.2. 脱机存档日志(OFFLINE ARCHIVED LOG)

它们是已经从数据库日志目录移到脱机存储位置(如备份服务器)、普通数据库活动不需要的日志文件

这两者的不同仅在于联机归档日志存在于活动日志目录下,而脱机的不是。

1.2. 日志模式

1.2.1. 循环日志模式

预先分配好的若干个主日志循环利用,当不够的时候,临时申请若干个从日志

1.2.2. 归档日志模式

当开启归档模式后,日志将不会被覆盖,而是不停新产生。如果不设LOGARCHMETH1参数的话,归档日志将仍然待原目录,就成为联机归档日志。如下图:

而如果,设置LOGARCHMETH1参数到另外一个目录的话,归档后的日志将被自动移动到新目录下,即被称为脱机归档日志,如下图:

2. DB2归档模式设定

1. 修改参数LOGRETAIN为recovery (缺省为N)

Db2 update db cfg for TEST using logretain recovery

2. 将数据库做一次全备

Db2 BACKUP DATABASE TEST TO "C:test"

3. 修改USER_EXIT参数

a) 可以通过图形界面;控制中心-》数据库》DBNAME》右键》配置数据库记录向导

b) 通过命令行

Db2 UPDATE DB CFG FOR TEST USING logarchmeth1 "DISK:C:testMYLOG"

这样日志就被自动归档到C:testMYLOG目录下了。

3. DB2日志跟ORACLE日志的比较

有两个比较大的不同点:

1. DB2要求活动日志被覆盖或者归档之前必须保证里面的事务已经commit或者rollback了,也就是说,如果一个事务太大,超过了主日志加从日志的和的话,将会报日志满错误。而ORACLE没这个要求,只可能在归档模式时,空间满了才会报日志满错误。

2. 对于归档模式而言,DB2的活动日志总是新分配的,不象oracle,在线日志总是重用的

4. 与复制相关的问题

1. 如果DB2启用复制并且作为数据源后,必须使用归档日志模式,DB2复制是从日志或者归档日志里捕获需要的表的修改信息的。

2. 如果复制进程中途断掉,经过一段时间再启用时,这时可能相应的表修改信息已经被归档了,这时db2将从归档日志(可能联机归档日志,也可能是脱机归档日志)里面将信息去找。

3. 这就涉及到一个问题,归档日志不会无限期的放到归档目录下,如何设定归档日志存放时间呢?如果时间过短,复制的capture进程可能会发生找不到相应日志,从而失败的问题。存放时间太长的话,需要的归档空间又太多。这就需要根据实际情况,两方面均衡的考虑了。

4. 如果真的发生了找不到日志的情况,可以有两种方法

a) 将日志从别处拷回

b) 将复制完全刷新

对单向复制而言,复制完全刷新这个选项就已经够了。但对双向复制而言,完全刷新的话,意味着从节点自上次刷新之后的修改就完全丢失了,所以最好将日志拷回来。

【责任编辑:段燃 TEL:(010)68476606】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值