第十四讲备份与恢复教学课件.ppt

上传人:sccc 文档编号:4749561 上传时间:2023-05-13 格式:PPT 页数:63 大小:772.53KB
返回 下载 相关 举报
第十四讲备份与恢复教学课件.ppt_第1页
第1页 / 共63页
第十四讲备份与恢复教学课件.ppt_第2页
第2页 / 共63页
第十四讲备份与恢复教学课件.ppt_第3页
第3页 / 共63页
第十四讲备份与恢复教学课件.ppt_第4页
第4页 / 共63页
第十四讲备份与恢复教学课件.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《第十四讲备份与恢复教学课件.ppt》由会员分享,可在线阅读,更多相关《第十四讲备份与恢复教学课件.ppt(63页珍藏版)》请在三一办公上搜索。

1、第十四讲 备份与恢复,本章学习目标 备份与恢复技术能够在不可避免的情况发生时保证用户的数据安全。本章将介绍备份与恢复的基本概念、冷备份与热备份的区别,以及完全恢复的实现。,14.1 Oracle 的备份与恢复机制14.2 数据库归档模式14.3 数据库的物理备份14.4 数据库恢复,14.1 Oracle 的备份与恢复机制,14.1.1 故障14.1.2 数据库的备份14.1.3 数据库的恢复,14.1.1 故障,基于Oracle数据库的应用环境中,各种原因引起的故障通常可以归纳为以下几种类型:语句故障 进程故障 实例故障 用户错误 介质故障,语句故障,产生语句故障的原因可能有以下几个方面。应

2、用中存在逻辑错误。输入的数据有问题,主要是数据类型不匹配、不符合完整性约束等。执行无权限的操作。用户试图创建表或索引,但是却不具备足够的表空间配额。用户试图对表执行插入或更新操作,这些操作将引发扩展区的分配操作,但是表空间配额不足或者表中扩展区的数量已经达到上限。,语句故障的排除,语句故障通常并不需要DBA采取任何干预措施,产生错误的SQL语句会被Oracle自动回退,数据库不会因为语句故障而产生任何错误或不一致的状态。应用程序开发人员或者DBA只需要利用Oracle返回的错误信息来找到故障原因,然后排除故障并重新执行语句即可。,进程故障,进程故障是指用户进程、服务进程或数据库后台进程由于某种

3、原因而意外终止,比如由于用户强行关闭了一个SQL*PLUS窗口,或者用户应用程序由于非法操作而退出等,进程故障的恢复,Oracle后台进程PMON能够自动监测到存在故障的Oracle进程。如果发生故障的是一个用户进程或服务进程,PMON进程将自动对它们进行恢复。PMON进程的恢复工作包括:(1)回退故障进程的当前事务。(2)释放故障进程所占用的所有资源。如果意外终止的是一个后台进程,那么实例很可能将无法继续正常工作。这时你需要关闭实例然后再重新启动它,随后将发生的就是实例恢复过程。,实例故障,实例故障是指当由于某种原因而导致数据库实例无法继续工作。导致实例故障的原因有如下几种:电源故障导致数据

4、库服务器不可用。数据库服务器的硬件问题导致的不可用,例如CPU和内存故障等,或者操作系统的失败。Oracle的后台进程发生错误。,实例故障的恢复,关闭例程,并用STARTUP命令重新启动例程数据库被装载后,Oracle在打开数据库为用户登录之前进行例程恢复通过读例程alert.log文件和其它在例程失败时产生的跟踪文件来调查失败的原因例程恢复使数据库恢复到例程失败前的完整事务状态,用户错误,导致用户错误的原因很多,最主要的是操作错误。比如:意外地删除了一个表。意外地删除了表中所有的记录。用户提交了对表所做的修改,但是却发现修改中存在错误。,用户错误的恢复,用户错误无法由Oracle本身来自动恢

