备份与恢复学习目标掌握备份和恢复的几种类型掌握脱机备份与恢复的方法掌握联机备份与恢复的方法掌握逻辑备份与恢复的方法备份与恢复概述数据库的备份与恢复是保证数据库安全运行的一项重要内容,也是数据库管理员的重要职责。在实际工作中,应该对数据库进行备份。如果数据库受到损坏,如数据文件被删除,机器故障,表中的数据被删除等,就可以使用备份文件对数据库进行及时恢复,尽可能地时用户的数据免遭损失,使数据库继续正常运行。备份与恢复概述数据库的备份就是对数据库信息的一种操作系统备份,这些信息可能是数据库的物理结构文件(控制文件、数据库文件、重做日志文件),也可能只是某一部分数据(如某个表)。数据库的恢复是利用备份的数据进行重建数据库的过程。备份与恢复概述数据库的恢复的方法取决于故障的类型。数据库中可能发生的故障分为系统故障、介质故障和用户故障。1,系统故障:系统在运行过程中,发生操作系统故障、突然停电等以外故障等造成正在运行的事务非正常终止。通常情况下,在数据库重新启动时,恢复程序按照日志文件中的信息自动完成恢复操作。2,介质故障:系统在运行过程中,硬件设施发生损坏,造成数据的丢失。3,用户故障:系统在运行过程中,由于发生了误操作,造成数据库中的数据被删除或损坏。备份与恢复的方法备份与恢复主要有三种方法:脱机备份与恢复、联机备份与恢复、逻辑备份与恢复。脱机备份与恢复脱机备份又称冷备份,必须在数据库已经正常关闭的情况下进行,此时,系统会提供给用户一个完整的数据库。冷备份时可以将数据库使用的每个文件都备份下来,这些文件包括:所有控制文件(文件后缀名为.CTL,默认路径Oracle\oradata\oradb)所有数据文件(文件后缀名为.DBF,默认路径Oracle\oradata\oradb)所有联机REDOLOG文件(文件形式为REDO*.*,默认路径Oracle\oradata\oradb)初始化文件INIT.ORA(可选)(默认路径Oracle\admin\oradb\spfile)脱机备份与恢复冷备份是最快和最安全的方法。冷备份的优点是:(1)是非常快速的备份方法(只需拷贝文件)。(2)容易归档(简单拷贝即可)。(3)容易恢复到某个时间点上(只需将文件再拷贝回去)。(5)低度维护,高度安全。脱机备份与恢复n脱机备份与恢复备份的步骤备份:通过操作系统命令将要保存的数据库文件保存起来。恢复:通过操作系统命令将要恢复的数据库文件拷贝过来。联机备份与恢复联机备份与恢复,也被成为热备份,是在数据库处于打开状态下对数据库进行的备份和恢复。要进行联机备份,数据库必须处于归档模式下。热备份的优点是:(1)可在表空间或数据文件级备份,备份时间短。(2)备份时数据库仍可使用。(3)可达到秒级恢复(恢复到某一时间点上)。(4)可对几乎所有数据库实体作恢复。(5)恢复是快速的,在大多数情况下在数据库仍工作时恢复。联机备份与恢复备份过程:(1)查看数据库是否己经启动归档日志:archiveloglist;如果归档日志模式没有启动,则打开数据库的归档日志模式,先使用shutdownimmediate命令关闭数据库,然后使用如下命令启动数据库:startupmount;(2)修改数据库的归档日志模式:alterdatabasearchivelog;联机备份与恢复(3)查看数据库中的表空间文件:selectfilenamefromdba_data_files;(4)使数据库表空间处于热备份状态;altertablespaceexamplebeginbackup;(5)此时可以直接将表空间数据文件复制到另一个目录中进行备份,复制完成后使用如下命令完成数据的备份:altertablespaceexampleendbackup;联机备份与恢复恢复:(1)首先使出现问题的表空间处于脱机状态:SQLalterdatabasedatafile'd:\oracle\oradata\oradb\example0l.dbfoffline’;(2)将原先备份的表空间文件复制到其原来所在的目录,并覆盖原有文件。联机备份与恢复(3)使用recover命令进行介质恢复,恢复example表空间:SQLrecoverdatafile‘d:\oracle\oradata\oradb\example0l.dbf’;(4)将表空间恢复为联机状态:SQLalterdatabasedatafile'd:\oracle\oradata\oradb\example0l.dbfonline’;至此表空间数据恢复完成。逻辑备份与恢复又称导出/导入,导出是数据库的逻辑备份,导入是数据库的逻辑恢复。可以将Oracle中的数据移出/移入数据库。这些数据的读取与其物理位置无关。“导出”文件为二进制系统文件,导入时先读取导出的转储二进制文件,并运行以恢复数据库。逻辑备份的优点:1,具有多种方式,可以节约空间2,实现不同操作系统之间的数据传输3,实现不同ORACLE版本之间的数据传输逻辑备份与恢复1.使用Export程序进行导出操作(1)语句参数从命令行调用Export程序并且传递各类参数和参数值,可以完成导出操作。参数和参数值决定了导出的具体任务。注意:一系列的参数相互冲突会造成Export的指令不一致。例如,设置FULL=Y且OAR=HR就会失败,这是因为FULL参数调用Full导出,而OAR参数指定User导出。逻辑备份与恢复(2)导出模式由三种导出模式:交互模式、命令行模式和参数文件模式。交互模式:在输入EXP命令后,根据系统的提示输入导出的参数,如:用户名、导出创建的文件名及分配内存块大小等参数。命令行模式:命令行模式与交互模式类似,不同的是使用命令行模式时,只能在模式被激活后,才能把参数和参数值传递给导出程序。参数文件模式:参数文件模式的关键参数是“parfile=”。“Parfile=”的对象是一个包含激活控制导出对话的参数和参数值的文件名。逻辑备份与恢复(3)导出类型导出类型有三种:全局、用户和表。全局:导出所有的数据、数据定义和用来重建数据库的存储对象。用户:导出规定用户的数据、数据定义和存储对象。规定的用户名在“owner=”参数之后给出。表:只导出运行该导出用户的数据和数据定义。逻辑备份与恢复(l)导入可以完成的工作1)对重要的数据,进行备份。当出现误删除操作时,利用导入操作通过导出文件将其恢复。在编程前先将要对其进行操作的表导入到另一个概要中。这样,如果由于编程中的错误删除了表中的某些行时,就可以从已经导入到概要的备份表中恢复被删除的行。2)把数据从一个操作系统中运行的Oracle数据库移动到另一个操作系统中的Oracle数据库中。逻辑备份与恢复(2)使用的参数导入和导出使用的参数基本相同。(3)导入的模式导入的模式与导出完全相同,有用户模式、表模式和全局模式(也称为数据库模式)。逻辑备份与恢复需要注意的是:(1)导入操作的目标用户必须事先在目标数据库中创建;(2)所有用户都可以使用用户模式和表模式导入;(3)只有具有IMP-FULL-DATABASE角色的用户可以按全局模式导入。