当前位置:文档之家› 第六章 数据库保护共24页文档

第六章 数据库保护共24页文档


01.06.2020
主讲:王颂华
3
6.2 数据库中的事务
6.2.1 事务及其性质
事务(Transaction)是指用户定义的一个数据库操作序列,
这些操作要么全做要么全不做,是一个不可分割的工作单位。
例如,在关系数据库中,一个事务可以是一条SQL语句、一组
SQL语句或整个程序。
一个逻辑工作单元要成为事务,必须满足四个特性:原子
01.06.2020
主讲:王颂华
5
6.2 数据库中的事务
6.2.3 SQL中事务的定义
事务的开始与结束可以由用户显式控制。如果用户没有显 式地定义事务,则由DBMS按缺省规定自动划分事务。在SQL语言 中,定义事务的语句有三条:
BEGIN TRANSACTION
COMMIT
ቤተ መጻሕፍቲ ባይዱ
ROLLBACK
01.06.2020
主讲:王颂华
6
6.3 数据库故障及恢复
某些故障的发生可能会导致数据库被破坏或影响数据 库中数据的一致性(或完整性、正确性)。当系统运行过 程中发生故障时,数据库恢复技术将数据库从错误状态恢 复到某个一致状态,它是数据库可靠性的保证。数据库恢 复机制是衡量某DBMS系统性能的指标之一,对系统可靠性 起决定作用,对运行效率有很大影响,是衡量系统性能优 劣的重要指标。
01.06.2020
主讲:王颂华
13
6.4 数据库中的并发控制
6.4.2 并发所引起的问题
事务是并发控制的基本单位,保证事务ACID特性是事务处 理的重要任务,而事务ACID特性可能遭到破坏的原因之一是多 个事务对数据库的并发操作造成的。为了保证事务的隔离性和 一致性,DBMS需要对并发操作进行正确调度。这些就是数据库 管理系统中并发控制机制的责任。
6.1 数据库的完整性控制
6.1.1 数据库完整性概述
数据库完整性(database integrity)是指数据库中数据的正 确性和相容性。数据库完整性由各种各样的完整性约束来保证, 因此可以说数据库完整性设计就是数据库完整性约束的设计。
01.06.2020
主讲:王颂华
1
6.1 数据库的完整性控制
系统故障是指由硬件故障、软件故障(操作系统故障、 DBMS代码错等)、停电等原因造成的、使系统停止运转、必须 重新启动的任何事件。
3.介质故障
系统故障常称为软故障(Soft Crash),介质故障称为硬故
障(Hard 01.06.2020 Crash)。
主讲:王颂华
8
6.3 数据库故障及恢复
6.3.2基于日志文件的数据恢复技术
性(Atomicity)、一致性(Consistency)、隔离性(Isolation)
和持续性(Durability)。这四个特性也简称为ACID特性。
01.06.2020
主讲:王颂华
4
6.2 数据库中的事务
6.2.2 事务的状态
事务分为以下五种状态: 活动状态 局部提交状态 失败状态 异常中止状态 提交状态
01.06.2020
主讲:王颂华
14
6.4 数据库中的并发控制
6.4.3 封锁
封锁是实现并发控制的一个非常重要的技术。所谓封锁就 是事务T在对某个数据对象例如表、记录等操作之前,先向系统 发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的 控制,在事务T释放它的锁之前,其他的事务不能更新此数据对 象。
01.06.2020
主讲:王颂华
7
6.3 数据库故障及恢复
6.3.1 数据库系统的故障
1.事务故障
事务故障是指由于事务内部的逻辑错误(如运算溢出、数据
输入错、记录找不到等)或系统错误(如并发事务发生死锁而被 选中撤消等)所引起的、使事务在末达到规定的终点以前就被迫 中止的任何事件。
2.系统故障
转储可分为静态转储和动态转储。
01.06.2020
主讲:王颂华
10
6.3 数据库故障及恢复
2.介质故障的恢复 与事务故障和系统故障相比,有时介质故障对数据库的破
坏性可能最大,因为介质故障破坏的是磁盘上的部分〔或全部) 物理数据库,甚至会破坏日志文件,而且也会影响正在存取被 破坏的物理数据的所有事务。利用数据转储后产生的后备副本 与日志文件可以进行介质故障的恢复。
6.1.2 完整性约束定义
静态列级约束 静态元组约束 静态关系约束 动态列级约束 动态元组约束 动态关系约束
01.06.2020
主讲:王颂华
2
6.2 数据库中的事务
数据库中的事务是指作为单个逻辑工作单元执行的一系列 操作。
数据库事务正是用来保证这种情况下交易的平稳性和可预 测性的技术。事务是一系列的数据库操作,是数据库应用程序 的基本逻辑单元。事务处理技术是数据库保护的重要组成部分。
12
6.4 数据库中的并发控制
6.4.1 并发的目的
事务可以一个一个地串行执行,即每个时刻只有一个事务 运行,其他事务必须等到这个事务结束以后方能运行。事务在 执行过程中需要不同的资源,有时需要CPU,有时需要存取数据 库,有时需要I/O,有时需要通信。如果事务串行执行,则许多 系统资源将处于空闲状态。因此,为了充分利用系统资源,发 挥数据库共享资源的特点,应该允许多个事务并行地执行。
主讲:王颂华
9
6.3 数据库故障及恢复
6.3.3 数据转储及介质故障的恢复
1.数据转储 数据转储是数据库恢复中采用的基本技术。所谓转储即DBA
定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过 程。这些备用的数据文本称为后备副本或后援副本。
转储是十分耗费时间和资源的,不能频繁进行。DBA应该根 据数据库使用情况确定一个适当的转储周期。
01.06.2020
主讲:王颂华
11
6.3 数据库故障及恢复
6.3.4 检查点方法
为提高日志文件技术的效率,可以采用检查点的方法。即 在日志文件中再增加一个检查点记录,同时还增加了一个重新 启动文件。系统在运行的过程中会周期性地产生一个检查点, 以保存数据库的状态。
01.06.2020
主讲:王颂华
日志文件是记载每个事务对数据库的更新操作的文件。 利用日志文件进行故障恢复时有两个基本操作:撤销事务 UNDO(Ti)或重做事务REDO(Ti)。 事务故障是指某事务在运行过程中由于逻辑或系统错误而 在未完成其所有操作以前就被迫中止了,此时该事务个的部分 操作已完成,部分操作末完成。
01.06.2020
相关主题