系统维护的恢复信息依赖于执行更新采用的方法。这要求T 1事先把T 1中的有些信息写到日志里。图10.8系统故障恢复时需redo和undo事务系统故障恢复时,如何处理这两个事务,可用图10.9和图10.10说明。图10.9redo事务图10.10undo事务如前所述,redo和undo操作都是幂等的。......
2023-10-28
当易失存储器(如计算机内存)丢失信息的故障发生时,恢复程序会读日志文件并执行下列操作。
●找出那些未提交的事务以便undo。识别未提交事务的方法是,找出那些日志文件里有begin_transaction记录但没有相应的commit或abort记录的事务。从而,构造出一张undo表。
●找出那些需要redo的事务。原则上,这个集合包含所有已经在日志文件中有commit记录的事务。实际上,在故障前,它们可能已经安全地保存在稳存里了,因此无需redo。为了区别哪些事务需要redo,哪些不需要redo,可以使用校验点技术。结果构造出一张redo表。该表记录事务的特点是,虽然日志中保存有commit记录,但是没有EOT记录。
●对第一步确定的undo表里的事务执行undo操作;对第二步中确定的redo表里的事务执行redo操作。
随着数据库的启动、运行,日志的规模也越来越大。从日志头上检查整个日志,效率太低。因此,提出使用校验点技术。
校验点是指周期性执行的操作,以便简化恢复程序里的第一步和第二步。实施校验点需要执行如下操作。
●将所有的日志记录和所有的易失存储器里的数据库更新写入稳存,这样,校验点后所有事务在稳存中都有其所有的动作记录。
●将校验点记录写入稳存。日志中的校验点用于记录包含设置校验点时仍在活跃的事务信息(活跃的事务是指日志里有begin_transaction记录但没有相应的commit或abort记录)。
校验点的存在方便了恢复程序。这样上面的第一步和第二步可以修改如下。
●找到和读出最后一个校验点记录。(www.chuimin.cn)
●将校验点记录里记载的所有事务放入undo集,并将redo集置为空。
●从校验点记录开始读日志文件,如果找到一个begin_transaction记录,则将相应的事务归入undo集。如果找到一个commit记录,则将相应的事务从undo集移到redo集。
理论上讲,日志包含数据库的全部历史。但与undo与redo有关的只是最后那些事务。因此,只需最后涉及的那些事务在线就可,其他信息可以存放在离线存储器里(如磁带)。这样可以节省宝贵的在线存储开销。
目前我们讨论的故障未涉及稳存信息的丢失。但是稳存存放的信息也不是万无一失的,若稳存里的信息丢失,则要考虑以下两种情况。
●数据库信息丢失但日志是安全的故障。
●日志信息丢失的故障。
第一种情况容易处理,可以使用日志对所有已提交事务实施redo,即将离线存储器中的数据库状态恢复成一个镜像,然后实施redo。值得注意的是,恢复这个镜像耗时很长,但可以选择数据库休眠期间执行这个操作。
第二种情况则很严重,由于日志信息丢失,一般无法完全恢复到最近的数据库状态,事务的持续性受到损害,要尽量避免发生这种情况。
有关分布式数据库技术的文章
系统维护的恢复信息依赖于执行更新采用的方法。这要求T 1事先把T 1中的有些信息写到日志里。图10.8系统故障恢复时需redo和undo事务系统故障恢复时,如何处理这两个事务,可用图10.9和图10.10说明。图10.9redo事务图10.10undo事务如前所述,redo和undo操作都是幂等的。......
2023-10-28
事务的性质可以用ACID来表示,即原子性、一致性、隔离性和持续性。在这类故障中维持事务原子性的机制称为故障恢复。验证事务是否一致是由语义数据控制实现的。 假设有两个并发事务对用户的银行账户x进行处理,它们都要存取数据项x。......
2023-10-28
Oracle公司的OPS环境比一般的(单实例)Oracle环境复杂得多。不同结构下的OPS的实施略有不同。图14.23OPS体系结构为了利用这些特性,需要专业人员合适的设计以及恰当的手工配置。下面对有些关键问题进行简单讨论,讨论中会涉及一些Oracle系统专用的术语,读者可参阅Oracle公司的相关文档。DLM与Oracle进程一起工作并相互通信。DLM相关的初始化参数在每个实例的SGA[12]中分配必要的结构以处理消息机制、封锁与实例相关的Cache管理,这样就为各种Oracle进程操纵提供了基础。......
2023-10-28
通常RTU 功能划分为远方功能和当地功能。RTU与调度中心之间通过远距离信息传输所完成的监控功能称为RTU远方功能。与RTU相连的CRT显示器可以显示所在发电厂或变电站的电气主接线图。RTU的程序自恢复能力是指RTU在受到某种干扰影响而使程序 “走飞”时,能够自行恢复正常运行的能力。......
2023-06-27
查询优化的本地化分层聚焦于将查询转换成本地数据。一个全局关系可以通过应用重构规则来重构,从而导出一个关系代数程序,其操作数是数据片,这个程序称为本地化程序。将分布查询分配到节点上的自然办法是生成查询,让每个全局关系使用本地化程序来代替。这可以看成是在一棵分布查询的算符树上将叶子用与本地化程序对应的子树来替代。数据水平分片关系的连接也可以简化。......
2023-10-28
与数据库安全系统打交道的人员可以分为两类:数据库管理员和普通用户。DBA要对安全负责,所以他(们)要创建授权规则,定义谁可以使用哪部分数据,以及如何使用。图13.1数据库安全系统由图13.1可知,数据库安全系统里存放着授权规则,在每次数据库存取时强制满足其规则。从完整性方面考虑,数据库安全可以包含以下两方面。1)设计阶段的数据库安全在设计阶段必须关注数据库的安全性。DBA负责处理整个数据库系统里的用户账号和口令。......
2023-10-28
图3.1软件开发过程数据库设计的过程与软件开发的过程类似。下面先来看一下集中式数据库设计的情况。在分布式数据库系统中,集中式数据库设计的问题依然存在,且有以下两个新的问题需要考虑。这个过程就是确定如何将全局关系划分成水平、垂直或者混合的数据片。数据片的分配,即决定数据片如何映射到物理镜像上,决定如何复制数据片。数据片的分配问题则研究已久,当然,过去研究的则是“文件分配”问题。......
2023-10-28
由于所处理的是图像子块,所以认为是同一距离的,因此σ近似为恒定的。解出σ2后,代入式即可得到物体的景深,即2.微幅改变摄像机参数获取景深Subbarao提出的第二种方法是微幅改变摄像机的参数,假设其中一幅图像的参数是v01、f1、r,则另一幅图像的参数是v01+ds、f1+df、r+dr。......
2023-11-24
相关推荐