网站 什么语言开发的高端网站建设公司名称

当前位置: 首页 > news >正文

网站 什么语言开发的,高端网站建设公司名称,工程造价考试,织梦制作网站如何上线目录 11.1 事务的基本概念 事务的定义 事务的开始与结束 事务的ACID特性 破坏ACID特性的因素 11.2 数据库恢复概述 11.3 故障的种类

  1. 事务内部的故障
  2. 系统故障
  3. 介质故障
  4. 计算机病毒 11.4 恢复的实现技术 如何建立冗余数据 数据转储 登记日志文件 11…目录 11.1 事务的基本概念 事务的定义 事务的开始与结束 事务的ACID特性 破坏ACID特性的因素 11.2 数据库恢复概述 11.3 故障的种类
  5. 事务内部的故障
  6. 系统故障
  7. 介质故障
  8. 计算机病毒 11.4 恢复的实现技术 如何建立冗余数据 数据转储 登记日志文件 11.5 恢复策略 事务故障的恢复 系统故障的恢复 介质故障的恢复 11.1 事务的基本概念
    事务的定义 事务Transaction是用户定义的数据操作序列这些操作被作为一个完整的、不可分割的工作单元来执行。在一个事务内的操作要么全部执行要么全部不执行。 事务和程序是两个不同的概念 事务是数据库中用于实现数据操作的一种基本单元。在关系数据库中一个事务可以是一条SQL语句、一组SQL语句甚至是整个程序中的部分操作。 程序通常包含多个事务 事务是数据库系统中实现恢复和并发控制的基本单位 事务的开始与结束 事务的开始与结束可以由用户显式控制或由系统隐式划分
  9. 显式方式 通过以下语句明确标识事务的范围 BEGIN TRANSACTION; 开始事务 COMMIT; 提交事务事务成功完成 ROLLBACK; 回滚事务事务中止并撤销其操作
    BEGIN TRANSACTION;SQL语句1;SQL语句2; COMMIT;BEGIN TRANSACTION;SQL语句1;SQL语句2; ROLLBACK;2. 隐式方式 当用户没有显式定义事务时数据库管理系统DBMS会按照默认规则自动划分事务。例如在某些系统中每条SQL语句会被视为一个事务 事务的ACID特性 事务具有以下4个基本特性简称为ACID 原子性Atomicity 一致性Consistency 隔离性Isolation 持续性Durability
  10. 原子性 事务是数据库的逻辑工作单位事务中包含的所有操作要么全部完成要么全部不执行。如果事务中途因某种原因失败则系统会撤销事务的所有已执行操作数据库回到事务开始前的状态。
  11. 一致性 事务的执行使数据库从一个一致性状态变到另一个一致性状态。 一致性状态数据库中只包含已成功提交事务的结果。 不一致状态事务中断或故障导致部分修改已写入数据库数据库可能处于不正确状态。
  12. 隔离性 事务的执行不被其他事务干扰 每个事务内部的操作及使用的数据对其他并发事务是隔离的。 并发执行的事务之间不能相互影响。
  13. 持续性永久性 事务一旦提交对数据库的修改应该是永久性的。 提交后的事务结果在数据库中得到保存即使系统出现故障也不应该影响其结果 破坏ACID特性的因素 ACID特性可能被以下两类因素破坏
  14. 并发干扰 多个事务并行运行时不同事务的操作可能交叉执行。 破坏特性隔离性和一致性
  15. 各种故障 事务在运行过程中被强行停止。 破坏特性原子性、持久性和一致性 DBMS事务处理的任务就是分别采用恢复机制和并发控制解决以 上两类问题 11.2 数据库恢复概述
    在数据库系统中故障是不可避免的主要包括以下几类 计算机硬件故障如磁盘损坏、电源故障等。软件错误如操作系统或数据库管理系统DBMS的漏洞、程序异常等。操作员失误如误删除数据、误操作等。恶意破坏如病毒攻击、未授权用户的恶意操作等。 故障会对数据库系统造成以下影响 事务运行中断导致正在运行的事务未正常完成影响数据的正确性。数据库损坏可能导致数据部分或全部丢失破坏数据库的完整性和一致性。 数据库恢复的目标是通过技术手段将数据库从错误状态恢复到某一已知的正确状态即一致性状态或完整性状态 数据库的恢复由DBMS的恢复子系统完成主要任务包括 检测故障识别故障类型并判断影响的范围。回滚未完成事务撤销所有未提交事务的操作恢复数据库一致性。重做已提交事务确保已提交事务的操作永久反映在数据库中。 11.3 故障的种类
  16. 事务内部的故障 事务在运行过程中未正常终止即中断可能由预期原因或非预期原因引发。 预期原因 业务规则要求终止如违反了特定逻辑约束。 输入数据错误导致无法完成事务的正确处理。 违反完整性约束如违反主键、外键或唯一性限制。
    非预期原因 事务内部的大多数故障是不可预测的主要包括 运算溢出如除以零、数据溢出等。 并发事务死锁系统检测到死锁主动终止某些事务。 违反系统完整性限制如违反系统级约束或逻辑条件。
    故障结果 未到达终点事务未能到达提交点COMMIT或显式回滚点ROLLBACK。 数据库状态不正确可能存在未完成操作导致的不一致性。
    恢复机制撤销事务UNDO强行回滚事务【撤销事务已作出的所有修改确保数据库状态恢复至事务未启动前的状态】
  17. 系统故障 定义 软故障指因某种事件导致系统停止运行并需要重新启动但数据库本身未被破坏。 系统正常运行突然中断所有事务非正常终止。 数据库完整性未被直接破坏但内存中数据库缓冲区数据丢失。
    故障影响 未完成事务可能部分修改已写入数据库造成不一致性。 已完成事务可能部分或全部修改尚未写入物理数据库修改丢失。
    恢复机制 回滚未完成事务撤销所有非正常终止事务的操作UNDO。 重做已完成事务将所有已提交事务的操作重新应用于数据库REDO。
  18. 介质故障 硬故障指外存设备损坏导致数据库部分或全部被破坏。 常见原因磁盘损坏磁头碰撞强磁场干扰 破坏性强可能导致数据库部分或全部丢失 影响正在存取相关数据的所有事务
    恢复机制 利用冗余数据重建被破坏的数据库部分 恢复过程依赖于定期备份和日志文件
  19. 计算机病毒 人为故障指恶意程序通过繁殖和传播对计算机系统包括数据库造成危害。 故障影响 数据库被破坏 数据不正确可能由于事务非正常终止引发
    恢复机制 通过冗余数据重建被破坏或不正确的数据 采用防病毒措施和安全机制避免进一步损害 如何恢复 恢复操作的基本原理冗余  利用存储在系统别处的冗余数据来重建数据库中已被破坏或不正确的那部分数据 恢复的实现技术复杂 一个大型数据库产品恢复子系统的代码要占全部代码的 10%以上 11.4 恢复的实现技术
    如何建立冗余数据 冗余数据是数据库故障恢复的基础 主要通过以下两种方式建立 1数据转储Backup 数据库管理员定期将整个数据库复制到磁带、磁盘或其他存储介质的过程称为转储。 保存的副本称为后备副本Backup或后援副本 用于在发生故障时恢复数据库 静态转储在无事务运行的情况下执行 动态转储与用户事务并发运行
    2登记日志文件Logging 在数据库运行过程中将事务对数据库的所有修改记录到日志文件中。 作用 通过日志文件跟踪事务的执行状态。 配合转储副本恢复数据库到一致性状态 数据转储 1静态转储 在无运行事务时进行。 转储期间禁止对数据库进行任何操作。 转储数据保证一致性。
    优点实现简单。副本数据正确有效。 缺点降低数据库的可用性转储必须等待当前运行事务完成。新事务必须等转储操作结束。 2动态转储 转储操作与用户事务并发进行。 允许在转储期间对数据库进行访问和修改。
    优点提高数据库可用性不用等待运行事务完成。不影响新事务运行。 缺点可能导致副本数据不一致在转储期间某些事务可能修改数据导致部分数据未更新至副本。 动态转储的故障恢复原理 问题动态转储得到的副本可能存在数据不一致问题。 解决方法 在动态转储期间记录所有事务对数据库的修改操作到日志文件。 恢复过程 使用动态转储副本作为基础。 重做日志文件中的修改操作将数据库恢复到某一时刻的正确状态。
    海量转储与增量转储 海量转储每次转储整个数据库的所有数据无论数据是否更新。 转储的副本完整全面。恢复过程简单直接利用后备副本即可。占用较多存储空间转储时间较长。 适用场景数据库规模较小更新频率不高。恢复过程对效率要求较高。 增量转储仅转储上次转储后发生变更的数据包括新增、修改、删除的部分。 数据转储量小时间短。占用存储空间少效率高。恢复时需结合之前的转储副本操作复杂。 适用场景数据库规模大更新频率高。存储和转储时间成本敏感的场合。 登记日志文件 日志文件Log File是用来记录事务对数据库更新操作的文件 1以记录为单位的日志文件 每条日志记录包含以下内容 事务标识标识哪个事务进行了操作 操作类型标明是插入、删除还是更新 数据前值更新前的数据值旧值 数据后值更新后的数据值新值 2以数据块为单位的日志文件 每条日志记录包含以下内容 事务标识标识哪个事务进行了操作。 被更新的数据块指明更新操作所涉及的存储块。 日志文件的主要用途包括 事务故障恢复当事务发生故障时通过日志文件撤销UNDO或重做REDO事务的操作。 系统故障恢复记录事务的修改情况确保系统故障后能够回滚未完成的事务或重做已提交事务。 协助介质故障恢复结合后备副本恢复已破坏的数据。 登记的次序严格按并发事务执行的时间次序 必须先写日志文件后写数据库 Write Ahead Logging,WAL 11.5 恢复策略 事务故障的恢复 通过日志文件的内容撤销UNDO事务已对数据库进行的修改。 特点由系统自动完成用户无需干预对用户是透明的。
    步骤 反向扫描日志文件 从最后向前扫描日志文件查找该事务的更新操作。 执行逆操作 根据日志记录将“更新前的值”写入数据库。 插入操作若“更新前的值”为空相当于删除操作。 删除操作若“更新后的值”为空相当于插入操作。 修改操作用“修改前值”代替“修改后值”。 重复处理 持续反向扫描查找并处理该事务的所有更新操作。 处理完成 当读到该事务的“开始标记”时事务故障的恢复完成。
    系统故障的恢复 数据库不一致状态的原因 未完成事务未完成事务的更新操作可能已经写入数据库。 已提交事务已提交事务的更新操作可能仅保存在缓冲区未写入数据库。
    恢复方法 撤销UNDO未完成的事务。 重做REDO已完成的事务。
    步骤 系统重新启动时自动完成 正向扫描日志文件 建立两类队列 撤销队列UNDO包括故障发生时尚未完成的事务仅有“BEGIN TRANSACTION”记录无对应的“COMMIT”记录。 重做队列REDO包括故障发生前已提交的事务既有“BEGIN TRANSACTION”记录也有“COMMIT”记录。 撤销未完成的事务 反向扫描撤销队列中的事务操作。 对每个撤销事务执行逆操作将“更新前的值”写入数据库。 重做已完成的事务 正向扫描重做队列中的事务操作。 对每个重做事务执行重做操作将“更新后的值”写入数据库。
    介质故障的恢复 恢复方法 重装数据库 装入最新的后备数据库副本使数据库恢复到最近一次转储时的一致性状态 对于静态转储数据库即处于一致性状态。 对于动态转储需要同时装入转储时刻的日志文件副本并利用系统故障恢复方法REDOUNDO将数据库恢复到一致性状态。 重做已完成的事务 装入有关的日志文件副本转储结束时的日志文件副本。 首先扫描日志文件找出故障发生时已提交的事务并记录到重做队列。 正向扫描日志文件对重做队列中的事务进行重做操作将“更新后的值”写入数据库。
    介质故障的恢复需要数据库管理员的介入重装最近转储的数据库副本和相关日志文件副本。执行数据库管理系统提供的恢复命令。具体恢复操作由数据库管理系统自动完成