1、归档日志
当db2数据库使用归档日志(通过修改参数 LOGARCHMETH1 可以改成是归档还是循环日志)的时候,日志数量定期不清理,将会越积越多,最后必定会磁盘爆满,访问数据库出问题。归档日志分为三种 活动日志、联机存档日志 和 脱机存档日志。
1) 活动日志:该日志包含尚未提交或回滚的事务单元的相关信息,以及已提交但尚未写入数据库文件的事务的信息。
2) 联机存档日志:活动日志中所有改动对正常处理已不需要,即该日志中所记录的事务都已提交并写入数据库文件时,该活动日志转换为联机存档日志。称之为联机,是由于它们与活动日志存放在同一个目录下。
3)脱机存档日志:将联机存档日志从活动日志目录下Copy到另外的地方存档,就称为脱机存档日志。这些日志可能在数据库前滚恢复的时候仍然需要。(所谓联机归档日志,就是归档日志文件和活动日志文件同在一个目录下;而离线归档日志,则是归档日志与活动日志分开存放)
通过设置系统参数:logprimary (主日志数)和 logsecond(辅日志数)可以设置开始归档的日志数。
2、归档日志删除
//DB2归档日志的相关信息保存在恢复历史文件中,可以通过 db2 list history 命令查看。
Sql代码
- db2 list history archive log all for testdb
//清除恢复条目信息,该命令会清除指定时间戳及之前的所有条目(不只是归档日志的)。默认情况下,系统不会清除最近一次数据库全备之后的归档日志信息。
Sql代码
- db2 prune history 20100103235553
//查看备份的时间戳
Sql代码
- db2 list backup all for testdb
//删除时间戳 20110823105033 之前的所有离线归档日志
Sql代码
- db2 prune history 20110823105033 with force option and delete
//找出最早的日志信息 S0000020.LOG
Sql代码
- db2 "list history backup all for database testdb"
//删除S0000019.LOG 之前的联机日志
Sql代码
- db2 "prune logfile prior to S0000019.LOG"
//查看历史日志信息
Sql代码
- db2 list history archive log all for testdb | head -20
//查看活动日志使用如下命令
Sql代码
- db2pd -db testdb -logs
//禁止自动commit,db2默认是自动提交的
Sql代码
- db2 list command options
-
- db2 update command options using c off
分别使用 prune logfile prior to XXXXXXX.LOG 和 db2 prune history [20110823105033] with force option and delete 命令可以清除活动日志目录下的在线归档日志文件和离线归档日志文件。
以上这些参考命令比较实用。
参考:http://blog.csdn.net/xiyuan1999/article/details/7898683
http://www.cppblog.com/prayer/archive/2010/02/09/107576.html