1、第第3章章 网络数据库与数据安全网络数据库与数据安全本章主要内容本章主要内容网络数据库安全的概念;网络数据库的特性,数据库的故障类型,数据库安全性措施(层次),数据库备份的类型及涵义,数据库系统备份性能指标;网络数据库恢复和转储的种类,数据失效的类型;影响数据完整性的因素,常见的硬件故障、网络故障、软件问题和人为因素。本章要求本章要求网络数据库系统特性及安全网络数据库的安全特性网络数据库的安全保护网络数据备份和恢复本章分为四小节:本章分为四小节:31网络数据库安全概述 32网络数据库的安全特性 33网络数据库的安全保护 34网络数据备份和恢复31网络网络数据库安全概述数据库安全概述1.数据库安
2、全的概念2.数据库管理系统及特性3.数据库安全系统特性4.数据库安全的威胁3.1.1 数据库安全的概念数据库安全的概念1数据库安全数据库安全(1)第一层含义是数据库系统的安全性。第一层含义是数据库系统的安全性。硬件运行安全物理控制安全操作系统安全用户有可连接数据库的授权灾害、故障恢复3.1.1 数据库安全的概念数据库安全的概念1数据库安全数据库安全(2)第二层含义是数据库数据的安全性第二层含义是数据库数据的安全性。有效的用户名/口令鉴别用户访问权限控制数据存取权限、方式控制审计跟踪数据加密防止电磁信息泄漏3.1.1 数据库安全的概念数据库安全的概念2数据库安全管理原则数据库安全管理原则(1)管
3、理细分和委派原则管理细分和委派原则(2)最小权限原则最小权限原则(3)账号安全原则账号安全原则(4)有效审计原则有效审计原则3.1.2 数据库管理系统及特性数据库管理系统及特性1.数据库管理系统的安全功能数据库管理系统的安全功能数据库管理系统(DBMS):专门负责数据库管理和维护的计算机软件系统。它是数据库系统的核心,不仅负责数据库的维护工作,还能保证数据库的安全性和完整性。在安全方面,DBMS还具有以下职能:保证数据的安全性和完整性,抵御一定程度的物理破坏,能维护和提交数据库内容;能识别用户,分配授权和进行访问控制,包括身份证识别和验证。2.DBMS的安全使用特性的安全使用特性多用户:网络系
4、统的数据库是为多个用户提供访问服务的;高可靠性:多用户所使用的数据库要求一定有高可靠性;数据频繁更新:多用户访问数据库的频率高,对数据的操作频繁;文件大。(1).数据安全性数据安全性保证数据库数据安全,通常采取以下措施:将数据库中需要保护和不需要保护的数据分开;采取ID号、口令和权限等访问控制;数据加密后存于数据库。(2).数据的共享性数据的共享性 不同的应用程序可以使用同一个数据库。不同的应用程序可以在同一时刻去存取同一个数据。数据库中的数据不但可供现有的应用程序共享,还可为新开发的应用程序使用。应用程序可用不同的程序设计语言编写,它们可以访问同一个数据库。(3).数据的结构化数据的结构化
5、基于文件的数据的主要优势就在于它利用了数据结构。数据库中的文件相互联系,并在整体上服从一定的结构形式。数据库具有复杂的结构,不仅是因为它拥有大量的数据,同时也因为在数据之间和文件之间存在着种种联系。数据库的结构使开发者避免了针对每一个应用都需要重新定义数据逻辑关系的过程。3数据库事务数据库事务“事务事务”是数据库中的一个重要概念,是一系列操作是数据库中的一个重要概念,是一系列操作过程的集合,也是数据库数据操作的并发控制单位。过程的集合,也是数据库数据操作的并发控制单位。DBMS在数据库操作时进行“事务”定义,要么一个“事务”应用的全部操作结果都反映在数据库中(全部完成),要么就一点都没有反映在
6、数据库中(全部撤除),数据库回到该次事务操作的初始状态。这就是说,一个数据库“事务”序列中的所有操作只有两种结果之一,即全部执行或全部撤除。3.1.3 数据库系统的缺陷和威胁数据库系统的缺陷和威胁1.数据库系统缺陷数据库系统缺陷 常见的数据库的安全漏洞和缺陷有:数据库应用程序通常都同操作系统的最高管理员密切相关;人们对数据库安全的忽视;部分数据库机制威胁网络低层安全;3.1.4 数据库安全的缺陷和威胁数据库安全的缺陷和威胁1.缺陷和漏洞缺陷和漏洞常见的数据库的安全漏洞和缺陷有:数据库应用程序通常都同操作系统的最高管理员密切相关;人们对数据库安全的忽视;部分数据库机制威胁网络低层安全;安全特性缺
7、陷;数据库账号密码容易泄漏;操作系统后门;木马的威胁。2.数据库系统的威胁形式数据库系统的威胁形式篡改:篡改:篡改是指对数据库中的数据未经授权地进行修改,使其失去原来的真实性。篡改是一种人为的主动攻击。进行这种人为攻击的原因可能是个人利益驱动、隐藏证据、恶作剧或无知。损坏:损坏:损坏的表现为数据库中表和整个数据库部分或全部被删除、移走或破坏。产生损坏的原因主要有破坏、恶作剧和病毒。窃取:窃取:窃取一般是对敏感数据进行的。窃取的手法可能是将数据复制到可移动的介质上带走或把数据打印后取走。一般,被窃取的数据可能具有很高的价值。窃取数据的对象一般是内部员工和军事及工商业间谍等。3.数据库系统威胁的来
8、源数据库系统威胁的来源数据库安全的威胁主要来自数据库安全的威胁主要来自物理和环境的因素;事务内部故障;系统故障;人为破坏;介质故障;并发事件;病毒与黑客。32 网络数据库的安全特性网络数据库的安全特性为了保证数据库数据的安全可靠和正确有效,DBMS必须提供统一的数据保护功能。数据保护也称为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。下面以多用户数据库系统Oracle为例,阐述数据库的安全特性。3.2.1 数据库的安全性数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。在数据库系统中有大量的计算机系统数据集中存放,为许多用户所共享,这样就使安
9、全问题更为突出。在一般的计算机系统中,安全措施是一级一级设置的。1数据库的存取控制数据库的存取控制(1)数据库的安全机制数据库的安全机制多用户数据库系统(如Oracle)提供的安全机制可做到:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。(2)模式和用户机制模式和用户机制 Oracle使用多种不同的机制管理数据库安全性,其中有模式和用户两种机制。模式机制。模式机制。模式为模式对象的集合,模式对象如表、视图、过程和包等。用户机制。用户机制。每一个Oracle数据库有一组合法的用户,可运行一数据库应用和使用该用户连接到定义该用户的数据库。当建立
10、一个数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。一旦用户连接一个数据库,该用户就可存取相应模式中的全部对象,一个用户仅与同名的模式相联系,所以用户和模式是类似的。2特权和角色特权和角色(1)特权特权 特权特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有系统特权和对象特权两类特权。系统特权。系统特权。系统特权是执行一种特殊动作或者在对象类型上执行一种特殊动作的权力。系统特权可授权给用户或角色。系统可将授予用户的系统特权授给其他用户或角色,同样,系统也可从那些被授权的用户或角色处收回系统特权。对象特权。对象特权。对象特权是指在表、视图、序列、过程、函数或包上执行特
11、殊动作的权利。对于不同类型的对象,有不同类型的对象特权。(2)角色角色角色是相关特权的命名组。数据库系统利用角色可更容易地进行特权管理。角色管理的优点角色管理的优点减少特权管理。动态特权管理。特权的选择可用性。应用可知性。专门的应用安全性。一般,建立角色有两个目的,一是为数据库应用管理特权,二是为用户组管理特权,相应的角色分别称为应用角色和用户角色。应用角色是系统授予的运行一组数据库应用所需的全部特权。一个应用角色可授给其它角色或指定用户。一个应用可有几种不同角色,具有不同特权组的每一个角色在使用应用时可进行不同的数据存取。用户角色是为具有公开特权需求的一组数据库用户而建立的。数据库角色的功能
12、数据库角色的功能一个角色可被授予系统特权或对象特权。一个角色可授权给其它角色,但不能循环授权。任何角色可授权给任何数据库用户。授权给一个用户的每一角色可以是可用的,也可是不可用的。一个间接授权角色(授权给另一角色的角色)对一个用户可明确其可用或不可用。在一个数据库中,每一个角色名是唯一的。3审计审计 审计是对选定的用户动作的监控和记录,通常用于审查可疑的活动,监视和收集关于指定数据库活动的数据。(1)Oracle支持的三种审计类型支持的三种审计类型 语句审计语句审计。语句审计是指对某种类型的SQL语句进行的审计,不涉及具体的对象。这种审计既可对系统的所有用户进行,也可对部分用户进行。特权审计。
13、特权审计。特权审计是指对执行相应动作的系统特权进行的审计,不涉及具体对象。这种审计也是既可对系统的所有用户进行,也可对部分用户进行。对象审计。对象审计。对象审计是指对特殊模式对象的访问情况的审计,不涉及具体用户,是监控有对象特权的SQL语句。(2)Oracle允许的审计选择范围允许的审计选择范围审计语句的成功执行、不成功执行,或其两者都包括。对每一用户会话审计语句的执行审计一次或对语句的每次执行审计一次。对全部用户或指定用户的活动的审计。当数据库的审计是可能时,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存放于数据字典表(称为审计记录
14、)或操作系统审计记录中。3.2.2 数据库的完整性数据库的完整性数据库的完整性是指保护数据库数据的正确性和一致性。它反映了现实中实体的本来面貌。数据库系统要提供保护数据完整性的功能。系统用一定的机制检查数据库中的数据是否满足完整性约束条件。Oracle应用于关系型数据库的表的数据完整性有下列类型:空与非空规则:在插入或修改表的行时允许或不允许包含有空值的列;唯一列值规则:允许插入或修改表的行在该列上的值唯一;引用完整性规则;用户对定义的规则。Oracle允许定义和实施每一种类型的数据完整性规则,如空与非空规则、唯一列值规则和引用完整性规则等,这些规则可用完整性约束和数据库触发器来定义。1完整性
15、约束完整性约束(1)完整性约束条件完整性约束条件完整性约束条件是作为模式的一部分,对表的列定义的一些规则的说明性方法。具有定义数据完整性约束条件功能和检查数据完整性约束条件方法的数据库系统可实现对数据完整性的约束。完整性约束有数值类型与值域的完整性约束、关键字的约束、数据联系(结构)的约束等。这些约束都是在稳定状态下必须满足的条件,叫静态约束。相应地还有动态约束,就是指数据库中的数据从一种状态变为另一种状态时,新旧数值之间的约束,例如更新人的年龄时,新值不能小于旧值等。(2)完整性约束的优点完整性约束的优点利用完整性约束实施数据完整性规则有以下优点:定义或更改表时,不需要程序设计便可很容易地编
16、写程序并可消除程序性错误,其功能是由Oracle控制。对表所定义的完整性约束被存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。具有最大的开发能力。当由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或Oracle检查之前,就可立即反馈信息。完整性约束说明的语义被清楚地定义,对于每一指定说明规则可实现性能优化。完整性约束可临时地使其不可用,使之在装入大量数据时避免约束检索的开销。当数据库装入完成时,完整性约束可容易地使其可用,任何破坏完整性约束的
17、新记录可在另外表中列出。2数据库触发器数据库触发器(1)触发器的定义触发器的定义数据库触发器是使用非说明方法实施的数据单元操作过程。利用数据库触发器可定义和实施任何类型的完整性规则。Oracle允许定义过程,当对相关的表进行Insert、Update或Delete语句操作时,这些过程被隐式地执行,这些过程称为数据库触发器。触发器类似于存储过程,可包含SQL语句和PL/SQL语句,可调用其它的存储过程。过程与触发器差别在于调用方法:过程由用户或应用显式地执行;而触发器是为一个激发语句(Insert、Update、Delete)发出而由Oracle隐式地触发。一个数据库应用可隐式地触发存储在数据库
18、中的多个触发器。(2)触发器的组成触发器的组成一个触发器由三部分组成:触发事件或语句、触发限制和触发器动作。触发事件或语句是指引起激发触发器的SQL语句,可为对一个指定表的Insert、Update或Delete语句。触发限制是指定一个布尔表达式,当触发器激发时该布尔表达式必须为真。触发器作为过程,是PL/SQL块,当触发语句发出、触发限制计算为真时该过程被执行。(3)触发器的功能触发器的功能一般触发器用于:自动地生成导出列值。实施复杂的安全审核。在分布式数据库中实施跨节点的完整性引用。实施复杂的事务规则。提供透明的事件记录。提供高级的审计。收集表存取的统计信息。3.2.3 数据库的并发控制数
19、据库的并发控制1一致性和实时性一致性和实时性一致性的数据库就是指并发数据处理响应过程已完成的数据库。例如:一个会计数据库,当它的记入借方与相应的贷方记录相匹配的情况下,它就是数据一致的。数据库日志被用来在故障发生后恢复数据库时可保证数据库的一致性和实时性。2数据的不一致现象数据的不一致现象事务并发控制不当,可能产生丢失修改、读无效数据、不可重复读等数据不一致现象。3并发控制的实现并发控制的实现并发控制的实现途径有多种,如果DBMS支持,当然最好是运用其自身的并发控制能力。如果系统不能提供这样的功能,可以借助开发工具的支持,还可以考虑调整数据库应用程序,而且有的时候可以通过调整工作模式来避开这种
20、会影响效率的并发操作。3.2.4 数据库的恢复数据库的恢复1操作系统备份操作系统备份不管为Oracle数据库设计成什么样的恢复模式,数据库数据文件、日志文件和控制文件的操作系统备份都是绝对需要的,它是保护介质故障的策略。操作系统备份有完全备份和部分备份。2介质故障的恢复介质故障的恢复介质故障是当一个文件、文件的一部分或一块磁盘不能读或不能写时出现的故障。介质故障的恢复有以下两种形式,决定于数据库运行的归档方式。(1)完全介质恢复完全介质恢复完全介质恢复可恢复全部丢失的修改。仅当所有必要的日志可用时才可能这样做。可使用不同类型的完全介质恢复,这要取决于损坏的文件和数据库的可用性。关闭数据库的恢复
21、。当数据库可被装配却是关闭时,完全不能正常使用,此时可进行全部的或单个损坏数据文件的完全介质恢复。打开数据库的离线表空间的恢复。当数据库是打开的,完全介质恢复可以处理。未损的数据库表空间是在线时可以使用,而当受损空间离线时,其所有数据文件可作为完全介质恢复的单位。当数据库是打开状态,完全介质恢复可以对其处理。未损的数据库表空间处于在线状态时,也可以使用完全介质恢复,而受损的表空间处于离线状态时,该表空间指定的单个受损数据文件可被恢复。使用备份控制文件的恢复。当控制文件的所有拷贝由于磁盘故障而受损时,可使用备份控制文件进行完全介质恢复而不丢失数据。(2)不完全介质恢复不完全介质恢复不完全介质恢复
22、是在完全介质恢复不可能或不要求时进行的介质恢复。可使用不同类型的不完全介质恢复,重构受损的数据库,使其恢复到介质故障前或用户出错前事务的一致性状态。根据具体受损数据的不同,可采用不同的不完全介质恢复。基于撤消的不完全介质恢复。在某种情况,不完全介质恢复必须被控制,DBA可撤消在指定点的操作。可在一个或多个日志组(在线的或归档的)已被介质故障所破坏,不能用于恢复过程时使用基于撤消的恢复。介质恢复必须控制,以致在使用最近的、未受损的日志组于数据文件后中止恢复操作。基于时间和基于修改的恢复。如果DBA希望恢复到过去的某个指定点,不完全介质恢复是理想的。当用户意外地删除一个表,并注意到错误提交的估计时
23、间,DBA可立即关闭数据库,利用基于时间的恢复,恢复其到用户错误之前时刻。当出现系统故障而使一个在线日志文件的部分被破坏时,所有活动的日志文件突然不能使用,实例被中止,此时需要利用基于修改的介质恢复。在这两种恢复情况下,不完全介质恢复的终点可由时间点或系统修改号(SCN)来指定。33 网络数据库的安全保护网络数据库的安全保护4.3.1.数据库的安全保护层次数据库的安全保护层次 数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此从广义上讲,数据库系统的安全框架可以划分为三个层次:网络系统层次;操作系统层次;数据库管理系统层次。这三个层次构筑成
24、数据库系统的安全体系,与数据库安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。1.网络系统层次安全网络系统层次安全 从广义上讲,数据库的安全首先倚赖于网络系统。网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大的作用离不开网络系统的支持,数据库系统的异地和分布式用户也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。2操作系统层次安全操作系统层次安全操作系统是大型数据库系统的运行平台,为数据库系统提供了一定程度的安全保护。Windows NT 和Unix系统的安全级别通常为C2级。主要安全技
25、术有访问控制安全策略、系统漏洞分析与防范、操作系统安全管理等。访问控制策略用于配置本地计算机的安全设置,具体可以体现在用户账户、口令、访问权限、审计等方面。3数据库管理系统层次安全数据库管理系统层次安全 数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统的安全性机制非常强大,则数据库系统的安全性能就好。目前市场上流行的是关系型数据库管理系统,其安全性功能较弱,这就导致数据库系统的安全性存在一定的威胁。数据库管理系统层次安全技术主要是用来解决当前面两个层次已经被突破的情况下仍能保障数据库数据的安全的问题,这就要求数据库管理系统必须有一套强有力的安全机制。采取对数据库文件进行加密
26、处理是解决该层次安全的有效方法。3.3.2.数据库的审计数据库的审计对于数据库系统,数据的使用、记录和审计是同时进行的。审计的主要任务是对应用程序或用户使用数据库资源的情况进行记录和审查,一旦出现问题,审计人员对审计事件记录进行分析,查出原因。因此,数据库审计可作为保证数据库安全的一种补救措施。安全系统的审计过程是记录、检查和回顾系统安全相关行为的过程。通过对审计记录的分析,可以明确责任个体,追查违反安全策略的违规行为。审计过程不可省略,审计记录也不可更改或删除。数据库审计有用户审计和系统审计两种方式:用户审计。用户审计。进行用户审计时,DBMS的审计系统记录下所有对表和视图的访问及每次操作的
27、用户名、时间、操作代码等信息。这些信息一般都被记录在数据字典中,利用这些信息可以进行审计分析。系统审计。系统审计。系统审计由系统管理员进行,其审计内容主要是系统一级命令及数据库客体的使用情况。数据库系统的审计工作主要包括设备安全审计、操作审计、应用审计和攻击审计等方面。设备安全审计主要审查系统资源的安全策略、安全保护措施和故障恢复计划等;操作审计是对系统的各种操作进行记录和分析;应用审计是审计建立于数据库上整个应用系统的功能、控制逻辑和数据流是否正确;攻击审计是指对已发生的攻击性操作和危害系统安全的事件进行检查和审计。3.3.3 数据库的加密保护数据库的加密保护大型DBMS的运行平台一般都具有
28、用户注册、用户识别、任意存取控制、审计等安全功能。虽然DBMS在操作系统的基础上增加了不少安全措施,但操作系统和DBMS对数据库文件本身仍然缺乏有效的保护措施。有经验的网上黑客也会绕过一些防范措施,直接利用操作系统工具窃取或篡改数据库文件内容。这种隐患被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以觉察。对数据库中存储的数据实现加密是一种保护数据库数据安全的有效方法。数据库的数据加密一般是在通用的数据库管理系统之上,增加一些加密/解密控件,来完成对数据本身的控制。与一般通信中加密的情况不同,数据库的数据加密通常不是对数据文件加密,而是对记录的字段加密。当然,在数据备份到离线的
29、介质上送到异地保存时,也有必要对整个数据文件加密。实现数据库加密以后,各用户(或用户组)的数据由用户使用自己的密钥加密,数据库管理员对获得的信息无法随意进行解密,从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对于企业内部安全管理,也是不可或缺的。1.数据库加密的要求数据库加密的要求一个良好的数据库加密系统应该满足以下基本要求:字段加密密钥动态管理合理处理数据不影响合法用户的操作2.不同层次的数据库加密不同层次的数据库加密可以考虑在操作系统层、DBMS内核层和DBMS外层三个不同层次实现对数据库数据的加密。在操
30、作系统层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,也无法进行合理的密钥管理和使用。所以,在操作系统层对数据库文件进行加密,对于大型数据库来说,目前还难以实现。在DBMS内核层实现加密,是指数据在物理存取之前完成加/解密工作。这种方式势必造成DBMS和加密器(硬件或软件)之间的接口需要DBMS开发商的支持。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。但这种方式的缺点是在服务器端进行加/解密运算,加重了数据库服务器的负载。比较实际的做法是将数据库加密系统做成DBMS的一个外层工具。采用这种加密方式时,加/解
31、密运算可以放在客户端进行,其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。数据库加密的有关问题数据库加密的有关问题 数据库加密系统首先要解决系统本身的安全性和可靠性问题,在这方面,可以采用以下几项安全措施:在用户进入系统时进行两级安全控制防止非法拷贝安全的数据抽取方式定义加密要求工具定义加密要求工具DBMS加密器加密器(软件或硬件软件或硬件)数据库数据库应用系统应用系统图图4.1 DBMS内核层加密关系内核层加密关系加密定义工具加密定义工具加密器加密器(软件或硬件软件或硬件)DBMS数据库数据库应用系统应用系统图图4.2
32、DBMS外层加密关系外层加密关系数据库加密系统结构数据库加密系统结构加密字典加密字典管理程序管理程序加密系统加密系统应用程序应用程序数据库数据库加加/解密解密引擎引擎数据库数据库服务器服务器加密加密字典字典用户用户数据数据图图4.3 数据库加密系统体系结构数据库加密系统体系结构 34 数据备份与恢复数据备份与恢复数据库的故障严重时会导致数据库系统瘫痪,从而导致计算机系统不能正常工作。因此,既要提高数据库系统的可靠性,又要采取措施在数据库出现故障时尽快恢复到数据库的原始状态。这就要采用数据库备份与恢复技术。3.4.1 数据备份数据备份1数据备份的概念数据备份的概念数据备份就是指为防止系统出现操作
33、失误或系统故障导致数据丢失,而将全系统或部分数据集合从应用主机的硬盘或阵列中复制到其它存储介质上的过程。计算机系统中的数据备份,通常是指将存储在计算机系统中的数据复制到磁带、磁盘、光盘等存储介质上,在计算机以外的地方另行保管。数据备份的目的就是为了系统数据崩溃时能够快速的恢复数据,使系统迅速恢复运行。那么就必须保证备份数据和源数据的一致性和完整性,消除系统使用者的后顾之忧。其关键是在于保障系统的高可用性,即操作失误或系统故障发生后,能够保障系统的正常运行。2 数据备份的类型数据备份的类型常用的数据库备份方法有冷备份、热备份和逻辑备份三种。冷备份:冷备份:关闭数据库系统,在没有任何用户对数据库进
34、行访问的情况下进行的备份。热备份:热备份:在数据库正常运行时进行的备份。数据库的热备份依赖于系统的日志文件。逻辑备份:逻辑备份:逻辑备份是使用软件技术从数据库中提取数据,并将结果写入一个输出文件。该输出文件不是一个数据库表,而是表中的所有数据的一个映像。3.数据备份策略数据备份策略备份周期的确定:月/周/日/时备份类型的确定:冷备份/热备份备份方式的确定:增量备份/全部备份备份介质的选择:光盘/磁盘/磁带备份方法的确定:手工备份/自动备份备份介质的安全存放按需进行不同数据内容的几种备份方式。(1)完全备份完全备份(Full Backup)所谓完全备份,就是按备份周期(如一天)对整个系统所有的文
35、件(数据)进行备份。这种备份方式比较流行,也是克服系统数据不安全的最简单方法,操作起来也很方便。有了完全备份,网络管理员可清楚地知道从备份之日起便可恢复网络系统的所有信息,恢复操作也可一次性完成。如当发现数据丢失时,只要用一盘故障发生前一天备份的磁带,即可恢复丢失的数据。但这种方式的不足之处是由于每天都对系统进行完全备份,在备份数据中必定有大量的内容是重复的,这些重复的数据占用了大量的磁带空间,这对用户来说就意味着增加成本。(2)增量备份增量备份(Incremental Backup)所谓增量备份,就是指每次备份的数据只是相当于上一次备份后增加的和修改过的内容,即备份的都是已更新过的数据。比如
36、,系统在星期日做了一次完全备份,然后在以后的六天里每天只对当天新的或被修改过的数据进行备份。(3)差别备份差别备份(Differential Backup)差别备份也是在完全备份后将新增加或修改过的数据进行备份,但它与增量备份的区别是每次备份都把上次完全备份后更新过的数据进行备份。比如,星期日进行完全备份后,其余六天中的每一天都将当天所有与星期日完全备份时不同的数据进行备份。完全备份所需的时间最长,占用存储介质容量最大,但数据恢复时间最短,操作最方便,当系统数据量不大时该备份方式最可靠;但当数据量增大时,很难每天都做完全备份,可选择周末做完全备份,在其它时间采用所用时间最少的增量备份或时间介于
37、两者之间的差别备份。在实际备份应用中,通常也是根据具体情况,采用这几种备份方式的组合,如年底做完全备份,月底做完全备份,周末做完全备份,而每天做增量备份或差别备份。(4)按需备份按需备份除以上备份方式外,还可采用对随时所需数据进行备份的方式进行数据备份。所谓按需备份,就是指除正常备份外,额外进行的备份操作。额外备份可以有许多理由,比如,只想备份很少几个文件或目录,备份服务器上所有的必需信息,以便进行更安全的升级等。3.4.2 数据恢复数据恢复数据恢复是指将备份到存储介质上的数据再恢复到计算机系统中,它与数据备份是一个相反的过程。数据恢复措施在整个数据安全保护中占有相当重要的地位,因为它关系到系
38、统在经历灾难后能否迅速恢复运行。(一)恢复数据时的注意事项(一)恢复数据时的注意事项由于恢复数据是覆盖性的,不正确的恢复可能破坏硬盘中的最新数据,因此在进行数据恢复时,应先将硬盘数据备份。进行恢复操作时,用户应指明恢复何年何月的数据。当开始恢复数据时,系统首先识别备份介质上标识的备份日期是否与用户选择的日期相同,如果不同将提醒用户更换备份介质。由于数据恢复工作比较重要,容易错把系统上的最新数据变成备份盘上的旧数据,因此应指定少数人进行此项操作。不要在恢复过程中关机、关电源或重新启动机器。不要在恢复过程中打开驱动器开关或抽出软盘、光盘(除非系统提示换盘)。(二)数据恢复的类型(二)数据恢复的类型
39、1.全盘恢复全盘恢复全盘恢复就是将备份到介质上的指定系统信息全部转储到它们原来的地方。全盘恢复一般应用在服务器发生意外灾难时导致数据全部丢失、系统崩溃或是有计划的系统升级、系统重组等,也称为系统恢复。2.个别文件恢复个别文件恢复个别文件恢复就是将个别已备份的最新版文件恢复到原来的地方。对大多数备份来说,这是一种相对简单的操作。利用网络备份系统的恢复功能,很容易恢复受损的个别文件。需要时只要浏览备份数据库或目录,找到该文件,启动恢复功能,系统将自动驱动存储设备,加载相应的存储媒体,恢复指定文件。3.重定向恢复重定向恢复重定向恢复是将备份的文件(数据)恢复到另一个不同的位置或系统上去,而不是做备份
40、操作时它们所在的位置。重定向恢复可以是整个系统恢复,也可以是个别文件恢复。重定向恢复时需要慎重考虑,要确保系统或文件恢复后的可用性。1容灾系统和容灾备份容灾系统和容灾备份这里所说的“灾”具体是指计算机网络系统遇到的自然灾难、外在事件(电力或通信中断)、技术失灵及设备受损(火灾)等。容灾就是指计算机网络系统在遇到这些灾难时仍能保证系统数据的完整、可用和系统正常运行。3.4.3 数据容灾数据容灾2数据容灾与数据备份的关系数据容灾与数据备份的关系备份与容灾不是等同的关系,而是两个“交集”,中间有大部分的重合关系。多数容灾工作可由备份来完成,但容灾还包括网络等其他部分,而且,只有容灾才能保证业务的连续
41、性。数据容灾与数据备份的关系主要体现在:数据备份是数据容灾的基础 容灾不是简单备份 容灾不仅仅是技术 3容灾系统容灾系统 容灾系统包括数据容灾和应用容灾两部分。数据容灾可保证用户数据的完整性、可靠性和一致性,但不能保证服务不中断。应用容灾是在数据容灾的基础上,在异地建立一套完整的与本地生产系统相当的备份应用系统.在灾难情况下,远程系统迅速接管业务运行,提供不间断的应用服务,让客户的服务请求能够继续。因此数据容灾是系统能够正常工作的保障;而应用容灾则是容灾系统建设的目标。(1)本地容灾本地容灾本地容灾的主要手段是容错。容错的基本思想就是利用外加资源的冗余技术来达到屏蔽故障、自动恢复系统或安全停机
42、的目的。(2)异地容灾异地容灾异地容灾是指在相隔较远的异地,建立两套或多套功能相同的系统。当主系统因意外停止工作时,备用系统可以接替工作,保证系统的不间断运行。异地容灾系统采用的主要方法是数据复制,目的是在本地与异地之间确保各系统关键数据和状态参数的一致。4数据容灾技术数据容灾技术容灾系统的核心技术是数据复制,目前主要有同步数据复制和异步数据复制两种。数据复制对数据系统的一致性和可靠性以及系统的应变能力具有举足轻重的作用,它决定着容灾系统的可靠性和可用性。1SAN和和NAS技术技术SAN(存储区域网)提供一个存储系统、备份设备和服务器相互连接的架构。他们之间的数据不再在以太网络上流通,从而大大
43、提高以太网络的性能。复制、备份、恢复数据和安全的管理可以以中央的控制和管理手段进行,加上把不同的存储池以网络方式连接,用户可以以任何他们需要的方式访问他们的数据,并获得更高的数据完整性。NAS(Network Attached Storage,网络附加存储)使用了传统以太网和IP协议,当进行文件共享时,则利用了NFS和CIFS(Common Internet File System)以沟通NT和Unix系统。由于NFS和CIFS都是基于操作系统的文件共享协议,所以NAS的性能特点是进行小文件级的共享存取。2远程镜像技术远程镜像技术 远程镜像技术是用在主数据中心和备援数据中心之间数据备份时。两个
44、镜像系统一个叫主镜像系统,另一个叫从镜像系统。按主、从镜像存储系统所处的位置可分为本地镜像和远程镜像。远程镜像又叫远程复制,是容灾备份的核心技术,同时也是保持远程数据同步和实现灾难恢复的基础。远程镜像按请求镜像的主机是否需要远程镜像站点的确认信息,又可分为同步远程镜像和异步远程镜像。同步远程镜像是指通过远程镜像软件,将本地数据以完全同步的方式复制到异地,每一个本地的I/O事务均需等待远程复制的完成确认信息,方可予以释放。当主站点出现故障时,用户的应用程序切换到备份的替代站点后,被镜像的远程副本可以保证业务继续执行而没有数据的丢失。但同步远程镜像系统存在往返传输造成延时较长的缺点,只限于在相对较
45、近的距离上应用。异步远程镜像保证在更新远程存储视图前完成向本地存储系统的基本I/O操作,而由本地存储系统提供给请求镜像主机的I/O操作完成确认信息。远程的数据复制是以后台同步的方式进行的,这使本地系统性能受到的影响很小,传输距离远,对网络带宽要求小。3快照技术快照技术 远程镜像技术往往同快照技术结合起来实现远程备份,即通过镜像把数据备份到远程存储系统中,再用快照技术把远程存储系统中的信息备份到远程的磁带库、光盘库中。快照是通过软件对要备份的磁盘子系统的数据快速扫描,建立一个要备份数据的快照逻辑单元号LUN和快照cache。在快速扫描时,把备份过程中即将要修改的数据块同时快速拷贝到快照cache
46、中。快照LUN是一组指针,它指向快照cache和磁盘子系统中不变的数据块(在备份过程中)。在正常业务进行的同时,利用快照LUN实现对原数据的一个完全备份。4虚拟存储技术虚拟存储技术虚拟存储系统还提供了动态改变逻辑卷大小的功能。可以通过在系统中增加或减少物理磁盘的数量来改变集群中逻辑卷的大小。这一功能允许卷的容量随用户的即时要求动态改变。另外,存储卷能够很容易地改变容量,移动和替换。随着业务的发展,可利用剩余空间根据需要扩展逻辑卷,也可以将数据在线从旧驱动器转移到新的驱动器上,而不中断正常服务的运行。存储虚拟化的一个关键优势是它允许异构系统和应用程序共享存储设备,而不管它们位于何处。系统将不再需要在每个分部的服务器上都连接一台磁带设备。习题与思考三