管理 Db2 事务日志

事务日志存储于您的 Db2 数据库中。 您可以使用 命令 prune history 删除某些日志文件,从而释放更多存储空间。

开始之前

  • 等待备份和还原操作完成。
    您可以运行以下命令来验证当前没有正在进行的备份和还原操作:
    db2 list utilities
    请参考以下示例输出进行确认:
    SQL1611W  No data was returned by Database System Monitor.  SQLSTATE=00000
  • 确定哪些日志文件可以删除。 有关更多信息,请参阅 《 Db2 诊断目录管理 》。

关于本任务

注意: 如果数据库 Db2 因空间不足而返回错误,您可以编辑关联的 PVC 并增加分配的存储量。 您使用的存储类必须将该属性 allowVolumeExpansion 设置为 true。 有关更多信息,请阅启用卷扩展支持。
有关使用 PR UNE prune history HISTORY/LOGFILE 命令的更多信息,请参阅 PRUNE HISTORY/LOGFILE 命令和 PRUNE HISTORY 命令的实践示例

过程

  1. 通过运行以下命令登录到 pod Db2
    oc exec -it db2u-pod -- bash
  2. 通过运行以下命令切换到 db2inst1 用户:
    su - db2inst1
  3. 运行以下命令,查找要删除日志的时间戳(包括该时间戳):
    db2 list history all for <database-name> | egrep "B P|B D|X D"

    该命令返回以下存储项的时间戳:

    X D:log archive
    B P:tablespace backup
    B D:full backup
  4. 使用以下命令删除日志文件:
    警告: 以下命令将删除所有包含指定时间戳的日志文件。 在执行命令前,请确认您要删除的日志文件。
    db2 prune history <timestamp> and delete

    <timestamp> 替换为要删除的日志文件的时间值。

    注: 有关自动化诊断日志文件管理的详细信息,请参阅 《使用 Db2 服务的Administrative Task Scheduler (ATS)实现任务自动化 》。