5、复的,它需要DBA的干预来进行恢复。如果包含错误的对象(比如表)具有逻辑备份,那么可以利用Import工具将它重新导入;如果没有逻辑备份,那么可以试图利用LogMiner所提供的对象级恢复功能恢复这个对象。最坏情况下就对数据库进行一次不完全恢复,将数据库恢复到发生用户错误之前的那个时刻。,介质故障,数据库文件所在的磁盘驱动器的磁头发生故障。数据库文件进行读写操作时发生的物理读写错误。数据库文件被意外删除。,介质故障的恢复,数据库管理员能够做的是根据现有的备份,在尽可能短的时间内尽可能减少数据的丢失,使数据库能够重新提供给用户使用。成功的恢复策略取决于以下两个方面的条件:选择的备份方法以及受介质

6、故障影响的数据库文件。如果使用了归档,可以通过应用从最近一次备份以来生成的归档重做日志来恢复数据。,14.1.2 数据库的备份,所谓备份,就是把数据库复制到转储设备的过程。对于Oracle数据库来说,需要复制的不仅仅是用户数据,还包括一些重要的数据库组件,比如控制文件、数据文件等。在发生数据丢失或应用程序错误时,可以利用备份来重新建立应用程序所需的数据与环境。备份可以分为“物理备份”与“逻辑备份”两种类型,物理备份,物理备份是数据库物理结构的操作系统文件的备份,也就是说,将数据库的数据文件、日志文件、控制文件以及参数文件,用操作系统工具复制到磁盘或磁带。物理备份的方式有冷备份和热备份两种。,冷

7、备份,主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、重做日志文件、归档日志、配置文件。,热备份,指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。,逻辑备份,逻辑备份是指利用Export等工具通过执行SQL语句的方式将数据库中的数据读取出来,然后再写入到一个二进制文件中。在需要恢复时候,可以利用Import等工具从这个二进制文件中读取数据,并通过执行SQL 语句的方式将它们写入到数据库中。逻辑备份通常作为物理备份的一种补充方式。与物理备份相比,通过逻辑备份导出的数据与数据库文件完全脱

8、离了关系,并且可以被导入到其他的数据库,甚至运行于其他操作平台的数据库中,因此具有更大的灵活性。,14.1.3 数据库的恢复,恢复是指在故障引起数据库瘫痪以及状态不一致后,将数据库恢复到某个正确状态或一致状态。Oracle数据库的恢复实际上包含了两个概念:数据库修复与数据库恢复。,数据库修复,数据库修复是指利用备份的数据库文件来替换已经损坏的数据库文件对数据库进行物理备份,保留的只是数据库在进行备份时刻的一个精确副本。通过数据库修复可以将数据库恢复到进行备份的那个时刻。,数据库恢复,如果将数据库恢复到发生故障前的那个时刻,就必须通过应用归档重做日志和联机重做日志的方式进行数据库恢复。先将数据库

9、恢复到进行备份时的状态,然后再在数据库备份的基础上,通过应用重做数据而重现从备份时刻开始到故障发生之前这一段时间中所有的数据修改操作,从而将数据库恢复到故障发生之前的状态,Oracle数据库使用SCN(System Change Number)来作为数据库的唯一时间戳,也就是说使用SCN可以唯一标识某个时刻的数据库状态。实例恢复是Oracle自动进行的,本课仅涉及介质恢复。根据数据库的恢复程度,介质恢复分为完全恢复和不完全恢复。,完全恢复,将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的通过查看控制文件,Oracle便可知道所有数据文件应该记录的S

10、CN号,如果某个文件没有包含当前的SCN号,则需要恢复。通过查看需要恢复的文件的SCN号,Oracle知道该从哪里重新执行事务完全介质恢复可恢复全部丢失的数据,使数据库恢复到最新状态。但是,这种状况必须保证连续的归档日志记录可以使用。,不完全恢复,假如一个归档日志文件遗失,在用户执行完全恢复的过程中,Oracle不能跳过一个归档日志并继续恢复,只有将数据库恢复到数据库失败前的某一时刻数据库的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的。,14.2 数据库归档模式,数据库备份与恢复方法的确定与数据库归档方式有直接关系。如果选择了通过日志进行数据库恢复的备份方法,则数据库必须运行在

