e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> DB2教程 >> 监控和估计 >> 教程正文
 
教程搜索
 
 
相关教程
  • 数据挖掘器: 警告 — 及时采取行动
  • UNIX、Linux 和 Windows 的生动简介
  • “总览图”: IBM DB2 通用数据库和信息
  • DB2 大事记
  • 数据管理部门副总裁兼 CTO:Don Hader
  • IBM 联邦数据库技术
  • 唐纳德.海德勒(Donald J. Haderle)
  • 数据库未来展望
  • 哪一个分布式 DB2 UDB V8 版本适合您?
  • 从数据管理到信息集成: 自然的演变
  • 联邦 - 数据库互操作性(第 1 部分)
  • 成功是必然的(中)
  • 成功是必然的(上)
  • 成功是必然的(下)
  • DB2 信息集成: 总览图
  • IBM 杰出工程师兼信息集成主管 Nelson
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
监控和估计
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

Jianing Fan

软件工程师,Motorola

2004 年 3 月

本文将详细讨论如何配置和管理逻辑日志。本文还将通过一个实际生活中的例子演示如何估计和预测逻辑日志的使用情况。

简介

逻辑日志(logical log)是数据库管理的一个重要方面。如果没有得到适当的管理,逻辑日志将给数据库管理员带来许多头痛的事。最常见的一些问题是:

  • 长事务(long transaction)。如果一个事务达到独占长事务高水准线(exclusive long transaction high water mark,ELTM)时还没有提交或回滚,我们就说该事务是长的。独占长事务高水准线是一个配置参数,该参数规定单个事务能横跨逻辑日志多大的百分比。只要一个事务达到了在一个 Informix Dynamic Server 配置文件中设置的 ELTM,服务器将中止该事务,并开始回滚该事务。在回滚期间,服务器将挂起进一步的数据库操作,前端用户将在他们的应用程序中遭遇中止。
  • 灾难恢复(disaster recovery)。如果我们丢失了任何逻辑日志,那么在遇到灾难时,我们能选择的恢复策略就要受到限制。我们只能执行代码恢复(cold restore)。热恢复(warm restore)是不可能的,因为 Informix Dynamic Sever 需要检查所有逻辑日志来重新应用自上一次备份之后的数据库事务。结果就是数据丢失。
  • 慢性能(slow performance)。如果没有将逻辑日志放在适当的位置,例如,如果我们将逻辑日志放在 root dbspace 中,或者磁盘上其他的热点(hot spot)中,那么系统和服务器的整体性能就会遭殃。
  • Informix Dynamic Server 中止。如果没有正规地备份逻辑日志,并且在系统中使用了所有的逻辑日志,那么 Informix Dynamic Server 将中止,并挂起其他数据库连接和操作。

本文将详细讨论如何配置和管理逻辑日志。本文还将通过一个实际生活中的例子演示如何估计和预测逻辑日志的使用情况。

什么是逻辑日志?

逻辑日志实际上是一组文件,这些文件保存了自上次 0 级备份以来数据库事务和数据库服务器变更的历史记录。逻辑日志文件不是普通的操作系统文件。它们是由 Informix Dynamic Server 在第一次初始化期间自动创建的,由 Informix Dynamic Server onparams 实用程序管理。逻辑日志文件是循环的。换句话说,在它们被填满之后,又可以一次接一次地重复使用。但是,对于重用有一定的条件:

  • 必须备份逻辑日志文件。默认情况下,当日志文件被填满时,Informix Dynamic Server 服务器将自动备份逻辑日志文件。这是由配置文件中的 ALARMPROGRAM 参数规定的。应该总是将该参数设置为一个名为 log_full.sh 的脚本,该脚本会进行逻辑日志文件的备份。Log_full.sh 是随 Informix Dynamic Server 软件包一起提供的一个服务器系统脚本。
  • 逻辑日志中的所有记录都必须与关闭的事务相关联。这里提到的关闭的事务,是指要么提交要么回滚了的事务。如果一个事务悬而未决,而在逻辑日志中又有与之关联的一条记录,那么该逻辑日志就不能重用。
  • 逻辑日志决不能包含最后检查点记录。 Onstat -l

    输出可以告诉我们那个逻辑日志包含了最后检查点记录:如果在输出中标志字段的最后一位是“L”,那么表明逻辑日志包含了最后检查点记录,因而不能重用。
  • 逻辑日志决不能包含任何没有刷新到磁盘的事务。这是为了确保所有事务不会丢失。当一个事务完成时,它呆在逻辑日志中,等待检查点的到来,以便刷新到磁盘。如果我们在检查点之前重用逻辑日志,那么将丢失所有那些事务。

