技术开发 频道

DB2日志传送基础知识

    日志传送是否有不同的类型?

    日志传送有两种方法。在 拉出方法中,备用服务器在需要时从中央共享位置(如日志归档目标)拉出日志文件。在 推方法中,主服务器确保当它归档主日志文件时使这些日志文件驻留在备用服务器上。

    DB2 将日志文件归档到用户出口程序 db2uext2 所指定的目标目录中。该用户出口程序的样本位于 DB2 实例目录 sqllib/samples/c 中。其中包括了用于磁盘、磁带和 Tivoli? Storage Manager 的示例。

    拉出方法

    拉出方法涉及配置主系统上的用户出口程序,以将日志文件归档到主服务器和备用服务器都有权访问的目标设备上。备用服务器不会收到日志文件已归档的通知,而且必须检查归档目标路径。可以通过使用 db2uext2.cdisk 或 db2uext2.cadsm (在 DB2 未来的版本中将重命名为 db2uext2.ctsm )样本用户出口程序来做到这一点。用户出口可执行文件必须位于主系统和备用系统的缺省 DB2 实例路径中。

    当在备用服务器上调用前滚数据库命令时,DB2 记录器自动尝试从归档目标路径中检索下一个连续的日志文件。前滚操作持续检索日志文件,直到再没有需要处理的文件为止。

    推方法

    使用推方法,可以修改用户出口程序,将日志文件复制或 FTP 到备用服务器的活动日志路径或在备用服务器上可以访问的溢出日志路径。可以通过修改 db2uext2.cdisk 样本程序,将备用服务器的日志路径指定为目标来实现这一点。

    当在备用服务器上调用 roll forward db 命令时,DB2 记录器自动尝试从归档目标路径检索下一个连续的日志文件。前滚操作持续检索日志文件,直到再没有需要处理的文件为止。

    如何设置?

    无论使用拉出方法还是推方法,大部分设置过程都与下面所说明的步骤类似:

    将数据库配置为启用用户出口程序和日志归档。做完这一点之后,数据库将处于备份暂挂状态。这个备份映像将成为恢复的初始起点,应该将它保留到执行下一次完整数据库备份为止。

    将用户出口可执行文件置于 DB2 实例缺省搜索路径中的某个位置。DB2 用户出口程序的样本源代码模块位于 DB2 实例 sqllib/samples/c 目录中。它们是:

    Db2uext2.cadsm — 对 Tivoli Storage Manager 的支持,也称为 ADSM
    Db2uext2.cdisk — 对磁盘的支持
    Db2uext2.ctape — 对本地磁带的支持,仅可用于 UNIX? 系统
    Db2uext2.cxbsa — 对 XBSA Draft 0.8 客户机的支持

    这些样本程序中的每个都只需要稍作修改(如 buffer_size 、 audit_log_activation 、 audit_log_path 、 error_log_activation 和 error_log_path )。每个样本程序都包含一旦完成修改就必须发出的准确的编译语句。

    也有一些第三方供应商(如 Veritas、Legato 和 SAP)提供他们自己的 DB2 用户出口二进制代码,所有这些都可以用来实现日志传送。

    初始化备用服务器的数据库。可以通过(联机或脱机)恢复主服务器的完整 DB2 备份映像,或者通过使用分离镜像副本来做到这一点。有关使用分离镜像副本的详细信息将在下面描述。在这两种情况下,备用数据库的硬件都不必与主数据库的硬件相同。处理器和磁盘的个数和大小都可以完全不同。唯一的限制是备用数据库上每个表空间的大小至少要和主数据库上的一样大。这是为了防止出现这样的情况:备用系统的空间已经用尽,而主系统仍在继续增长。如果物理磁盘布局不同,那么就需要进行重定向恢复来初始化备用数据库。

    在备用系统上配置调度作业以便定期发出 db2 rollforward to end of logs 命令。这样会处理从主服务器接收的日志记录,并使其备用服务器的日志保持最新。

    现在备用服务器已经就绪。祝贺您!

0
相关文章