11、归档模式下,只有归档模式才会产生归档日志,而只有产生归档日志,数据库才可能实施恢复。,非归档模式,联机重做日志 文件,052,没有归档历史,054,054,053,053,LGWR,归档模式,联机重做日志 文件,LGWR,归档日志文件,054,054,053,053,053,052,051,日志历史,归档日志文件的配置,ARCH,LOG_ARCHIVE_DEST_n=/archive/arch,LOG_ARCHIVE_FORMAT=%s.arc,/archive/arch052.arc,归档日志文件,联机重做日志文件,053,053,052,Group 2,052,052,Group 1,改变

12、数据库的归档模式,使用ALTER DATABASE ARCHIVELOG命令实现,步骤如下:(1)SQLshutdown immediate(2)SQLstartup mount(3)SQLalter database archivelog;(4)SQLalter database open;,启动ARCH进程,系统自动启动:修改初始化参数LOG_ARCHIVE_START=TRUE 重新启动数据库手工启动参数LOG_ARCHIVE_START=FALSE ALTER SYSTEM ARCHIVE LOG START TO/dbs/arch;,数据库创建时设置初始化参数LOG_ARCHIVE_

13、START=TRUE,停止ARCH进程,通过系统实现:修改初始化参数LOG_ARCHIVE_START=FALSE 重新启动数据库手工启动 ALTER SYSTEM ARCHIVE LOG stop;,归档日志的相关信息,数据字典视图V$ARCHIVED_LOGV$ARCHIVE_DESTV$LOG_HISTORYV$DATABASEV$ARCHIVE_PROCESSES命令显示信息ARCHIVE LOG LIST,14.3 数据库的物理备份,物理备份,数据库关闭,数据库打开、关闭,Archive Mode,No archive Mode,冷备份,数据文件,控制文件,口令文件,在线或离线存储设

14、备,参数文件,重做日志文件,冷备份也称脱机备份,是指数据库关闭时进行备份。它的特点是在备份时,在同一个时间点上,构成数据库的全部物理文件都是静止的,即文件的同步号与当前检验点号一致,不存在不同步问题。那么在数据库恢复时,在复制回数据库备份文件后,不需要进行数据库恢复即可正常使用。,在脱机备份时,如果数据库运行在归档方式下,那么可以保证数据库恢复到出故障的时间点。如果数据库运行在非归档方式下,那么备份后的数据库改动全部丢失。,冷备份的特点,非常快速(只需拷贝文件)。容易归档(简单拷贝即可)。容易恢复到某个时间点上(只需将文件再拷贝回去)。能与归档方法相结合,作数据库“最新状态”的恢复。低度维护,

15、高度安全。,冷备份的步骤,编写一个要备份的最新文件列表。必须完整的备份数据库的三类文件,不得漏掉某一个文件。可以查询数据字典DBA_DATA_FILES确认数据文件、查询数据字典V$LOGFILE确认日志文件、查询V$CONTROLFILE确认控制文件。SQLselect file_name from dba_data_files;SQL select*from v$logfile;SQLselect*from v$controlfile;,用Shutdown命令关闭Oracle例程 必须保证各文件处于一致状态,不能用Shutdown abort用操作系统的备份工具,备份所有的数据文件、日志文

