简介 【扩展信息:通过 Web 服务暴露 IBM DB2 】
db2 universal database™ 使用日志文件作为确保数据一致性与可恢复性的主要方法.在前一篇文章 db2 通用数据库中事务性日志记录概述中,我介绍了事务性日志记录的概念并说明了如何管理日志.在本文中,我将带您做进一步的探讨,并说明 db2 udb 可以如何使用用户出口程序来归档与检索数据库日志文件.另外,我还将提供循序渐进的示例来说明如何修改.编译与测试 db2uext2.cdisk 样本用户出口程序,该程序随已安装的 db2 udb 服务器产品附带.您将在本文末尾找到关于用 db2 udb 进行用户出口编程的其它参考资料 链接.本文讨论了 windows 2000 与 aix 5l 上的 db2 v8.1 企业服务器版修订包 1(单分区版)服务器.虽然也有其它样本用户出口程序(例如至磁带的用户出口或 tivoli 存储管理器(tivoli storage manager)),但我没在本文讨论它们.
用户出口在 db2 udb 中如何工作?
在 db2 udb 中使用用户出口程序是为了提供一种归档与检索数据库日志文件的方法以便进行日志冗余处理以及将日志存储在非易失性的介质上.我们要知道的重要一点是:根据您的特定需求,可以在用户出口中实现包括归档与检索日志在内的其它操作.如果需要使用归档日志文件来恢复数据库,则在 db2 udb 中实行用户出口策略不会恢复 100% 的事务.用户出口程序只是一种通过将现有日志文件复制到安全位置来提供更多保护的方法.它是数据完整性策略的一部分,但却是重要部分.
编译了用户出口程序之后,db2uext2 可执行文件将被放在数据库管理器可以发现它的目录中.在 unix® 上,该目录是 <instance home>/sqllib/adm ,在 windows® 上,该目录是 <drive letter>\program files\ibm\sqllib\bin .
除非数据库管理器知道可以使用用户出口程序,否则它不会调用 db2uext2.数据库管理器知道可以调用 db2uext2 的唯一方法是将数据库配置参数 userexit 设置成 on.一旦设置了该参数并且重复利用了 db2 实例,数据库管理器就会每五分钟调用一次用户出口程序以检查某些日志文件,这些日志文件可以被归档到特定于程序的归档目录.
如果需要进行数据库恢复,则数据库管理器将在前滚操作期间调用 db2uext2,以将归档的日志文件复制回活动日志目录中.日志文件就会被重新应用到已恢复的数据库.
让我们看一看数据库管理器调用用户出口程序的调用格式.请注意,也可以在用户出口样本程序的注释部分找到该信息:
db2uext2 -os<os> -rl<release> -rq<request> -db<dbname> -nn<nodenumber> -lp<logpath> -ln<logname> [-ap<adsmpasswd>]
... 下一页