欢迎来到天天文库
浏览记录
ID:40406528
大小:243.51 KB
页数:31页
时间:2019-08-01
《Oracle数据库备份与恢复(理论)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Oracle数据库备份与恢复引言Oracle作为数据库的工业标准,在企业界得到了广泛的应用。为避免数据丢失和数据库失效对企业的影响,必须保持数据库的完整性和可用性。数据库管理员DBA的主要职责之一就是备份数据库和在数据库发生故障时高效、安全地恢复数据库。备份就是把数据库复制到磁带、磁盘等存储设备的过程,以供故障发生时执行数据库恢复。数据库常见故障类型事务内部故障系统故障介质故障计算机病毒Oracle数据库保护机制数据库备份事务日志数据库的事务日志是一组操作系统文件,它记录了提交事务所做的数据库修改。当提交事务时,在修改数据
2、库之前,Oracle在事务日志中写入足够的信息,如果数据库需要恢复,可以使用这些信息重做事务(包括UNDO和REDO)。数据库恢复恢复可以分为完全恢复和不完全恢复完全数据库恢复是恢复到故障发生前的状态,所有已经提交的操作都进行恢复,确保数据库不丢失任何数据,完全恢复只用于归档模式。不完全数据库恢复是将数据库恢复到备份点与介质失败点之间某个时刻的状态,并不是恢复所有提交的操作,不完全恢复可能丢失部分数据。任何类型的恢复包括两个阶段:前滚阶段和回滚(回退)阶段。前滚阶段在前滚恢复阶段(roll-forwardrecovery)
3、,恢复管理器应用必要的事务日志组“重做”(REDO)所有提交的不在数据库数据文件中的事务。回滚阶段在前滚恢复后,Oracle必须执行回滚恢复(roll-backrecovery)。由于一些未完成的事务对数据库的修改信息已经提交到数据库,为保证数据库的一致性,需要清除这些事务对数据库的修改,数据库应执行回滚操作(UNDO),强制撤销这些未完成事务。前滚和回滚的执行除了管理员或应用程序调用外,执行前滚操纵还是回滚操作与检查点的出现相关12345检查点系统故障上一检查点无前滚回滚前滚回滚故障时需要的动作恢复数据库所使用的结构数据
4、库备份当介质故障时进行数据库恢复,利用备份文件恢复损坏的数据文件或控制文件。日志每一个Oracle数据库实例的日志记录了数据库所作的全部修改。回退段回退段用于存储正在进行的事务(未提交的事务)所修改数据的老数据,该信息在数据库恢复过程中用于撤销任何非提交的修改。控制文件一般用于存储数据库的物理结构的状态,控制文件中的某些状态信息在实例恢复和介质恢复期间用于引导Oracle。不完全恢复Oracle和恢复管理器支持三种不同类型的不完全恢复基于时间(TIME)的恢复基于时间的恢复也叫时间点恢复,它将数据库中提交事务的工作恢复到一
5、个特定的时间点为止。基于修改(SCN)的恢复基于修改的恢复是将数据库中提交事务的工作恢复到一个特点的系统修改序列号SCN为止,Oracle为每个提交事务分配了一个唯一的SCN。一般来说,如果知道数据库恢复的最后一个事务的SCN,那么可以执行基于修改的恢复。基于取消的恢复。基于取消(CANCEL)的恢复是将数据库中提交的事务恢复到一个特定日志组。事务与并发事务事务(transaction)是数据库的逻辑工作单元,是用户定义的一组操作序列,如一组SQL语句,一条SQL语句或整个程序。通常情况下,一个应用程序包括多个事务。在SQ
6、L中,定义事务,以Begin开始,以Commit或Rollback结束。事务开始BEGIN处理IF成功提交COMMITELSE回滚ROLLBACK事务属性(1)原子性:事务是数据库最小的工作单元,是不可分的。事务中的操作要么都做,要么都不做。(2)一致性:事务执行前后,数据库都应处于数据一致的状态。当数据库只包含成功提交事务的结果时,我们就说数据库处于一致性状态。(3)隔离性:尽管多个事务可以并发,但相互不干扰,隔离性要求事务不查看其他事务的中间阶段。(4)持久性:事务成功完成后,对数据库的改变必须是持久的。事务成功执行后
7、系统故障,应能恢复对数据库的更改(Undo),如果事务执行时系统出现故障,应该允许系统在重新启动后完成未完成的事务操作(Redo),保证事务的完整性,事务是一个执行单元,也是一个恢复单元。并发现象并发操作如果不进行适当的控制,可能导致数据库中数据的不一致性。并发操作带来的不一致性包括四类:丢失更新、读脏数据、不可重复读和幻像读。四个隔离级别未提交读发生(readuncommitted):读取数据时,不发出共享锁,也不接受排它锁,出现读脏数据。提交读(readcommitted):读取数据时,使用共享锁,在该级别上,不会出现
8、读脏数据。可重复读(repeateableread):持有锁直到事务结束。不会出现读脏数据和不可重复读。可序列化(serializable):防止其他用户更新或插入满足事务WHERE子句条件的新行,不会出现幻像读。用户与资源每一个Oracle数据库有一组合法的用户,合法用户可存取该数据库,可运行该数据库
此文档下载收益归作者所有