在配置逻辑日志时,我们需要注意以下问题:

  • 大小。逻辑日志文件的适当大小介于 200 KB(最小)和 2,097,152 KB(最大)之间。这是一个很宽的范围,也没有什么难于遵循的规则。基本上,更小的逻辑日志文件有更小的恢复粒度。如果包含逻辑日志文件的磁盘崩溃,那些上次没有备份的逻辑日志文件就有丢失的风险。
  • 数量。至少应该总是有三个逻辑日志文件,最多可有 32,767 个。这同样是个很宽的范围。请根据生产环境来作出决定。逻辑日志文件的数量决不能超过配置文件中 LOGMAX 参数的值。不过,在 Informix Dynamic Server 9.40x 该限制已被撤销。
  • 位置。逻辑日志文件的位置相当重要。当 Informix Dynamic Server 进行第一次初始化时,它自动地创建逻辑日志文件,并将这些文件一起放在 root dbspace 中。逻辑日志将导致大量向 root dbspace 的磁盘写操作,而那里存储了所有重要的系统统计信息,这样就可能导致磁盘 I/O 争用。为了最小化 root dbspace 的磁盘争用,以提高整个系统的性能,应该将逻辑日志移出 root dbspace,而将它们分布在其他磁盘设备中。
  • 备份。在添加新逻辑日志之后,要做一次备份,可以是实备份(使用实备份设备),也可以是“假”备份(使用 /dev/null)。否则,Informix Dynamic Server 就不能使用那些新添加的逻辑日志。这一限制在 Informix Dynamic Server 9.4x 中已被撤销,在那里,Informix Dynamic Server 可以在将逻辑日志添加到系统之后马上使用它们。
  • 在任何时候都要维护最少情况下的三个逻辑日志。否则 Informix Dynamic Server 将不能启动。

此外,下面有一些性能方面的考虑:

  • 逻辑日志备份。当逻辑日志被填满时,必须备份它们。备份逻辑日志时将占用系统资源,例如 CPU 和内存,并且妨碍那些涉及与逻辑日志存放在相同磁盘上的数据的事务。
  • 检查点。检查点阻塞用户或数据库事务处理。如果频繁地备份和释放逻辑日志,那么检查点将经常出现,结果就是数据库事务可能会经常被阻塞,从而占有更长的时间才得以完成。
  • 数据库事务日志记录的类型。使用无缓冲日志记录的数据库会比那些使用缓冲日志记录的数据库更快地填充逻辑日志。


要了解关于如何有效地配置逻辑日志的细节,请参考 IBM Informix Dynamic Server Administrator's Guide, Version 9.4(在本文中引作 Administrator's Guide)的第 13 章。

逻辑日志由 onparams 实用程序管理,该实用程序允许添加、删除(drop)和移动逻辑日志。如前所述,在第一次初始化期间,Informix Dynamic Server 将自动创建一些逻辑日志。它所创建的逻辑日志的数量是由配置文件中的 LOGFILES 参数规定的。此后,使用 onparams 实用程序添加、删除或者移动逻辑日志。 Onparams 有以下选项:

onparams -a -d <DBspace> [-s <size>] [-i] | -d -l <log file number> [-y] | -p -s <size> [-d <DBspace>] [-y] -a - Add a logical log file -i - Insert after current log -d - Drop a logical log file -p - Change physical log size and location -y - Automatically responds "yes" to all prompts 要使用 onparams 实用程序,有两个先决条件:
  • · 该实用程序专门限于用户 Informix。系统中其他用户,包括用户 root 或其他具有 DBA 权限的用户都不能使用此实用程序。
  • · Informix Dynamic Server 必须是静态或单用户模式。这意味着在使用该实用程序添加、删除或移动逻辑日志时,其他用户连接或活动都是不允许的。
请参考 Administrator's Guide以了解关于如何使用该实用程序的细节。 如何阅读和解释逻辑日志的内容,逻辑日志记录带有什么样的有用信息呢?通常的操作系统编辑器,例如 vi 不能直接读逻辑日志;只能使用 onlog 实用

1 2 3 4 下一页
  • 上一篇教程: DB2 UDB 连通性快捷表 第 4 部分
  • 下一篇教程: DB2 UDB 连通性快捷表 第 3 部分
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.