《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07

上传人:E**** 文档编号:89432772 上传时间:2019-05-25 格式:PPT 页数:56 大小:564KB
返回 下载 相关 举报
《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07_第1页
第1页 / 共56页
《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07_第2页
第2页 / 共56页
《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07_第3页
第3页 / 共56页
《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07_第4页
第4页 / 共56页
《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07》由会员分享,可在线阅读,更多相关《《Oracle9i关系数据库实用教程(第二版)》-蔡立军-电子教案及教学大纲 07(56页珍藏版)》请在金锄头文库上搜索。

1、数据库的备份与恢复,第7章,Oracle9i关系数据库,本章内容安排,7.1 备份与恢复概述,7.2 物理备份与恢复,7.3 逻辑备份与恢复,7.4 高级复制技术,7.5 恢复管理器(RMAN),7.6 Oracle灾难恢复解决方案,7.7 备份与恢复策略,7.8 实例分析,一、数据库的备份,所谓备份 ,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。 Oracle数据库的备份分为物理备份和逻辑备份两种。物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,由于它涉及到组成数据库

2、的文件,但不考虑其逻辑内容。物理备份包括冷备份和热备份两种方式。,(1)冷备份(Cold Backup) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。 (2)热备份(Hot Backup) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。 可以使用 Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物理备份。,逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。逻辑备份可按数据库中某个表、某个

3、用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库是在restrict状态将不能保证导出数据的一致性。Oracle提供的逻辑备份工具是 EXP。数据库逻辑备份是物理备份的补充。,所谓恢复,就是当发生故障后,利用已备份的数据文件或控制文件,重新建立一个完整的数据库。根据出现故障的原因,恢复分为两种类型: 实例恢复:这种恢复是Oracle实例出现失败后,Oracle自动进行的恢复。 介质恢复:这种恢复是当存放数据库的介质出现故障时所做的恢复。本书提到的恢复都是指介质恢复。,二、数据库的恢复,根据数据库的恢复程度,将恢复方法分为两种类型:

4、完全恢复:将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。 不完全恢复:将数据库恢复到数据库失败前的某一时刻数据库的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的,进行不完全恢复后须在启动数据库时用 resetlogs 选项重设联机重做日志。,三、常用术语,1、增量、累积和完全备份 增量备份(Incremental):指只备份上次增量,累积或完全备份以后已改变的那些表。增量导出表的定义和其所有数据,不只是改变的行。 累积备份(Cumulative):指只备份上次完全备份以后已经更改的那些表。 完全备份:用于建立增量备份和累积备份的一

5、个基点。注意: 只有在全数据库方式且具有EXP FULL DATABASE角色的用户,才能做增量、累积和完全备份。,2、在线日志与归档日志 在线日志:一个Oracle数据库的每一实例有一个相关联的在线日志。一个在线日志由多个在线日志文件组成。在线日志文件填入日志项,日志项记录的数据用于重构对数据库所作的全部修改。后台进程LGWR以循环方式写入在线日志文件。在线日志可在重用前被保存下来,成为归档日志。 归档日志:Oracle要将填满的在线日志文件组归档时,则要建立归档日志,或称离线日志。归档机制决定于归档设置,归档已填满的在线日志组的机制可由Oracle后台进程ARCH自动归档或由用户进程发出语

6、句手工地归档。,3NOARCHIVELOG方式与ARCHIVELOG方式 数据库可运行在两种不同方式下:NOARCHIVELOG方式或ARCHIVELOG方式。数据库在NOARCHIVELOG方式下使用时,不能进行在线日志的归档。该数据库控制文件指明填满的组不需要归档,所以当填满的组成为活动,在日志开关的检查点完成,该组即可被LGWR重用。在该方式下仅能保护数据库实例故障,而不能免于介质故障。只有最近的存储于联机重做日志组中的数据库的修改才可以用于实例或崩溃恢复。 如果数据库在ARCHIVELOG方式下,可实施在线日志的归档。在控制文件中指明填满的日志文件组在归档之前不能重用。一旦组成为不活动

7、,执行归档的进程立即可使用该组。,4分布式数据库技术 分布式数据库技术是分布式计算的一个重要组成部分,该技术允许数据在多个服务器端共享。采用分布式数据库技术,一个本地服务器可以存取不同物理地点的远程服务器上的数据;也可以使所有的服务器均可以持有数据的拷贝/复制,这样分布式系统中的所有服务器均可进行本地存取。,5同步复制和异步复制 同步复制指复制数据在任何时间在任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点。 异步复制指所有复制节点的数据在一定时间内是不同步的。如果复制环境中的其中的一个节点的复制数据发生了更新操作,这种改变将

8、在不同的事务中被传播和应用到其他所有复制节点,复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。,6更新冲突 在异步复制环境中,对于所有应用最关键的就是要确保数据的一致性。如果在同一时间对同一个表的同一行数据的同一列在两个不同的地点作更新,这种情况就会发生称之为更新冲突的错误。为保证数据的一致性,更新冲突必须被检测到并且处理以确保在不同地点的数据元素保持同样的值。更新冲突可以通过限制“所有权”到单一节点或者将更新某个特定数据元素的权利限制到某一具体节点的方法来避免。,冷备份又称脱机备份,必须在数据库已经正常关闭的情况下进行,此时,系统会提供给用户一个完整的数据库。 冷

