版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.1数据库的安全性控制7.2数据库系统的完整性7.3并发控制7.4数据库备份7.5数据库恢复技术7.1数据库的安全性控制7.1.1数据库系统安全主要风险(1)来自操作系统风险(2)来自管理风险(3)来自用户风险(4)来自数据库系统内部风险7.1.2安全性控制1.用户标识与鉴别2.用户访问权限控制3.视图机制4.数据加密5.审计6.用户定义的安全性措施7.数据库备份与恢复7.1数据库的安全性控制7.2数据库系统的完整性7.3并发控制7.4数据库备份7.5数据库恢复技术7.2数据库完整性1.概述1)什么是完整性?(1)保护数据库中数据(2)正确性(合法性)数值型数据只能由数字组成(3)有效性1.数据是否在定义的有效范围2.月份为1~12的整数(4)一致性(相容性)表示同一个事实的两个数据应相同(5)防止错误的数据进入数据库造成无效的操作2)安全性和完整性的区别(1)安全性:防止非法用户和非法操作(2)完整性:防止合法用户向数据库中加入不合语义的数据3)如何控制数据的完整性?
DBA向DBMS提出一组完整性规则2.完整性约束条件1约束对象:列级元组级关系级2静态约束与动态约束静态约束:数据库每一个确定状态所应满足的约束条件动态约束:数据库从一种状态向另一种状态转变时,新旧值之间所应满足的约束条件3六类完整性约束3.完整性控制参照完整性1外码是否可以接受空值2删除被参照的元组时的考虑3修改被参照关系中主码的考虑4级联受限置空忽略参照完整性职工号部门编号姓名…9801980298039804980501010203张三李四王五赵六钱七部门编号部门名称…01020304经理办公室人事部公关部技术部职工表(R2)部门表(R1)主关系键外部关系键7.1数据库的安全性控制7.2数据库系统的完整性7.3并发控制7.4数据库备份7.5数据库恢复技术7.3.1事务(1)定义1.数据库的逻辑工作单位2.用户定义的一组操作序列(2)例子1.一组SQL语句2.一条SQL语句3.整个程序(3)事务定义语句1.BEGINTRANSACTION事务开始2.COMMIT提交事务的所有操作3.ROLLBACK(1)回滚(2)撤消事务中的操作,回滚到事务开始时的状态(4)事务具有的四个特性(ACID特性)1.原子性(ATOMIC)(1)一个事务是一个不可分割的工作单位(2)事务中包括的诸操作要么都做,要么都不做2.一致性(CONSISTENCY)(1)事务必须是使数据库从一个一致性状态转换到另一个一致性状态(2)只要成功提交事务,数据库就能处于一致性状态(3)公司划帐例子3.隔离性(ISOLATION)(1)一个事务的执行不能被其他事务干扰(2)并发执行的各个事务之间不能互相干扰4.持续性(DURABILITY)(1)成功提交事务对数据的改变应该是永久性的(2)接下来的操作或故障不应该对其有任何影响7.3.2并发操作引起的问题并发操作不一致性的表现(1)丢失更新(修改)1.一事务的更新破坏了另一事务的更新结果(2)污读(读“脏”数据)1.事务甲更新了数据x2.事务乙读取了更新后的数据x3.事务甲撤消更新,数据x恢复原值(ROLLBACK)4.事务乙得到的数据与数据库内容不一致(3)不能重读1.事务甲读取数据x2.事务乙读取x并更新x3.事务甲再次读取x以进行校核,得到不一致结果并发存取款操作(丢失修改)t0t1t2t3t4时间事务1事务2余额1000余额1000读余额,得1000取900,余100存100,余1100读余额,得1000污读(读“脏”数据)t0t1t2t3时间事务1事务2余额1000余额1000更新余额为2000回滚,余额1000读余额,得2000不可重复读t0t1t2t3时间事务1事务2读X
X=100X=X+100
X=200读X
X=200
与第一次读不一致7.3.3封锁1)目的(1)保证能够正确地调度并发操作2)概念(1)某事务对某个数据操作之前,先对其加锁,其他事务不能更新加锁的数据,直到释放加锁为止1.排他式封锁(X)1.禁止并发操作2.某事务对数据加上排他锁,该事务可读写数据,其他事务不能再对数据加任何类型的锁,也就不能读写该数据,只有等待开锁2.共享性封锁(S)1.允许其他事务对同一数据进行检索,但不得对同一数据进行修改操作2.其他事务对加了共享锁的数据可读不可写封锁类型的相容矩阵事务1事务2排它锁(X)共享锁(S)不加锁(-)排它锁(X)不相容不相容相容共享锁(S)不相容相容相容不加锁(-)相容相容相容3.封锁协议(1)协议内容1.何时申请封锁(排他锁、共享锁)2.封锁的持续时间(何时释放封锁)(2)三级封锁协议(保证数据一致性的封锁协议)1.一级封锁协议(1)事务在修改数据之前先加排他锁(读数据时不加锁),直到事务结束才释放(2)可防止丢失修改(更新)(3)不能保证可重复读和污读解决丢失更新问题时间事务T1A的值事务T2t01000t1读A=1000t2XLOCKAt3A=A-100不能XLOCKAt4更新A等待…t5UNLOCKA等待…t6900等待…t7读A=900t8XLOCKAt9A=A-200t10更新At11UNLOCKAt127002.二级封锁协议(1)在一级封锁协议之上(2)在读取数据前加共享锁,读完后即释放共享锁(3)可防止丢失更新(4)可进一步防止污读解决“污读”问题时间事务T1A的值事务T2t01000t1读A=1000t2XLOCKAt3A=A-100想读A,加S锁失败t4更新A等待┅t5900等待┅t6ROLLBACK等待┅t71000等待┅t8UNLOCKA1000等待┅t9SLOCKAt10读A=1000t11UNLOCKAt1210003.三级封锁协议(1)在一级封锁协议之上(2)读取数据之前加共享锁,直到事务结束才释放(3)进一步防止了可重复读解决“不可重读”问题时间事务T1A的值事务T2t01000t1欲读A,SLOCKA成功1000t2读
A=10001000t31000想更新A,加X锁失败t41000等待┅t51000等待┅t61000等待┅t7读
A=10001000等待┅t8COMMIT1000等待┅t9UNLOCKA等待┅t10XLOCKAt11UPDATEA=A-200t12COMMITt13800不同级别的封锁协议比较表排他锁共享锁一致性保证操作结束释放事务结束释放操作结束释放事务结束释放不丢失数据不污读可重复读一级封锁协议√√二级封锁协议√√√√三级封锁协议√√√√√7.1数据库的安全性控制7.2数据库系统的完整性7.3并发控制7.4数据库备份7.5数据库恢复技术7.4数据库备份7.4.1基本概念数据备份(DataBackup)是将原始数据拷贝到一个专用介质媒体中进行存储,在遇到硬件故障、软件崩溃、病毒入侵、人为误操作等灾难性事件造成原始数据损坏或丢失的情况下,通过特定的数据恢复机制将存储数据副本恢复到系统的过程。数据备份不是简单的数据拷贝或复制,数据的有效管理也是系统的重要组成部分。完成数据库备份的功能模块称之为数据备份系统。7.4.2数据备份系统的分类数据备份系统主要有以下几种分类方法。1.按照备份对象的不同,分为SQLServer、Sybase、Oracle数据库备份和各种文档、文件备份。2.按照备份介质的不同,分为光盘备份、磁带备份和磁盘备份。3.按照系统与备份设备相对位置的不同,分为异地远程备份和本地备份。4.按照备份自动化程度的不同,分为自动方式备份和人工方式备份。5.按照网络实现备份方式的不同,分为单机备份和网络联机备份。6.按照备份时间的不同,分为定时备份和即时备份。7.按照数据备份功能的不同,分为完全备份、增量备份和差异备份.7.4.3数据备份系统的工作原理基本工作原理是利用备份源系统把备份系统从指定的系统中提取出来,保障及时同步更新备份数据与关键数据,利用备份源代理程序使操作系统、数据库和备份任务获得相应的备份数据;利用备份目标系统把备份数据存储到备份介质,完成介质管理和备份设备管理等功能;利用备份管理器进行管理和运行备份任务,完成任务调度管理、数据转移管理、备份用户管理、备份跟踪和审计管理、备份数据库管理等功能。备份源系统和备份管理器进行通讯,并将来自备份源系统的数据传送至备份目标系统。7.4.4数据备份系统的主流备份技术1.冷备份与热备份技术2.快照技术3.RAID技术4.镜像技术5.写前拷贝技术6.VDI技术7.虚拟介质技术
7.1数据库的安全性控制7.2数据库系统的完整性7.3并发控制7.4数据库备份7.5数据库恢复技术7.5数据库恢复技术7.5.1数据库恢复概述数据库的恢复是指系统发生故障后,将数据从错误状态恢复到某一正确状态的功能。对于事务故障、系统故障和介质故障3种不同的故障类型,DBMS有不同的恢复方法。DBMS提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要么全部完成,要么全部不做。数据库系统所采用的恢复技术是否行之有效是衡量系统性能优劣的重要指标。7.5.2恢复的基本原理数据库恢复的基本原理十分简单,就是数据的冗余,也就是说,预先在数据库系统外,备份正确状态时的影像数据,当发生故障时,再根据这些影像数据来重建数据库。因此恢复系统应该提供两种功能:第一,建立冗余数据;第二,根据冗余数据恢复数据库。原理虽然简单,但实现技术却相当复杂。1.日志文件法(Logging)日志文件是用来记录事务对数据库的更新操作的文件。对数据库的每次修改,都将被修改项目的旧值和新值写在一个叫做运行日志的文件中,目的是为数据库的恢复保留详细的数据。2.数据转储法(DataDump)数据转储是指定期地将整个数据库复制到多个存储设备(如磁带、磁盘)上保存起来的过程,它是数据库恢复中采用的基本手段。转储的数据文本称为后备副本或后援副本,当数据库遭到破坏后就可利用后援副本把数据库有效地加以恢复。7.5.3故障恢复的方法1.事务故障的恢复当事务发生故障时,恢复子系统应利用日志文件撤销(UNDO)此事务对数据库进行的修改。事务故障的恢复通常是由系统自动完成,用户并不知道系统是如何进行事务恢复的。事务故障的恢复步骤如下。(1)反向扫描日志文件(即从最后向前扫描日志文件),查找该事务的更新操作。(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。如果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空);若记录中是删除操作,则做插入操作;若是修改操作,则相当于用修改前的值代替修改后的值。(3)重复执行(1)和(2),恢复该事务的其他更新操作,直至读到该事务的开始标记,事务故障恢复就完成了。2.系统故障的恢复恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。系统故障的恢复是由系统在重新启动时自动完成的,不需要用户干预。系统故障的恢复步骤如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度钢筋混凝土工程质量保修合同
- 《主题班会》课件
- 婴幼儿夏季护理
- 《建实务模考班》课件
- 2024版房地产项目开发合作合同2篇
- 气管异物的护理
- 《抽样调查及其方法》课件
- 电梯维保合同
- 解聘终止劳动合同证明书
- 《高血压患者教育》课件
- 健身指导与管理专业职业生涯规划书
- 北师大版四年级数学上册-第四单元 乘法分配律练习题(简便计算类型讲解)(含答案)
- 下肢关节康复器并发症处理流程
- 饿了么加盟商合同模板
- 心脏超声完整版
- 并列式分论点的拟写技巧上课
- 服务心理学智慧树知到课后章节答案2023年下安徽职业技术学院
- 信号塔无人机精细化巡检
- 建设工程施工试验取样送检见证计划表
- 23J916-1:住宅排气道(一)
- 责任心与执行力全文PPT
评论
0/150
提交评论