16、件、控制文件,以及参数文件。如果数据库运行在归档模式下,则还需要备份归档重做日志文件重启Oracle例程,热备份,热备份也称联机备份,在备份时数据库是打开的,用户可以照常使用既可以动态查询也可以执行增删改操作。特点是数据库备份时,构成数据库的全部物理文件都是动态变化的,文件之间存在不同步,在备份文件复制回数据库时需要实施数据库恢复,所以这种方法只可以在归档模式下使用,在复制回备份文件后,必须使用归档日志进行数据库恢复。,热备份选项,热备份的优点,可在表空间或数据文件级备份,备份时间短。备份时数据库仍可使用。可对几乎所有数据库实体作恢复。恢复是快速的,在大多数情况下在数据库仍工作时恢复。,热备份

17、的缺点,不能出错,否则后果严重。若热备份不成功,所得结果不可用于时间点的恢复。较难维护,必须仔细小心,不允许失败。,表空间的联机备份,查看数据库是否己经启动归档日志:archive log list;如果归档日志模式没有启动,则打开数据库的归档日志模式。查看数据库中的表空间文件:SELECT file_name FROM dba_data_files WHERE tablespace_name=USERS;,使数据库表空间处于热备份状态;alter tablespace users begin backup;命令发出后,该表空间的数据文件的系统改变号将停止修改,并对数据文件做热备份标记。此时可

18、以直接将表空间数据文件复制到另一个目录中进行备份复制完成后使用如下命令完成数据的备份:alter tablespace example end backup;表空间备份结束之后,数据文件自动同步。,控制文件的备份,控制文件中记录了有关数据库物理结构的重要信息。所以备份控制文件是一项关键性的工作。如果无法访问正确的控制文件,则无法加载或打开数据库。控制文件的备份方式如下:在数据库OPEN状态下备份 SQLalter database backup controlfile to 目标路径及文件名;,在数据库MOUNT状态下将控制文件中信息备份到跟踪文件中 SQLalter database bac

19、kup controlfile to trace;,归档重做日志文件备份,在使用不一致的备份对数据库进行恢复时,需要提供归档重做日志文件。并且在数据库恢复过程中,只能应用连续的重做日志。所以,在数据库归档模式下,保护归档重做日志文件不会损坏或丢失是十分重要的。归档重做日志文件的备份比较简单,你可以随时利用操作系统命令备份归档重做日志文件到磁盘或磁带。,14.4 数据库恢复,14.4.1 非归档模式下的恢复14.4.2 归档模式下的恢复,Database,14.4.1 非归档模式下的恢复,关闭数据库从冷备份中拷贝所有的数据库文件到原始位置启动数据库,非归档模式下恢复的特点,恢复所有的数据文件、控

20、制文件、重做日志文件易于实现,不易出错恢复时间=取回所有文件的时间数据库只能恢复到上次全备份点,部分数据丢失,需重新输入,14.4.2 归档模式下的恢复,完全恢复 数据库恢复到最近的更新点使用所有的重做日志不完全恢复 恢复到失败前的某一点,归档模式下完全恢复的特点,只需恢复丢失的数据恢复失败时的所有数据恢复时间=恢复丢失数据及使用归档记录必须拥有备份文件后的所有归档日志,完全恢复的方法,1 丢失部分数据文件的恢复,数据库关闭情况下的恢复,数据库打开情况下(MOUNT)的恢复,Instance,SGA,Redo Log Buffer,Large Pool,Shared Pool,Data Dic

21、t.Cache,Shared SQL&PLSQL,ARCH,Data Buffer Cache,146,恢复步骤,将丢失或出现问题的数据文件处于脱机状态SQLalter database datafiled:oracleoradataoradbexample0l.dbf offline;将原先备份的表空间文件复制到其原来所在的目录,并覆盖原有文件使用 recover命令进行介质恢复 SQLrecover datafile d:oracleoradataoradbexample0l.dbf;将表空间恢复为联机状态:SQLalter database datafile d:oracleoradataoradbexample0l.dbf online;,2 丢失整个数据库情况下的恢复启动实例到MOUNT状态 SQL startup mount;把所有的数据文件拷贝到原来路径执行数据库恢复 SQL recover database;打开数据库 SQL alter database open;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号