9、备份时可以将数据库使用的每个文件都备份下来,这些文件包括: 所有控制文件(文件后缀名为.CTL,默认路径Oracleoradataoradb) 所有数据文件(文件后缀名为.DBF,默认路径Oracleoradataoradb) 所有联机REDO LOG文件(文件形式为REDO*.*,默认路径Oracleoradataoradb) 初始化文件INIT.ORA(可选)(默认路径Oracleadminoradbspfile),一、冷备份与恢复,冷备份是最快和最安全的方法。 冷备份的优点是: (1)是非常快速的备份方法(只需拷贝文件)。 (2)容易归档(简单拷贝即可)。 (3)容易恢复到某个时间点上(

10、只需将文件再拷贝回去)。 (4)能与归档方法相结合,作数据库“最新状态”的恢复。 (5)低度维护,高度安全。,在SQL*Plus中进行冷备份,相应语句为: 备份(关闭数据库后) SQLDBA!cp或SQLDBA!tar cvf /dev/rmd/0/wwwdg/oracle; 恢复(启动数据库后) SQLDBA!recover datafile “E:dloradatatest.dbf”; test.dbf为需要恢复的数据库。,热备份要求数据库必须在归档方式下操作,由于热备份需要消耗较多的系统资源,因此DBA应安排在数据库不使用或使用率较低的情况下进行。 热备份的优点是: (1)可在表空间或数

11、据文件级备份,备份时间短。 (2)备份时数据库仍可使用。 (3)可达到秒级恢复(恢复到某一时间点上)。 (4)可对几乎所有数据库实体作恢复。 (5)恢复是快速的,在大多数情况下在数据库仍工作时恢复。,二、热备份与恢复,热备份的不足是: (1)不能出错,否则后果严重。 (2)若热备份不成功,所得结果不可用于时间点的恢复。 (3)较难维护,必须仔细小心,不允许失败。 可以使用SQL*Plus程序和OEM中的备份向导两种方法进行热备份。,备份过程: (1)查看数据库是否己经启动归档日志: archive log list; 如果归档日志模式没有启动,则打开数据库的归档日志模式,先使用shutdown

12、 immediate命令关闭数据库,然后使用如下命令启动数据库: startup mount; (2)修改数据库的归档日志模式: alter database archivelog;,(3)查看数据库中的表空间文件: select filename from dba_data_files; (4)使数据库表空间处于热备份状态; alter tablespace example begin backup; (5)此时可以直接将表空间数据文件复制到另一个目录中进行备份,复制完成后使用如下命令完成数据的备份: alter tablespace example end backup;,恢复: (1)首

13、先使出现问题的表空间处于脱机状态: SQLalter database datafile d:oracleoradataoradbexample0l.dbf offline; (2)将原先备份的表空间文件复制到其原来所在的目录,并覆盖原有文件。,(3)使用 recover命令进行介质恢复,恢复example表空间: SQLrecover datafile d:oracleoradataoradbexample0l.dbf; (4)将表空间恢复为联机状态: SQLalter database datafile d:oracleoradataoradbexample0l.dbf online; 至

14、此表空间数据恢复完成。,1基于Cancel的恢复 使用基于Cancel的恢复,可以把数据库恢复到错误发生前的某一状态。具体步骤如下: (1)当遇到数据库错误时,首先使用shutdown immediate命令关闭数据库,然后将备份的数据复制到相应的目录中。 (2)使用startup mount命令启动数据库。 (3)使用recover命令对数据库进行基于Cancel的恢复: SQLrecover database until cancel; (4)恢复完成后,使用RESETLOGS模式启动数据库即可: SQLalter database open resetlogs;,三、几种非完全恢复方法,

15、2基于时间的恢复 使用基于时间的恢复,可以把数据库恢复到错误发生前的某一时间的状态。具体步骤如下: (1)当遇到数据库错误时,首先使用shutdown immediate命令关闭数据库,然后将备份的数据复制到相应的目录中。 (2)使用startup mount命令启动数据库。 (3)使用recover命令对数据库进行基于时间的恢复: SQLrecover database until time 12-20-2003,08:17:48; (4)恢复完成后,使用RESETLOGS模式启动数据库即可: SQLalter database open resetlogs;,3基于SCN的恢复 使用基于S

16、CN的恢复,可以把数据库恢复到错误发生前的某一个事务前的状态。具体步骤如下: (1)当遇到数据库错误时,首先使用shutdown immediate命令关闭数据库,然后将备份的数据复制到相应的目录中。 (2)使用startup mount命令启动数据库。 (3)使用recover命令对数据库进行基于SCN的恢复: SQLrecover database until change 470786058; (4)恢复完成后,使用RESETLOGS模式启动数据库即可: SQLalter database open resetlogs;,又称导出/导入,导出是数据库的逻辑备份,导入是数据库的逻辑恢复。可以将Oracle9i中的数据移出/移入数据库。这些数据的读取与其物理位置无关。“导出”文件为二进制系统文件,导入时先读取导出的转储二进制文件,并运行以恢复数据库。 Oracle的逻辑备份可以通过两种方法来实现,一种是通过DOS环境下的EXP/IMP命令,完成备份的工作;一种就是通过OMS管理器中的导出工具

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号