`
jackytang520
  • 浏览: 138192 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

清理DB2的归档日志

    博客分类:
  • DB2
阅读更多
DB2归档日志的相关信息保存在恢复历史文件中,可以通过 db2 list history 命令查看。

db2inst1@suse-db:~> db2 list history archive log all for ggyy

List History File for ggyy

Number of matching file entries = 6

Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235553 1 D S0000038.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100103235553
End Time: 20100103235553
Status: A
----------------------------------------------------------------------------
EID: 80 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000038.LOG


Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235553 N S0000038.LOG
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment: ARCHIVE LOG
Start Time: 20100103235553
End Time: 20100103235553
Status: A
----------------------------------------------------------------------------
EID: 81

Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235608 1 D S0000039.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100103235608
End Time: 20100103235608
Status: A
----------------------------------------------------------------------------
EID: 82 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000039.LOG

......

清除这些信息,需要使用 db2 prune history 命令。该命令会清除指定时间戳及之前的所有条目(不只是归档日志的)。默认情况下,系统不会清除最近一次数据库全备之后的归档日志信息。

db2inst1@suse-db:~> db2 prune history 20100103235553
SQL1024N A database connection does not exist. SQLSTATE=00000
db2inst1@suse-db:~> db2 connect to ggyy

Database Connection Information

Database server = DB2/LINUX 9.7.0
SQL authorization ID = DB2INST1
Local database alias = GGYY

db2inst1@suse-db:~> db2 prune history 20100103235553
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20

List History File for ggyy

Number of matching file entries = 6


Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235553 1 D S0000038.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100103235553
End Time: 20100103235553
Status: A
----------------------------------------------------------------------------
EID: 80 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000038.LOG


db2inst1@suse-db:~> db2 list history backup all for ggyy

List History File for ggyy

Number of matching file entries = 0

对数据库进行一次全备,再次尝试清除:

db2inst1@suse-db:~> db2 backup db ggyy online to /data/backup

Backup successful. The timestamp for this backup image is : 20100104004121

db2inst1@suse-db:~> db2 connect to ggyy

Database Connection Information

Database server = DB2/LINUX 9.7.0
SQL authorization ID = DB2INST1
Local database alias = GGYY

db2inst1@suse-db:~> db2 prune history 20100103235553
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20

List History File for ggyy

Number of matching file entries = 5


Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235608 1 D S0000039.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100103235608
End Time: 20100103235608
Status: A
----------------------------------------------------------------------------
EID: 82 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000039.LOG


通过使用 and delete 参数,可以在清理条目的同时删除对应的归档日志文件。

db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007
total 48
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:56 S0000039.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:56 S0000040.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-04 00:41 S0000041.LOG
db2inst1@suse-db:~> db2 prune history 20100103235608 and delete
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20

List History File for ggyy

Number of matching file entries = 3


Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100103235618 1 D S0000040.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100103235618
End Time: 20100103235618
Status: A
----------------------------------------------------------------------------
EID: 84 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000040.LOG


db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007
total 36
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:56 S0000040.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-04 00:41 S0000041.LOG

可以看到,归档日志文件S0000039.LOG已被删除,但S0000038.LOG还存在,因为之前已经清除了S0000038.LOG的相关条目。
尝试同时清除S0000040.LOG和S0000041.LOG:

db2inst1@suse-db:~> db2 list history archive log all for ggyy | tail -15


Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100104004127 1 D S0000041.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100104004127
End Time: 20100104004128
Status: A
----------------------------------------------------------------------------
EID: 86 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000041.LOG

db2inst1@suse-db:~> db2 prune history 20100104004127 and delete
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20

List History File for ggyy

Number of matching file entries = 1


Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID
-- --- ------------------ ---- --- ------------ ------------ --------------
X D 20100104004127 1 D S0000041.LOG C0000007
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Comment:
Start Time: 20100104004127
End Time: 20100104004128
Status: A
----------------------------------------------------------------------------
EID: 86 Location: /data/palog/db2inst1/GGYY/NODE0000/C0000007/S0000041.LOG

db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007/
total 24
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-04 00:41 S0000041.LOG

S0000041.LOG依然存在,因为它是全备之后生成的。如果想要强制清除,可以使用 with force option 参数。

db2inst1@suse-db:~> db2 prune history 20100104004127 with force option and delete
DB20000I The PRUNE command completed successfully.
db2inst1@suse-db:~> db2 list history archive log all for ggyy | head -20

List History File for ggyy

Number of matching file entries = 0

db2inst1@suse-db:~> ls -l /data/palog/db2inst1/GGYY/NODE0000/C0000007/
total 12
-rw-r----- 1 db2inst1 db2iadm1 12288 2010-01-03 23:55 S0000038.LOG

注意,这里连带着将数据库全备的条目也删除了,但备份文件还在:

db2inst1@suse-db:/data/backup> db2 list history backup all for ggyy

List History File for ggyy

Number of matching file entries = 0

db2inst1@suse-db:/data/backup> ls -l /data/backup
total 99994
-rw------- 1 db2inst1 db2iadm1 102293504 2010-01-04 00:41 GGYY.0.db2inst1.NODE0000.CATN0000.20100104004121.001

此外,使用 db2 prune logfile 命令可以清除活动日志目录下的在线归档日志文件,但对离线归档日志文件无效,这里不再赘述。
分享到:
评论

相关推荐

    DB2 归档日志清理

    ### DB2归档日志清理知识点详解 #### 一、DB2日志系统概述 IBM DB2是一款功能强大的关系型数据库管理系统(RDBMS),它提供了高性能的数据存储、管理和检索能力。在DB2中,日志是用于记录数据库中所有事务活动的...

    DB2数据库归档日志管理方案

    DB2 数据库归档日志管理方案 DB2 数据库中的日志文件管理是非常重要的,因为日志文件中包含了数据库的所有操作记录。如果日志文件没有被正确地管理,可能会导致数据库的崩溃和数据丢失。为了解决这个问题,需要对...

    db2调整日志大小解决方案

    7. **日志归档和清理**:在归档日志模式下,当日志文件达到最大大小时,旧的日志会被归档并释放空间。设置合理的日志归档策略,避免日志文件堆积占用过多磁盘空间。 8. **考虑日志切分**:DB2允许设置自动日志切分...

    windows DB2 自动备份(包括归档日志处理)

    运行这个脚本之后系统将会自动根据参数进行配置,会自动定时去备份数据及处理日志!数据库和日志都是一个月删除一次,本月的第一次成功完整备份后删除上一个月的数据,但日志会较数据库备份多存放一周! 运行脚本...

    DB2故障诊断指南,DB2DIAG.LOG日志文件分析

    1. 定期清理:db2diag.log文件会不断增长,需要定期清理旧的日志以释放磁盘空间。 2. 日志归档:重要或异常日志应进行备份和归档,以便日后查阅。 3. 配置日志级别:可根据需要调整日志记录的详细程度,避免过多无用...

    DB2_数据库日志管理.doc

    - DB2支持循环日志和归档日志模式。循环日志适用于简单的离线备份,而归档日志模式允许在线备份和恢复,更适合高可用性需求。 - 可通过修改`LOGRETENTION`等参数来切换日志模式,归档日志模式下,旧的日志文件会被...

    DB2数据库备份与恢复

    - **定义**: 在归档日志模式下,所有日志文件都会被保存下来,而不是循环使用。这意味着日志文件会不断积累,直到手动清理。 - **日志分类**: - **活动日志**: 包含未完成的事务或者已完成但尚未写入磁盘的事务。 ...

    Linux下自动删除归档日志文件的方法

    本文将详细介绍如何在Linux环境下设置自动删除归档日志文件的策略,以确保系统资源的有效利用。 首先,我们需要明确日志删除策略。在这个例子中,我们的目标是删除7天前的归档日志文件以及`.tgz`备份文件。这样的...

    db2数据库sql语句大全

    `db2diag.log`文件是DB2数据库的日志文件,用于记录各种诊断信息。当该文件占用磁盘空间达到80%-90%时,应当及时清理,以免影响数据库性能。 ```sql db2 get dbmcfg Diagnostic data directory path (DIAGPATH) = /...

    Db2 11.5 新特性_高级事务日志空间管理_v3.doc

    3. 清理事务日志:通过归档或删除已完成的事务日志来释放空间,但这需要精确的时间点恢复策略。 Db2 11.5的高级事务日志空间管理通过自动化和智能化的方式解决了这些问题,它可以: - 智能预测:分析数据库的工作...

    DB2 技巧.doc

    6. 清除日志:数据库日志满了时,可使用db2admin或者db2pd命令清理或归档日志。 7. 存储过程在EEE服务器上无法运行:可能与服务器环境、依赖库或权限有关。 8. DB2用户和口令:管理和安全设置对于Windows平台的DB2...

    DB2使用经验积累 吐血推荐

    1. **实例(INSTANCE)**:DB2实例是一个运行中的DB2软件实体,它包含一组共享的系统资源,如内存结构、系统目录、日志文件等。每个实例对应一个特定的数据库管理器配置文件(db2cf.cfg),通过启动实例,可以访问和管理...

    db2在线增量备份还原总结

    2. **指定归档日志路径:** - 配置日志归档路径对于支持增量备份至关重要。 ```sql db2update dbcfg using logarchmeth1 disk:d:\db2arch_log ``` 这里指定了日志文件保存到 `d:\db2arch_log` 目录。 3. **...

    db2_命令给需要的同志

    - 清理指定日志之前的日志文件:`$db2 prune logfile prior to S???????.LOG` - 其中 `S???????.LOG` 是当前活动日志文件之前的某个日志文件。 ### 11. db2diag.log 文件 #### 文件用途 - `db2diag.log` 文件用于...

    DB2数据标准PPT教程

    - 日志管理:了解日志文件的作用,以及如何管理归档和清理。 本教程将通过一系列PPT演示,结合实例和实践指导,帮助读者逐步掌握DB2数据库的各项技能,无论你是数据库新手还是寻求进阶的专业人士,都能从中...

    db2备份脚本.rar

    本压缩包"db2备份脚本.rar"提供了三种不同模式的自动备份脚本以及定期清理脚本,旨在帮助管理员实现高效、自动化的DB2数据库备份。 1. **备份模式**: - **离线全量备份**:这是最基础的备份方式,它会备份整个...

    DB2 管理维护注意事项

    在需要长期保留交易历史或满足法规遵从性的场景下,应启用归档日志模式。这会将旧的日志文件移动到安全的地方,以便于后续的恢复操作。 ### DB2数据库的定期维护 定期执行数据库维护任务,如日志清理、统计信息...

    DB2入门培训讲义.rar

    - 日志管理:理解日志文件的作用,定期清理和归档日志。 通过"DB2入门培训讲义"的学习,读者将能够掌握DB2的基本操作,理解其核心概念,并具备一定的数据库管理和问题排查能力。在实际工作中,结合理论知识和实践...

    DB2Managing

    - **日志归档**:为了防止日志文件溢出,DB2 支持日志归档功能,即定期将旧的日志文件移动到归档存储区,从而释放主日志空间。 - **日志回放**:在系统崩溃或数据丢失的情况下,DB2 可以利用日志文件进行恢复操作,...

Global site tag (gtag.js) - Google Analytics