DB2 活动日志所在硬盘被占满了的处理

    技术2025-12-07  14

    DB2数据库配置有这样两个参数,

    Path to log files

    First log archive method                 (LOGARCHMETH1)

    第一个参数是active log所在的路径,当配置了第二个参数,那么此数据库为归档模式,归档的路径即是第二个参数。

     

     

    活动日志:该日志包含尚未提交或回滚的事务单元的相关信息,以及已提交但尚未写入数据库文件的事务的信息。

     

    联机存档日志:活动日志中所有改动对正常处理已不需要,即该日志中所记录的事务都已提交并写入数据库文件时,该活动日志转换为联机存档日志。称之为联机,是由于它们与活动日志存放在同一个目录下。 脱机存档日志:将联机存档日志从活动日志目录下Copy到另外的地方存档,就称为脱机存档日志。这些日志可能在数据库前滚恢复的时候仍然需要。

     

    所以一般情况下active log路径不会被占满,因为db2会自动把不活动的日志移到archive log所在路径,即从上面的第一个参数指定的路径转到第二个参数所在路径, 但当archive log路径空间被占满后,非活动的日志就一直堆在active log路径的空间里,随着db2不断运作,会产生新的active log文件,如果某个时候active log路径的空间不够产生新的active log文件,便会出现错误,db2不能使用。

     

    解决办法:不能删除active log路径的日志文件,因为不知道哪些是活动日志,删除活动日志db2就不能使用了。也不能删除archive log路径的文件,不然要恢复数据库的时候不能前滚了。这时候可以移动一些archive log路径的日志文件到别的路径,这样active log路径中非活动的日志会被db2移动到archive log路径,这样空间就有了。

    最新回复(0)