当前位置: 首页 > 图文教程 > 数据库 > DB2 > DB2数据库归档日志的管理方案

DB2
监控 DB2 活动之使用解释工具分析SQL
DB2 Viper 快速入门
监控 DB2 活动之Visual Explain详细介绍
监控 DB2 活动之其他问题判断工具
DB2 与 Ruby on Rails 入门之一
DB2 实用程序介绍之EXPORT实用程序
浅谈DB2数据库故障处理及最佳实践
使用重定向恢复DB2数据库
DB中如何查询Table占用空间的大小
DB2 实用程序介绍之LOAD实用程序
DB2 实用程序介绍之数据移动实用程序
DB2 实用程序介绍之IMPORT实用程序
SQL Server 2005对DBA的要求是否会更高
IBM XML tools for DB2 Version 9.5 及其用法
DB2 VS2005.Net插件进行XML数据验证
三种级别的DB2数据库字符集的设置与修改
理解DB2 9中新的查询:XQuery
DB2 存储和检索 XML 数据
VS2005构建针对DB2的应用程序和Web站点
.Net开发采用DB2 XML的应用程序示例

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 68 ::
收藏到网摘: n/a

  需求描述

  由于使用了LOGRETAIN=ON数据库配置,所以DB2数据库日志文件将不会被数据库从活动日志目录中自动删除或循环利用,活动日志目录中的日志文件将会越来越多,所以需要对该目录下的日志文件进行归档。

  问题分析

  将LOGRETAIN设置为ON后,数据库将支持前滚恢复。此时,系统中将会存在三种类型的日志文件:

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

  管理数据库日志的工作可以手工完成(即将联机存档日志手工拷贝到某个archive目录),也可由编写USEREXIT程序自动维护。

  由于DB2对所有平台都提供了相应的USEREXIT示例程序,而且非常易于修改和使用,所以IBM建议用户使用USEREXIT程序来管理日志文件。

  使用USEREXIT程序的方法

  要使用User exit program自动化log文件的archiving和retrieval过程:

  1. 设置database cfg参数logarchmeth1 为USEREXIT。

  onnect to sample
  update db cfg using logarchmeth1 USEREXIT
  connect reset

  2. 创建user exit programs。该程序必须是一个名为db2uext2的可执行文件。DB2在各种平台上都提供了User Exit的示例程序,用户可以通过直接修改该样本文件来实现自己的user exit程序。

  在UNIX(R) based的系统中,该程序存放在sqllib/samples/c目录下. There are four sample user exit programs for UNIX based systems:

  • db2uext2.ctsm

  This sample uses Tivoli(R) Storage Manager to archive and retrieve database log files.

  • db2uext2.ctape

  This sample uses tape media to archive and retrieve database log files .

  • db2uext2.cdisk

  This sample uses the operating system COPY command and disk media to archive and
  retrieve database log files.

  • db2uxt2.cxbsa

  This sample works with the XBSA Draft 0.8 published by the X/Open group.
  It can be used to archive and retrieve database log files. This sample is
  only supported on AIX.

  在Windows(R) 系统中,该文件存放在sqllib/samples/c目录下。 There are two sample user exit programs for Windows operating systems:

  • db2uext2.ctsm

  This sample uses Tivoli Storage Manager to archive and retrieve database log files.

  • db2uext2.cdisk

  This sample uses the operating system COPY command and disk media to archive
  and retrieve database log files.

  3. 配置该示例程序,指定要将日志文件Archive到哪个系统目录中(在windows平台下,程序中默认为c:\mylogs)。 #define ARCHIVE_PATH "c:\\mylogs\\"

  #define RETRIEVE_PATH "c:\\mylogs\\"

  #define AUDIT_ERROR_PATH "c:\\mylogs\\"

  4. 编译该C文件。 cl db2uext2.c

  5. 拷贝db2uext2.exe到/SQLLIB/BIN目录下。

  6. 在db2cmd中键入archive log for db sample user db2admin using duan1980命令强制执行log日志归档任务。查看c:\mylogs目录下有无日志文件归档,验证是否成功。