打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
informix中的逻辑日志和物理日志的区别和关系
 informix系统中还有物理日志和逻辑日志两种非常重要的磁盘构件。
1.物理日志(physical log)由一片连续的磁盘空间。其主要目的是为系统进行快速恢复提供原始数据映像。物理日志以页为单位进行分配和释放,它所存储的内容被称为before images(顾名思义,数据原来的面貌即修改前数据映像)。当共享内存中的某个页要被修改之前(第一次被修改),系统先将其修改前数据映像(before images)放到物理日志中保存起来。这样,在用户的整个操作完全成功以前,他所修改的所有数据页的修改前映像都被保存着,一旦出现问题,系统可以根据物理日志中的before images进行快速恢复。需要注意的是,只在数据页第一次被修改以前其before image才会被保存,在before image被写入以后和其被释放之前的这一段过程中,所有对该页进行的修改都不再写before image了。当用户写该页这个操作对应的逻辑日志被释放时,其before image也就可以释放了。

逻辑日志(logical logs)是由若干块独立的磁盘空间构成,每一块都是连续的磁盘空间。一个Informix Dynamic Server系统的逻辑日志块数至少要有三块,最大数据可以由管理员配置(不能超过32767块)。
记逻辑日志的目的是将对系统的每个操作、每个修改都保存起来,以便系统出现问题的时候可以根据其内容进行重做(REDO)或事务不能继续进行下去的时候进行回滚(UNDO)。逻辑日志记录的内容主要包括事务的每一步操作机器对系统产生的影响、DDL语句和检查点(checkpoint)记录。

系统循环地使用各个逻辑日志块来记录日志,所以各个逻辑日志块只有逻辑次序上的先后而没有物理意义上的先后。由于逻辑日志块是循环使用的,它必然有一个释放的问题,即在何种条件下已使用过的逻辑日志块可以被释放并被重新使用。可以被释放的逻辑日志块必须符合下述四个方面的条件:
1.如果逻辑日志块中包含活动的事务(即既没有正确结束也没有因错误回滚的事务),则不能被释放。
2.包含最后一个检查点的逻辑日志不能被释放。
3.在逻辑次序上位于包含最后一个检查点的逻辑日志块之后的逻辑日志不能被释放。
4.如果逻辑日志未被备份(backup),则该逻辑日志不能被释放。
在系统初始化时,物理日志和逻辑日志都自动建立在root dbspace的第一个CHUNK中,它们也可以被存放在其它的数据空间中,并且Informix建议将物理日志和逻辑日志存放在不同的设备上以提高系统的性能。

2.物理日志由系统维护,通常无需维护。
逻辑日志的几种状态:
状态“A”:新增加的逻辑日志。仅当进行0级备份后才能使用,其状态变成“F”。
状态“F”:此逻辑日志空闲、可用。
状态“U”:此逻辑日志使用中,未释放(当一日志被backup且其上的事务均已关闭时才能被释放)。
状态“B”:此逻辑日志已backup。
状态“C”:标识此逻辑日志为当前日志文件,即正在接收事务。
状态“L”:此逻辑日志文件中包含最近的checkpoint,在新checkpoint写入日志之前,此日志文件不能释放。
由于逻辑日志是被循环使用的,所以必须保证使用以后的逻辑日志及时被释放以来接收新的事务。根据日志的释放条件,当日志的状态标志为F、UB时表示该日志是可用的。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Informix 逻辑日志管理
INFORMIX数据库常用命令(未分析)
informix命令集
GHOST分区丢失只剩C盘
数据库的主要特点
数据库的备份概念
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服