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

DB2
在Linux虚拟机上安装 DB2 9
DB2 9励精图强 Viper 2续写传奇
DB2返回SQLCODE -818 错误
DB2未来版“Viper 2” :为IT敏捷加速
解析:DB2 无限活动日志策略的实用技巧
SQL Server和MySQL的安全性分析
DB2数据库归档日志的管理方案
实例解析IBM DB2的数据复制、迁移方法
备份恢复DB2数据库步骤
DB2 9部署定制的安全性插件
DB2 Web 服务提供者的安全性
DB2无限活动日志策略从介绍到实用技巧
实现对 DB2 UDB 的低层访问控制
DB2数据库安全涉及的问题
关于DB2 数据库授权的研究
DB2 数据库身份验证基础
监控 DB2 活动之捕获事件监控数据
使用重定向恢复克隆 DB2 数据库
监控 DB2 活动之捕获快照数据
DB2 数据库特权授予的方法和技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 63 ::
收藏到网摘: 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目录下有无日志文件归档,验证是否成功。