《oracle备份与恢复》PPT课件.ppt_第1页
《oracle备份与恢复》PPT课件.ppt_第2页
《oracle备份与恢复》PPT课件.ppt_第3页
《oracle备份与恢复》PPT课件.ppt_第4页
《oracle备份与恢复》PPT课件.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,备份与恢复,数据库备份与恢复的目的: 数据库系统在运行中可能发生故障,轻则导致事务异常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分或全部丢失。 数据库备份与恢复的目的就是为了保证在各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致的状态。 数据库的不一致状态: 如果数据库系统在运行中发生故障,有些事务尚未完成就被迫中断。这些未完成事务对数据库所做的修改有一部分写入物理数据库,这时数据库就处于一种不正常的状态,或者说是不一致的状态。,2,9.1.1 故障及故障处理,1、事务故障 由于某种原因(数据输入错误、违背安全性条件、违反了完整性限制、并发事务竞争资源导致死锁等)使事务未运行到正常终止点而夭折,这种情况就称为事务故障。此时数据库系统仍然在运行。 恢复办法:恢复程序要在不影响其它事务运行的情况下, 强行回滚该事务,即清除该事务对数据库的所有修改,使得系统回到该事务启动前的状态。 由数据库系统的恢复程序自动处理事务故障。,3,2、系统故障 系统故障将导致所有正在运行的事务以非正常方式终止。此时内存中数据库缓冲区的数据全部丢失,但物理数据库上的数据未受影响。 引起系统故障的原因:OS或DBMS系统有问题、硬件错误、突然停电等。 恢复办法: 重起系统后,恢复程序一方面强行撤消所有未完成的事务。另一方面重做所有已提交的事务(可能发生故障时有数据没来得及存入物理数据库),以保证数据库的逻辑一致性。 由数据库系统的恢复程序自动处理系统故障。,9.1.1 故障及故障处理,4,9.1.1 故障及故障处理,3、介质故障 硬件故障导致物理数据库受损。介质故障发生的可能性小,但破坏性最大。 恢复办法:恢复工作是系统按照DBA的命令完成的 把发生故障前备份的数据库数据装入到系统中,同时把从备份终止时刻已成功提交的事务重做(根据联机日志文件和归档日志文件记载的内容)。,正常运行,故障时刻,备份,恢复,重装备份副本,重新运行已提交的事务,5,9.1.2 重做日志 重做日志记载了对数据库所做的任何修改。 重做日志的目的是用来恢复事务故障、系统故障、并协助后备副本进行介质故障的恢复。 以记录为单位的日志文件内容:,事务开始标记 事务的更新操作类型(插入、删除、修改) 操作的对象 更新前数据的旧值 更新后数据的新值 事务结束标记,事务 记录,出现事务结束标志表示事务已提交,6,数据库系统只有工作在归档模式下, 联机日志文件在重新被写入前,才能自动归档。 系统必须依靠当前的日志文件和已经归档的日志文件才能有效地恢复故障。,9.1.2 重做日志,7,联机日志,归档日志,8,日志写入进程,Log1a.log,Log2a.log,Log3a.log,Log1b.log,Log2b.log,Log3b.log,镜像拷贝联机重做日志文件,9,Log1a.log,Log2a.log,Log3a.log,归档,oracle200001.arc,.,.,10,查看系统是否工作在归档模式 (1) SQL select name, log_mode from v$database; NAME LOG_MODE - - ORACLE2 NOARCHIVELOG (2) 在服务器管理器下,执行下列命令: svrmgr archive log list,11,利用实例管理器设置归档模式,12,在初始化参数文件中设置有关归档语句 log_archive_start=TRUE log_archive_dest=e:archives log_archive_format =“oracle2%S.ARC”,这将使数据库实例启动时处于归档方式,并且规定归档日志文件的存放位置以及归档日志文件的命名格式。,13,查找外部文件的位置 1、查询与数据库相联系的所有数据文件,SQL select name from v$datafile; NAME - C:ORACLEORADATAORACLE2SYSTEM01.DBF C:ORACLEORADATAORACLE2RBS01.DBF C:ORACLEORADATAORACLE2USERS01.DBF C:ORACLEORADATAORACLE2TEMP01.DBF C:ORACLEORADATAORACLE2TOOLS01.DBF C:ORACLEORADATAORACLE2INDX01.DBF C:ORACLEORADATAORACLE2DR01.DBF,14,查找外部文件的位置 2、查询与数据库相联系的所有日志文件,SQL select group#, member from v$logfile; GROUP# MEMBER - 1 C:ORACLEORADATAORACLE2REDO03.LOG 2 C:ORACLEORADATAORACLE2REDO02.LOG 3 C:ORACLEORADATAORACLE2REDO01.LOG,15,查找外部文件的位置 3、获得控制文件的位置,SQL select name from v$controlfile; NAME - C:ORACLEORADATAORACLE2CONTROL01.CTL C:ORACLEORADATAORACLE2CONTROL02.CTL C:ORACLEORADATAORACLE2CONTROL03.CTL,16,查找外部文件的位置 4、获得归档的Redo日志信息,若系统工作在归档模式下,在初始化参数文件或实例管理器中可了解归档文件的有关信息,例如: log_archive_start=TRUE log_archive_dest=e:archives log_archive_format =“oracle2%S.ARC”,17,查找外部文件的位置 5、获得表空间信息,SQL select tablespace_name from dba_tablespaces TABLESPACE_NAME - SYSTEM RBS USERS TEMP TOOLS INDX DRSYS,18,9.1.3 数据库备份模式 1、归档模式 允许将联机重做日志文件归档,历史修改记录被有效保存,当系统发生介质故障时,能够全面恢复系统。 备份数据库的最佳方法: 镜像拷贝联机日志文件、镜像拷贝控制文件。 系统工作在归档模式下。 在归档模式进行热备份(将每个表空间设置为备份模式,在数据库运行情况下,将表的一致性视图备份出来)。 转到归档模式后,应立即进行备份。,19,9.1.3 数据库备份模式 1、归档模式,镜像拷贝联机日志文件,(1)了解日志文件组的情况 Select group# member from v$logfile; Group# member c:orantdatabaselog1adest.log c:orantdatabaselog2adest.log 2 d:orantdatabaselog2bdest.log,20,镜像拷贝联机日志文件,(2)添加新的日志文件,ALTER DATABASE oracle1 ADD LOGFILE MEMBER d:redo_logslog1b.log TO GROUP 1;,(3)添加新的日志文件组 ALTER DATABASE oracle1 ADD LOGFILE GROUP 3 ( c:redo_logslog3a.log d:redo_logslog3b.log) SIZE 100K;,21,镜像拷贝控制文件,控制文件包含了大量数据库状态信息,如数据库的物理结构和重做日志文件在当时的状态。,了解控制文件的数量,Select * from v$controlfile ;,C:oracledatabaseoracle1control01.ctl C:oracledatabaseoracle1control02.ctl C:oracledatabaseoracle1control03.ctl,22,镜像拷贝控制文件,控制文件应存放在不同的介质上: (1)关闭数据库 (2) 把控制文件拷贝到不同的位置上; (3)编辑初始化参数文件以便定义新的控制文件; control_files=(C:oracledatabaseoracle1control01.ctl, d:oracledatabaseoracle1control02.ctl, e:oracledatabaseoracle1control03.ctl),23,保证激活归档进程 (1)、系统工作在归档模式下 利用数据库系统的实例管理器设置归档方式。 (2)、或者在初始化参数文件中设置有关语句 log_archive_start=TRUE log_archive_dest=e:archives log_archive_format =“oracle1%S.ARC,24,做热备份:备份数据文件,热备份:当数据库正在运行时进行的数据库备份过程。当数据库处在可归档日志模式下,可使用热备份。 有些关键数据库应用系统可能需要数据库每天24小时,每周7天的运行,就应该使用热备份。 热备份的优点: * 备份时,数据库可以是打开的。 * 可用来全面恢复数据库(可用来在任何一点上恢复)。,25,做热备份:备份数据文件,热备份的缺点: * 执行过程复杂 * 不能使用操作系统实用工具拷贝打开的文件。必须使 用OCOPY.exe工具(Oracle提供的工具,允许从打 开 的文件拷贝到磁盘) * 由于数据库在使用,所以测试比较复杂。 热备份可能造成CPU、I/O系统过载而影响系统的性能。因此,应把热备份安排在数据库不太忙的时候。,26,热备份的步骤: 1、拷贝init.ora文件到备份目录。 2、把表空间设为备份模式 3、使用OCOPY拷贝表空间,然后结束表空间的备份 模式。 4、对数据库的每个表空间,执行步骤2和步骤3。 5、在服务器管理器上执行 archive log list 命令,获得 当前的日志顺序号。这表明最后的在线归档日志文件 应是热备份的一部分。 6、强迫日志切换以便所有的日志都被归档: svrmgr alter system switch logfile; 7、获得一个控制文件的备份。 8、使用 Windows NT的命令行拷贝工具,把归档的日志 文件备份出来。,做热备份:备份数据文件,27,热备份逻辑示意图,备份表空间,备份归档日志,备份完成时刻,在线归档,故障时刻,28,做热备份:备份数据文件,归档日志文件和初始化文件(init.ora)在热备份时被关闭了, 可以使用Windows NT的实用工具拷贝它们。,29,查找必须备份的归档日志: (1)以 system/manager 身份连接到服务器管理器上。 (2)查找最老的在线日志顺序号: svrmgr archive log list database log mode ARCHIVELOG automatic archival ENABLED atchive destination e:archives oldest online log sequence 48 next log sequence to archive 50 current log sequence 50,做热备份:查找必须备份的归档日志,所有从最老的在线日志顺序号开始的归档日志都应是在线备份的一部分。,30,把表空间设为备份模式,用OCOPY拷贝表空间, 然后结束表空间的备份模式。 以备份USERS表空间为例: Sql alter tablespace USER begin backup; Sql $ ocopy c:ORACLEORADATAORACLE2 USERS01.DBF d:backup USERS01.DBF; Sqlalter tablespace USER end backup; Sqlalter system checkpoint; 每次备份完一个表空间数据,都要修改检查点,做热备份:备份数据文件,31,Sqlalter database backup controlfile to d:backcontrol.bkp reuse;,做热备份:备份控制文件,32,热备份工具 (1)把热备份的内容生成脚本文件,在SQL*PLUS下运行。 (2)利用Oracle的备份管理器。,33,9.1.3 数据库备份模式,2、非归档模式 历史修改记录不能作为归档日志文件永久保存,只能保存近期的交易记录。当数据库损坏时,将丢失数据。 此种方式只能依靠当前联机日志文件对现场失败进行恢复。 只能进行冷备份:关闭数据库,备份所有文件。,34,关于冷备份,冷备份:关闭数据库实例,用操作系统的实用工具备份数据文件。,关闭数据库, 开始备份,故障时刻,备份,恢复,重装备份副本,数据丢失,无法恢复,备份完成,如果没有启用归档模式,数据库只能恢复到备份完成时的状态。,35,关于冷备份,如果启用归档模式,从冷备份结束后到出现故障这段时间的数据库恢复,可以利用联机日志文件和归档日志文件实现。,关闭数据库, 开始备份,故障时刻,备份,恢复,重装备份副本,恢复丢失数据,备份完成,36,关于冷备份,在归档模式下的恢复办法: (1) 把恢复时刻的当前日志文件、归档日志文件、控制文件保存安全地方,以免它们被旧的日志文件、归档日志文件、控制文件覆盖。 (2)从备份中恢复文件,并用当前的日志文件、归档日志文件、控制文件代替来自备份的旧日志。 (3)Oracle检查当前的控制文件和日志文件,发现与所恢复文件中的信息不匹配。 Oracle将提示需要数据库恢复。 (4)通知Oracle利用归档日志恢复数据库。,37,关于冷备份,步骤: 1、关闭数据库 2、备份所有相关的数据库文件: 数据文件 控制文件 Redo 日志 归档的 Redo 日志 初始化文件,38,逻辑备份:采用Export/Import,优点: 能容易快速地进行一个或更多单个表或行恢复。 升级数据库时,更加方便。 跨平台移动数据库时,更加方面。 数据库可一直运行。,目的:保护用户或应用错误(用户或应用偶而删除一行和数据库表造成的数据丢失),39,逻辑备份:采用Export/Import,注意事项: 1、逻辑备份不能代替冷备份或热备份。冷备份或热备份 是对物理数据库文件的冷备份或热备份。逻辑备份是 对特定的逻辑对象的备份。 2、冷备份或热备份用于数据库发生介质故障时的恢复。 逻辑备份用于用户或应用偶而删除一行和数据库表造 成的数据丢失的恢复。 3、不可能在导入中应用归档日志文件从而使它恢复到导出执行后的某一时间点。,40,数据库恢复步骤,1、确保数据库已经关闭(使用abort操作) 2、用最后的数据库备份恢复丢失的数据文件。 3、如果当前控制文件丢失,使用镜像版本复制到已修好的磁盘中。 4、找到所有已归档的日志。 5、以INTERNAL身份登录后,在服务器管理器下执行恢复命令: Svrmgrstartup mount Svrmgr Set autorecovert on Svrmgr Recover database; 6、恢复完成后,重起系统: Svrmgr alter database open;,41,利用Oracle的恢复管理器进行备份与恢复,认识 Recovery Manager(RMAN): 1、RMAN的组成 (1)RMAN可执行部分 (2)目标数据库 (3)恢复目录 (4)通道,恢复目录,RMAN,目标数据库,目标控制文件,42,认识 Recovery Manager(RMAN): 2、RMAN 可执行部件 RMAN 可执行部件是一个PROC*C 应用程序,将RMAN命令翻译成顺序PL/SQL调用: * dbms_backup_restore 在目标数据库上执行备份和恢复操作。 * dbms_rcvman: 查询恢复目录和数据库控制文件获得信息来执行备份和恢复操作。 * dbms_rcvcat 用来更新一个恢复编目。,43,认识 Recovery Manager(RMAN): 3、目标数据库: 指在执行数据备份/恢复操作的数据库。 4、恢复目录 恢复目录是一个存储在Oracle数据库中的信息容器,包括如下的恢复信息: * 目标数据库的模式 * 备份集和块 * 数据文件的拷贝 * 归档重做日志 * 可重用的脚本。 最好不要把恢复目录存放在要执行恢复的数据库中。,44,认识 Recovery Manager(RMAN): 5、通道 恢复管理器通道有两个含义: * 实现到目标数据库的连接。 * 用于操作的I/O设备类型和名称的定义。 当执行诸如备份、映像拷贝、或恢复当任务时,恢复管理器至少分配一个通道,多个通道可实现并行操作。 Create job bkup_full_01 Allocation channel t1 type disk; Allocation channel t2 type disk; Backup full; ,45,认识 Recovery Manager(RMAN):,6、RMAN支持两种类型的备份 (1)备份集 备份集是一组同一类型的备份文件。 例如一个数据文件备份集、一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论