7.4.3 INFORMIX数据库系统
INFORMIX系统使用了两类日志文件:逻辑日志文件(logical log file)和物理日志文件(physical log file)。逻辑日志文件用来存放数据库系统中所有更新事务的日志信息,就是我们这一章所讲的数据库日志;物理日志文件并不存放日志信息,它被用来保存数据被更新前的原有映像。任何事务在更新数据前,都需要将这些数据备份到物理日志文件中。
INFORMIX系统在下列两种情况下,需要用到物理日志文件:
(1)如果当前事务需要回退,INFORMIX系统直接使用物理日志文件中的原有数据映像,覆盖当前事务所做的修改,使数据恢复到事务处理之前的状态。
(2)INFORMIX系统在恢复时使用物理日志文件,将数据库恢复到一个物理上的一致点,然后再根据逻辑日志文件中的日志信息,进行事务的前滚和回退。
INFORMIX系统中物理日志文件的使用,总给人“蛇足”的感觉。如果没有物理日志文件,数据库系统照样可以从逻辑日志文件中读出当前事务所有已经执行的更新操作,反方向执行以回退事务,照样可以完成数据库系统的恢复。DB2和SYBASE系统就是这样实现的。物理日志文件的使用,虽说提高了事务回退的效率,但事务处理之前的原有数据保存,既影响事务的处理速度,又要消耗系统资源。在ORACLE系统中,也存在类似于物理日志文件的回退表空间。但ORACLE系统的回退表空间,除了用做事务的回退之外,还和数据库系统的并发控制——多版本两阶段锁机制的实现,有着密切的关系,是数据库系统不可或缺的一个组成部分。
在INFORMIX系统中,每一个逻辑日志文件、物理日志文件并不是对应到一个操作系统文件或者裸设备上。所有的逻辑日志文件、物理日志文件可以放置在一个表空间中,系统根据每个日志文件的大小,在这个表空间上进行空间的分配。下列配置参数和数据库日志有关:
LOGBUFF:设定逻辑日志缓冲区的内存空间。
LOGFILES:设定逻辑日志文件的数目。
LOGSIZE:设定单个逻辑日志文件的空间大小。
PHYSBUFF:设定物理日志缓冲区的内存空间。
PHYSDBS:设定物理日志文件使用的表空间。
PHYSFILE:设定单个物理日志文件的空间大小。
LTAPEDEV:设定对逻辑日志文件备份时所使用的备份设备。可以是磁带机、操作系统文件。
LTAPEBLK:设定对逻辑日志文件备份时所使用的块大小。
LTAPESIZE:设定进行逻辑日志文件备份的备份设备所使用介质的空间大小。
1. 不生成数据库日志
在特殊情况下,要提高数据库系统的处理速度,可以使事务的更新处理不产生日志信息。在INFORMIX系统中,可以设置整个数据库,使它处于不记日志模式,从而对数据库中所有表的更新处理都不产生日志信息。也可以改变单个表的属性为不记日志模式,从而只是对该表的更新操作,不会产生日志信息。
另外,向表中插入数据时,可以使用ONLOAD工具。使用该工具装入数据时,要求数据库处于不记日志模式,不会产生日志信息。在数据装入完成后,再使用命令改变数据库的日志模式。要删除一个表中的所有记录数据,可以首先移走整个表,然后重新创建该表。更好的方法是使用truncate table命令,该命令删除表中的所有记录,不会生成日志信息,在保留表结构的同时回收表所拥有的磁盘空间。
2. 日志文件的归档
INFORMIX系统只有一种日志模式,即归档日志模式,系统循环地使用所有的逻辑日志文件,任何日志文件被写满之后、再次被使用之前,必须被归档保存。在实际操作时,可以根据需要,设置逻辑日志的备份设备参数:LTAPEDEV = /dev/null,数据库系统会将写满的逻辑日志文件自动标记为已归档,尽管实际的归档操作并没有被执行。另外,物理日志文件不需要被归档。
3. 长事务的处理
要使INFORMIX系统有足够的日志信息存放空间,以保证长事务的顺利完成,我们首先要了解和长事务有关的配置参数。
LTXHWM:设定单个事务能够使用的逻辑日志文件数,占总数目的百分比。一旦达到这个比例,系统就开始回退事务。
LTXEHWM:设定单个事务能够使用的逻辑日志文件数,占总数目的百分比。一旦达到这个比例,该事务就独享剩余的逻辑日志文件空间,其它事务被挂起。
DYNAMIC_LOGS:设定是否允许系统自动增加逻辑日志文件。这些逻辑日志文件在事务完成后被系统删除。
当一个事务所使用的逻辑日志文件达到配置参数LTXHWM的值后,系统就认定此事务为一个长事务。为防止事务占用所有的日志文件空间而引起系统挂起,系统就开始回滚该事务。由于回滚事务仍旧要产生日志、要写入逻辑日志文件,当事务所使用的逻辑日志文件达到配置参数LTXEHWM的值后,系统就暂停其他事务的执行,所有剩余日志文件空间全部用作该事务的回退。
一个逻辑日志文件被写满之后,系统就自动切换到下一个逻辑日志文件,这个日志文件就成为当前日志文件。除此之外,在切换时系统还要检查新的当前日志文件的下一个日志文件。如果它处于活动状态并且配置参数DYNAMIC_LOGS被设置,系统就自动在新的当前日志文件之后增加一个新的逻辑日志文件。
只要设置配置参数DYNAMIC_LOGS,同时将LTXHWM和LTXEHWM的值设为100,系统就会在需要时创建新的逻辑日志文件,一直到事务的完成。通过这种方式,可以保证长事务的处理有足够的日志信息存放空间。
物理日志文件在更新事务的处理过程中,要存放数据被更新前的映像。事务处理的数据量越大,需要的空间就越多。因此,管理员在处理长事务时,还要保证物理日志文件有足够可用空间。
分享到:
相关推荐
进入第二章,我们专注于Informix数据库系统概述。Informix提供了多种数据库产品,其中INFORMIX-ONLINE是一种联机数据库系统,支持实时的数据访问和更新。它以高可用性和性能著称,适用于需要持续更新和快速响应的...
Informix数据库系统以其高效、稳定和强大的数据处理能力而闻名。它支持多种数据类型,包括标准SQL数据类型和一些特殊的数据类型,如时序数据、地理空间数据等。此外,Informix还提供了事务处理、数据仓库、实时数据...
Informix数据库系统维护及双机HDR疑难问题详解
《Informix数据库与设计指南》是一本专注于Informix数据库系统及其设计原理的专业书籍。Informix是IBM公司的一款高性能、企业级的关系型数据库管理系统,广泛应用于各种行业和领域,以其高效的数据处理能力、强大的...
Informix数据库连接驱动jar包是Java应用程序与Informix关系型数据库管理系统进行交互的重要组件。这些jar文件包含了必要的类和资源,使得Java程序能够利用JDBC(Java Database Connectivity)API来执行SQL语句、管理...
根据提供的标题“IBM Informix数据库设计和实现指南”以及描述“IBM Informix设计、实现和管理”,我们可以推断出这份文档主要围绕IBM Informix数据库系统的各个方面进行深入探讨。以下将根据给定的信息来生成相关...
【Informix数据库学习资料】 Informix数据库是一款高效且灵活的关系型...通过这些详尽的资源,无论是初学者还是经验丰富的开发者,都能提升对Informix数据库的理解和使用能力,从而更好地驾驭这一强大的数据库系统。
《Informix数据库培训教材之一:Informix系统管理员指南...通过阅读这些文件,读者可以逐步掌握Informix系统管理员所需的各种技能和知识,从而有效地管理和维护Informix数据库系统,确保其在复杂的企业环境中稳定运行。
这使得开发人员可以使用相同的API和编程模式来处理不同的数据库系统,降低了学习曲线和开发成本。 “Informix Driver 驱动 数据库”标签进一步强调了这个压缩包包含的是Informix数据库的驱动程序,它是连接到数据库...
Informix数据库是一款由IBM公司开发的高效能、高可用性的关系型数据库管理系统(RDBMS),广泛应用于企业级的数据存储和处理。本文档集合全面覆盖了Informix数据库的相关知识,包括SQL语法、安装配置、备份恢复、...
详细介绍如何从源码包或安装包中安装INFORMIX数据库系统。 ##### 4.1.5 准备数据库空间 为数据库分配足够的磁盘空间是安装过程中的重要一步。 ##### 4.1.6 建立、修改informix连接、配置文件 配置文件是数据库...
Informix数据库修复是指Informix数据库系统中数据的恢复和修复,包括数据库文件的修复、数据库日志的修复、数据库表单的恢复、数据库索引的修复等。Informix数据库修复技术可以恢复各种Informix数据库版本。 SAS...
Informix数据库管理系统,由IBM公司精心研发,是全球知名的RDBMS(关系数据库管理系统)之一,特别擅长处理在线事务处理(OLTP)工作负载。其强大的性能、高度的可扩展性和出色的稳定性使其在企业级应用中占据了...
《Informix 11.5 认证教程》是一份全面深入的学习资料,旨在帮助用户掌握 Informix 数据库系统的安装、调试与管理等关键技能,从而顺利通过 Informix 11.5 的专业认证考试。Informix 是 IBM 公司推出的一款高性能、...
【Informix 数据库备份方法详解】 在 Informix 数据库管理中,备份是保障数据安全的重要环节。本篇文章将深入探讨 Informix 的两种常见备份方法:dbexport 和 0级备份,以及它们各自的优缺点和使用场景。 1. **...
《Informix数据库培训教材(上)》是一份深入讲解Informix数据库系统的技术文档,主要针对初学者和数据库管理员。该教材全面介绍了Informix数据库的基本概念、安装配置、服务器组织结构、空间管理、模式管理、容错机制...
Informix 是 IBM 公司开发的一款关系数据库管理系统,提供了强大且灵活的数据存储和管理功能。在本文中,我们将详细介绍 Informix for Windows 数据库的安装配置过程,帮助初学者快速入门。 安装 Informix for ...
通过学习本课程,学员将具备 Informix 数据库的基本操作技能,能够使用 SQL 语言进行数据查询和管理,并理解 Informix 数据库系统的架构和维护策略。这将为他们在智能网业务或其他需要 Informix 支持的环境中工作...
这门课程将深入浅出地讲解Informix数据库,包括其在数据库系统中的地位、功能以及与其他组件的关系。无论是对数据库有初步认识的学员,还是希望提升 Informix 技能的专业人士,都能从中受益。 课程目标: 1. 理解...
《Informix学习使用手册》是一本专为Informix学习者设计的全面教程,它涵盖了从基础概念到高级特性的各种主题,旨在帮助初学者、使用者和开发者深入理解并熟练运用Informix数据库系统。这本书详细解释了Informix的...