1、第十四讲第十四讲 备份与恢复备份与恢复本章学习目标本章学习目标 备份与恢复技术能够在不可避免的情况备份与恢复技术能够在不可避免的情况发生时保证用户的数据安全。本章将介发生时保证用户的数据安全。本章将介绍备份与恢复的基本概念、冷备份与热绍备份与恢复的基本概念、冷备份与热备份的区别,以及完全恢复的实现。备份的区别,以及完全恢复的实现。n14.1 Oracle 的备份与恢复机制的备份与恢复机制n14.2 数据库归档模式数据库归档模式n14.3 数据库的物理备份数据库的物理备份n14.4 数据库恢复数据库恢复14.1 Oracle 的备份与恢复机制的备份与恢复机制n14.1.1 故障故障n14.1.2
2、 数据库的备份数据库的备份n14.1.3 数据库的恢复数据库的恢复14.1.1 故障故障 基于基于Oracle数据库的应用环境中,各种数据库的应用环境中,各种原因引起的故障通常可以归纳为以下几原因引起的故障通常可以归纳为以下几种类型:种类型:n语句故障语句故障 n进程故障进程故障 n实例故障实例故障 n用户错误用户错误 n介质故障介质故障 语句故障语句故障产生语句故障的原因可能有以下几个方面。产生语句故障的原因可能有以下几个方面。n应用中存在逻辑错误。应用中存在逻辑错误。n输入的数据有问题,主要是数据类型不匹配、输入的数据有问题,主要是数据类型不匹配、不符合完整性约束等。不符合完整性约束等。n
3、执行无权限的操作。执行无权限的操作。n用户试图创建表或索引,但是却不具备足够用户试图创建表或索引,但是却不具备足够的表空间配额。的表空间配额。n用户试图对表执行插入或更新操作,这些操用户试图对表执行插入或更新操作,这些操作将引发扩展区的分配操作,但是表空间配作将引发扩展区的分配操作,但是表空间配额不足或者表中扩展区的数量已经达到上限。额不足或者表中扩展区的数量已经达到上限。语句故障的排除语句故障的排除 语句故障通常并不需要语句故障通常并不需要DBA采取任何干采取任何干预措施,产生错误的预措施,产生错误的SQL语句会被语句会被Oracle自动回退,数据库不会因为语句自动回退,数据库不会因为语句故
4、障而产生任何错误或不一致的状态。故障而产生任何错误或不一致的状态。应用程序开发人员或者应用程序开发人员或者DBA只需要利用只需要利用Oracle返回的错误信息来找到故障原因,返回的错误信息来找到故障原因,然后排除故障并重新执行语句即可。然后排除故障并重新执行语句即可。进程故障进程故障 进程故障是指用户进程、服务进程或数进程故障是指用户进程、服务进程或数据库后台进程由于某种原因而意外终止,据库后台进程由于某种原因而意外终止,比如由于用户强行关闭了一个比如由于用户强行关闭了一个SQL*PLUS窗口,或者用户应用程序由窗口,或者用户应用程序由于非法操作而退出等于非法操作而退出等进程故障的恢复进程故障
5、的恢复 Oracle后台进程后台进程PMON能够自动监测到存在故能够自动监测到存在故障的障的Oracle进程。进程。n如果发生故障的是一个用户进程或服务进程,如果发生故障的是一个用户进程或服务进程,PMON进程将自动对它们进行恢复。进程将自动对它们进行恢复。PMON进程的恢复工作包括:进程的恢复工作包括:(1)回退故障进程的当回退故障进程的当前事务。前事务。(2)释放故障进程所占用的所有资源。释放故障进程所占用的所有资源。n如果意外终止的是一个后台进程,那么实例如果意外终止的是一个后台进程,那么实例很可能将无法继续正常工作。这时你需要关很可能将无法继续正常工作。这时你需要关闭实例然后再重新启动
6、它,随后将发生的就闭实例然后再重新启动它,随后将发生的就是实例恢复过程。是实例恢复过程。实例故障实例故障 实例故障是指当由于某种原因而导致数实例故障是指当由于某种原因而导致数据库实例无法继续工作。导致实例故障据库实例无法继续工作。导致实例故障的原因有如下几种:的原因有如下几种:n电源故障导致数据库服务器不可用。电源故障导致数据库服务器不可用。n数据库服务器的硬件问题导致的不可用,数据库服务器的硬件问题导致的不可用,例如例如CPU和内存故障等,或者操作系统和内存故障等,或者操作系统的失败。的失败。nOracle的后台进程发生错误。的后台进程发生错误。实例故障的恢复实例故障的恢复n关闭例程,并用关
7、闭例程,并用STARTUP命令重新启动例程命令重新启动例程n数据库被装载后,数据库被装载后,Oracle在打开数据库为用户在打开数据库为用户登录之前进行例程恢复登录之前进行例程恢复n通过读例程通过读例程alert.log文件和其它在例程失败时文件和其它在例程失败时产生的跟踪文件来调查失败的原因产生的跟踪文件来调查失败的原因n例程恢复使数据库恢复到例程失败前的完整例程恢复使数据库恢复到例程失败前的完整事务状态事务状态用户错误用户错误 导致用户错误的原因很多,最主要的是导致用户错误的原因很多,最主要的是操作错误。比如:操作错误。比如:n意外地删除了一个表。意外地删除了一个表。n意外地删除了表中所有
8、的记录。意外地删除了表中所有的记录。n用户提交了对表所做的修改,但是却发用户提交了对表所做的修改,但是却发现修改中存在错误。现修改中存在错误。用户错误的恢复用户错误的恢复n用户错误无法由用户错误无法由Oracle本身来自动恢复的,它本身来自动恢复的,它需要需要DBA的干预来进行恢复。的干预来进行恢复。n如果包含错误的对象如果包含错误的对象(比如表比如表)具有逻辑备份,具有逻辑备份,那么可以利用那么可以利用Import工具将它重新导入;工具将它重新导入;n如果没有逻辑备份,那么可以试图利用如果没有逻辑备份,那么可以试图利用LogMiner所提供的对象级恢复功能恢复这个所提供的对象级恢复功能恢复这
9、个对象。对象。n最坏情况下就对数据库进行一次不完全恢复,最坏情况下就对数据库进行一次不完全恢复,将数据库恢复到发生用户错误之前的那个时将数据库恢复到发生用户错误之前的那个时刻。刻。介质故障介质故障 n数据库文件所在的磁盘驱动器的磁头发数据库文件所在的磁盘驱动器的磁头发生故障。生故障。n数据库文件进行读写操作时发生的物理数据库文件进行读写操作时发生的物理读写错误。读写错误。n数据库文件被意外删除。数据库文件被意外删除。介质故障的恢复介质故障的恢复 数据库管理员能够做的是根据现有的备份,数据库管理员能够做的是根据现有的备份,在尽可能短的时间内尽可能减少数据的丢失,在尽可能短的时间内尽可能减少数据的
10、丢失,使数据库能够重新提供给用户使用。成功的使数据库能够重新提供给用户使用。成功的恢复策略取决于以下两个方面的条件:恢复策略取决于以下两个方面的条件:n选择的备份方法以及受介质故障影响的数据选择的备份方法以及受介质故障影响的数据库文件。库文件。n如果使用了归档,可以通过应用从最近一次如果使用了归档,可以通过应用从最近一次备份以来生成的归档重做日志来恢复数据。备份以来生成的归档重做日志来恢复数据。14.1.2 数据库的备份数据库的备份 所谓所谓备份备份,就是把数据库复制到转储设备的就是把数据库复制到转储设备的过程。对于过程。对于Oracle数据库来说,需要复制的不数据库来说,需要复制的不仅仅是用
11、户数据,还包括一些重要的数据库仅仅是用户数据,还包括一些重要的数据库组件,比如控制文件、数据文件等。在发生组件,比如控制文件、数据文件等。在发生数据丢失或应用程序错误时,可以利用备份数据丢失或应用程序错误时,可以利用备份来重新建立应用程序所需的数据与环境。来重新建立应用程序所需的数据与环境。备份可以分为备份可以分为“物理备份物理备份”与与“逻辑备份逻辑备份”两种类型两种类型物理备份物理备份 物理备份是数据库物理结构的操作系统物理备份是数据库物理结构的操作系统文件的备份,也就是说,将数据库的数文件的备份,也就是说,将数据库的数据文件、日志文件、控制文件以及参数据文件、日志文件、控制文件以及参数文
12、件,用操作系统工具复制到磁盘或磁文件,用操作系统工具复制到磁盘或磁带。物理备份的方式有带。物理备份的方式有冷备份冷备份和和热备份热备份两种。两种。冷备份冷备份 主要指在关闭数据库的状态下进行的数主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据据库完全备份,备份内容包括所有数据文件、控制文件、重做日志文件、归档文件、控制文件、重做日志文件、归档日志、配置文件。日志、配置文件。热备份热备份 指在数据库处于运行状态下,对数据文指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份件和控制文件进行备份,要使用热备份必须将数据库运行在(必须将数据库运行在(Archive
13、 Log)归)归档方式下档方式下。逻辑备份逻辑备份n逻辑备份是指利用逻辑备份是指利用Export等工具通过执行等工具通过执行SQL语句的方式将数据库中的数据读取出来,然后语句的方式将数据库中的数据读取出来,然后再写入到一个二进制文件中。再写入到一个二进制文件中。n在需要恢复时候,可以利用在需要恢复时候,可以利用Import等工具从这等工具从这个二进制文件中读取数据,并通过执行个二进制文件中读取数据,并通过执行SQL 语语句的方式将它们写入到数据库中。句的方式将它们写入到数据库中。n逻辑备份通常作为物理备份的一种补充方式。逻辑备份通常作为物理备份的一种补充方式。与物理备份相比,通过逻辑备份导出的
14、数据与与物理备份相比,通过逻辑备份导出的数据与数据库文件完全脱离了关系,并且可以被导入数据库文件完全脱离了关系,并且可以被导入到其他的数据库,甚至运行于其他操作平台的到其他的数据库,甚至运行于其他操作平台的数据库中,因此数据库中,因此具有更大的灵活性具有更大的灵活性。14.1.3 数据库的恢复数据库的恢复 恢复是指在故障引起数据库瘫痪以及状恢复是指在故障引起数据库瘫痪以及状态不一致后,将数据库恢复到某个正确态不一致后,将数据库恢复到某个正确状态或一致状态。状态或一致状态。Oracle数据库的恢复数据库的恢复实际上包含了两个概念:实际上包含了两个概念:数据库修复与数据库修复与数据库恢复数据库恢复
15、。数据库修复数据库修复n数据库修复是指利用备份的数据库文件数据库修复是指利用备份的数据库文件来替换已经损坏的数据库文件来替换已经损坏的数据库文件n对数据库进行物理备份,保留的只是数对数据库进行物理备份,保留的只是数据库在进行备份时刻的一个精确副本。据库在进行备份时刻的一个精确副本。通过数据库修复可以将数据库恢复到进通过数据库修复可以将数据库恢复到进行备份的那个时刻行备份的那个时刻。数据库恢复数据库恢复n如果将数据库恢复到发生故障前的那个时刻,如果将数据库恢复到发生故障前的那个时刻,就必须通过应用归档重做日志和联机重做日就必须通过应用归档重做日志和联机重做日志的方式进行数据库恢复。志的方式进行数
16、据库恢复。n先将先将数据库恢复数据库恢复到进行备份时的状态,然后到进行备份时的状态,然后再在数据库备份的基础上,通过应用重做数再在数据库备份的基础上,通过应用重做数据而重现从备份时刻开始到故障发生之前这据而重现从备份时刻开始到故障发生之前这一段时间中所有的数据修改操作,从而一段时间中所有的数据修改操作,从而将数将数据库恢复到故障发生之前的状态据库恢复到故障发生之前的状态nOracle数据库使用数据库使用SCN(System Change Number)来作为数据库的唯一时间戳,来作为数据库的唯一时间戳,也就是说使用也就是说使用SCN可以唯一标识某个时可以唯一标识某个时刻的数据库状态。刻的数据库
17、状态。n实例恢复是实例恢复是Oracle自动进行的,本课仅自动进行的,本课仅涉及介质恢复。根据数据库的恢复程度,涉及介质恢复。根据数据库的恢复程度,介质恢复分为介质恢复分为完全恢复完全恢复和和不完全恢复不完全恢复。完全恢复完全恢复n将数据库恢复到数据库失败时数据库的状态。将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份并应用全部这种恢复是通过装载数据库备份并应用全部的重做日志做到的的重做日志做到的n通过查看控制文件,通过查看控制文件,Oracle便可知道所有数据便可知道所有数据文件应该记录的文件应该记录的SCN号,如果某个文件没有号,如果某个文件没有包含当前的包含当前的SC
18、N号,则需要恢复。通过查看号,则需要恢复。通过查看需要恢复的文件的需要恢复的文件的SCN号,号,Oracle知道该从哪知道该从哪里重新执行事务里重新执行事务n完全介质恢复可恢复全部丢失的数据,使数完全介质恢复可恢复全部丢失的数据,使数据库恢复到最新状态。但是,这种状况必须据库恢复到最新状态。但是,这种状况必须保证连续的归档日志记录可以使用。保证连续的归档日志记录可以使用。不完全恢复不完全恢复 假如一个归档日志文件遗失,在用户执假如一个归档日志文件遗失,在用户执行完全恢复的过程中,行完全恢复的过程中,Oracle不能跳过不能跳过一个归档日志并继续恢复,只有将数据一个归档日志并继续恢复,只有将数据
19、库恢复到数据库失败前的某一时刻数据库恢复到数据库失败前的某一时刻数据库的状态。这种恢复是通过装载数据库库的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的。备份并应用部分的重做日志做到的。14.2 数据库归档模式数据库归档模式 数据库备份与恢复方法的确定与数据库数据库备份与恢复方法的确定与数据库归档方式有直接关系。如果选择了通过归档方式有直接关系。如果选择了通过日志进行数据库恢复的备份方法,则数日志进行数据库恢复的备份方法,则数据库必须运行在归档模式下,只有归档据库必须运行在归档模式下,只有归档模式才会产生归档日志,而只有产生归模式才会产生归档日志,而只有产生归档日志,数据库才可能
20、实施恢复。档日志,数据库才可能实施恢复。非归档模式非归档模式052054054053053LGWR归档模式归档模式LGWR054054053053053052051归档日志文件的配置归档日志文件的配置ARCH/archive/arch052.arc053053052052052改变数据库的归档模式改变数据库的归档模式n使用使用ALTER DATABASE ARCHIVELOG命令实现,步骤如下:命令实现,步骤如下:(1)SQLshutdown immediate (2)SQLstartup mount (3)SQLalter database archivelog;(4)SQLalter da
21、tabase open;启动启动ARCH进程进程n系统自动启动:系统自动启动:n修改初始化参数修改初始化参数LOG_ARCHIVE_START=TRUEn 重新启动数据库重新启动数据库n手工启动手工启动n参数参数LOG_ARCHIVE_START=FALSE ALTER SYSTEM ARCHIVE LOG START TO/dbs/arch;n数据库创建时设置初始化参数数据库创建时设置初始化参数LOG_ARCHIVE_START=TRUE停止停止ARCH进程进程n通过系统实现:通过系统实现:n修改初始化参数修改初始化参数LOG_ARCHIVE_START=FALSEn 重新启动数据库重新启动
22、数据库n手工启动手工启动 ALTER SYSTEM ARCHIVE LOG stop;归档日志的相关信息归档日志的相关信息n数据字典视图数据字典视图nV$ARCHIVED_LOGnV$ARCHIVE_DESTnV$LOG_HISTORYnV$DATABASEnV$ARCHIVE_PROCESSESn命令显示信息命令显示信息nARCHIVE LOG LIST14.3 数据库的物理备份数据库的物理备份冷备份冷备份 冷备份冷备份也称脱机备份,是指数据库关闭也称脱机备份,是指数据库关闭时进行备份。它的特点是在备份时,在时进行备份。它的特点是在备份时,在同一个时间点上,构成数据库的全部物同一个时间点上,
23、构成数据库的全部物理文件都是静止的,即文件的同步号与理文件都是静止的,即文件的同步号与当前检验点号一致,不存在不同步问题。当前检验点号一致,不存在不同步问题。那么在数据库恢复时,在复制回数据库那么在数据库恢复时,在复制回数据库备份文件后,备份文件后,不需要进行数据库恢复即不需要进行数据库恢复即可正常使用。可正常使用。n在脱机备份时,如果数据库运行在归档在脱机备份时,如果数据库运行在归档方式下,那么可以保证数据库恢复到出方式下,那么可以保证数据库恢复到出故障的时间点。故障的时间点。n如果数据库运行在非归档方式下,那么如果数据库运行在非归档方式下,那么备份后的数据库改动全部丢失。备份后的数据库改动
24、全部丢失。冷备份的特点冷备份的特点n非常快速(只需拷贝文件)。非常快速(只需拷贝文件)。n容易归档(简单拷贝即可)。容易归档(简单拷贝即可)。n容易恢复到某个时间点上(只需将文件容易恢复到某个时间点上(只需将文件再拷贝回去)。再拷贝回去)。n能与归档方法相结合,作数据库能与归档方法相结合,作数据库“最新最新状态状态”的恢复。的恢复。n低度维护,高度安全。低度维护,高度安全。冷备份的步骤冷备份的步骤n编写一个要备份的最新文件列表。编写一个要备份的最新文件列表。必须完整的备份数据库的三类文件,不得漏掉必须完整的备份数据库的三类文件,不得漏掉某一个文件。可以查询数据字典某一个文件。可以查询数据字典D
25、BA_DATA_FILES确认数据文件、查询数据确认数据文件、查询数据字典字典V$LOGFILE确认日志文件、查询确认日志文件、查询V$CONTROLFILE确认控制文件。确认控制文件。SQLselect file_name from dba_data_files;SQL select*from v$logfile;SQLselect*from v$controlfile;n用用Shutdown命令关闭命令关闭Oracle例程例程 必须保证各文件处于一致状态,不能用必须保证各文件处于一致状态,不能用Shutdown abortn用操作系统的备份工具,备份所有的数用操作系统的备份工具,备份所有的
26、数据文件、日志文件、控制文件,以及参据文件、日志文件、控制文件,以及参数文件。如果数据库运行在归档模式下,数文件。如果数据库运行在归档模式下,则还需要备份归档重做日志文件则还需要备份归档重做日志文件n重启重启Oracle例程例程热备份热备份 热备份热备份也称联机备份,在备份时数据库是打也称联机备份,在备份时数据库是打开的,开的,用户可以照常使用用户可以照常使用既可以动态查询也既可以动态查询也可以执行增删改操作。特点是数据库备份时,可以执行增删改操作。特点是数据库备份时,构成数据库的全部物理文件都是动态变化的,构成数据库的全部物理文件都是动态变化的,文件之间存在不同步,在备份文件复制回数文件之间
27、存在不同步,在备份文件复制回数据库时需要实施数据库恢复,所以这种方法据库时需要实施数据库恢复,所以这种方法只可以在归档模式下使用,在复制回备份文只可以在归档模式下使用,在复制回备份文件后,件后,必须使用归档日志进行数据库恢复必须使用归档日志进行数据库恢复。热备份选项热备份选项user02.dbfuser01.dbfuser02.dbfuser01.dbf热备份的优点热备份的优点n可在表空间或数据文件级备份,备份时可在表空间或数据文件级备份,备份时间短。间短。n备份时数据库仍可使用。备份时数据库仍可使用。n可对几乎所有数据库实体作恢复。可对几乎所有数据库实体作恢复。n恢复是快速的,在大多数情况下
28、在数据恢复是快速的,在大多数情况下在数据库仍工作时恢复。库仍工作时恢复。热备份的缺点热备份的缺点n不能出错,否则后果严重。不能出错,否则后果严重。n若热备份不成功,所得结果不可用于时若热备份不成功,所得结果不可用于时间点的恢复。间点的恢复。n较难维护,必须仔细小心,不允许失败。较难维护,必须仔细小心,不允许失败。表空间的联机备份表空间的联机备份n查看数据库是否己经启动归档日志:查看数据库是否己经启动归档日志:archive log list;如果归档日志模式没有启动,则打开数据库如果归档日志模式没有启动,则打开数据库的归档日志模式。的归档日志模式。n查看数据库中的表空间文件:查看数据库中的表空
29、间文件:SELECT file_name FROM dba_data_files WHERE tablespace_name=USERS;n使数据库表空间处于热备份状态;使数据库表空间处于热备份状态;alter tablespace users begin backup;命令发出后,该表空间的数据文件的系统改命令发出后,该表空间的数据文件的系统改变号将停止修改,并对数据文件做热备份标变号将停止修改,并对数据文件做热备份标记。记。n此时可以直接将表空间数据文件复制到另一此时可以直接将表空间数据文件复制到另一个目录中进行备份个目录中进行备份n复制完成后使用如下命令完成数据的备份:复制完成后使用如下
30、命令完成数据的备份:alter tablespace example end backup;表空间备份结束之后表空间备份结束之后,数据文件自动同步。数据文件自动同步。控制文件的备份控制文件的备份 控制文件中记录了有关数据库物理结构控制文件中记录了有关数据库物理结构的重要信息。所以备份控制文件是一项的重要信息。所以备份控制文件是一项关键性的工作。如果无法访问正确的控关键性的工作。如果无法访问正确的控制文件,则无法加载或打开数据库。控制文件,则无法加载或打开数据库。控制文件的备份方式如下:制文件的备份方式如下:n在数据库在数据库OPEN状态下备份状态下备份 SQLalter database ba
31、ckup controlfile to 目标路径及文件名目标路径及文件名;n在数据库在数据库MOUNT状态下将控制文件中状态下将控制文件中信息备份到跟踪文件中信息备份到跟踪文件中 SQLalter database backup controlfile to trace;归档重做日志文件备份归档重做日志文件备份 在使用不一致的备份对数据库进行恢复在使用不一致的备份对数据库进行恢复时,需要提供归档重做日志文件。并且时,需要提供归档重做日志文件。并且在数据库恢复过程中,只能应用连续的在数据库恢复过程中,只能应用连续的重做日志。所以,在数据库归档模式下,重做日志。所以,在数据库归档模式下,保护归档重
32、做日志文件不会损坏或丢失保护归档重做日志文件不会损坏或丢失是十分重要的。归档重做日志文件的备是十分重要的。归档重做日志文件的备份比较简单,你份比较简单,你可以随时利用操作系统可以随时利用操作系统命令备份归档重做日志文件到磁盘或磁命令备份归档重做日志文件到磁盘或磁带带。14.4 数据库恢复数据库恢复n14.4.1 非归档模式下的恢复非归档模式下的恢复n14.4.2 归档模式下的恢复归档模式下的恢复DatabasePasswordFileArchivedLog FilesParameterFileData File 3Redo logFile 2Data File 2Control FilesRe
33、do logFile 1Data File 1146145146146146146UserProcessServerProcessPGADatabaseData File 2146InstanceSGARedo Log BufferLarge PoolShared PoolData Dict.CacheShared SQL&PLSQL PMON DBWRSMON LGWRCKPTARCHData Buffer Cache14.4.1 非归档模式下的恢复非归档模式下的恢复n关闭数据库关闭数据库n从冷备份中拷贝所有的数据库文件到原从冷备份中拷贝所有的数据库文件到原始位置始位置n启动数据库启动数据库
34、非归档模式下恢复的特点非归档模式下恢复的特点n恢复所有的数据文件、控制文件、重做恢复所有的数据文件、控制文件、重做日志文件日志文件n易于实现,不易出错易于实现,不易出错n恢复时间恢复时间=取回所有文件的时间取回所有文件的时间n数据库只能恢复到上次全备份点,部分数据库只能恢复到上次全备份点,部分数据丢失,需重新输入数据丢失,需重新输入PasswordFileParameterFileData File 3Redo logFile 2Data File 2Control FilesRedo logFile 1Data File 1Database145146146146146146Password
35、FileParameterFileData File 3Redo logFile 2Data File 2Control FilesRedo logFile 1Data File 1Backup143144144144144144PasswordFileParameterFileData File 3Redo logFile 2Data File 2Control FilesRedo logFile 1Data File 1Database14414414414414414414.4.2 归档模式下的恢复归档模式下的恢复n完全恢复完全恢复 数据库恢复到最近的更新点数据库恢复到最近的更新点使用所
36、有的重做日志使用所有的重做日志n不完全恢复不完全恢复 恢复到失败前的某一点恢复到失败前的某一点归档模式下完全恢复的特点归档模式下完全恢复的特点n只需恢复丢失的数据只需恢复丢失的数据n恢复失败时的所有数据恢复失败时的所有数据n恢复时间恢复时间=恢复丢失数据及使用归档记恢复丢失数据及使用归档记录录n必须拥有备份文件后的所有归档日志必须拥有备份文件后的所有归档日志完全恢复的方法完全恢复的方法1 丢失部分数据文件的恢复丢失部分数据文件的恢复PasswordFileParameterFileData File 3Redo logFile 2Data File 2Control FilesRedo log
37、File 1Data File 1Database146145146146146146ArchivedLog File144数据库关闭情况下的恢复数据库关闭情况下的恢复Data File 21441InstanceSGARedo Log BufferData BufferLarge PoolLocksShared PoolData Dict.CacheShared SQL&PLSQL PMON DBWRSMON LGWRCKPTARCHUserProcessServerProcessPGAInstanceSGARedo Log BufferLarge PoolShared PoolData D
38、ict.CacheShared SQL&PLSQL PMON DBWRSMON LGWRCKPTARCHUserProcessServerProcessPGA2Data Buffer Cache34Data File 2146PasswordFileParameterFileData File 3Redo logFile 2Data File 2Control FilesRedo logFile 1Data File 1Database146145146146146146ArchivedLog File144数据库打开情况下数据库打开情况下(MOUNT)的恢复的恢复 Data File 214
39、61InstanceSGARedo Log BufferLarge PoolShared PoolData Dict.CacheShared SQL&PLSQL PMON DBWRSMON LGWRCKPTARCHUserProcessServerProcessPGAData File 214423Data File 21464Data Buffer Cache146恢复步骤恢复步骤n将丢失或出现问题的数据文件处于脱机状态将丢失或出现问题的数据文件处于脱机状态SQLalter database datafiled:oracleoradataoradbexample0l.dbf offline;
40、n将原先备份的表空间文件复制到其原来所在的将原先备份的表空间文件复制到其原来所在的目录,并覆盖原有文件目录,并覆盖原有文件n使用使用 recover命令进行介质恢复命令进行介质恢复 SQLrecover datafile d:oracleoradataoradbexample0l.dbf;n将表空间恢复为联机状态:将表空间恢复为联机状态:SQLalter database datafile d:oracleoradataoradbexample0l.dbf online;2 丢失整个数据库情况下的恢复丢失整个数据库情况下的恢复n启动实例到启动实例到MOUNT状态状态 SQL startup mount;n把所有的数据文件拷贝到原来路径把所有的数据文件拷贝到原来路径n执行数据库恢复执行数据库恢复 SQL recover database;n打开数据库打开数据库 SQL alter database open;