Oracle数据库备份与恢复_第1页
Oracle数据库备份与恢复_第2页
Oracle数据库备份与恢复_第3页
Oracle数据库备份与恢复_第4页
Oracle数据库备份与恢复_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

Oracle数据库备份与恢复本章内容1数据库常见故障类型2数据库保护机制3数据库逻辑备份与恢复4脱机备份(冷备份)5联机备份(热备份)6使用OMS工具的备份与恢复向导7数据库恢复DBA的主要职责之一是备份数据库和在数据库发生故障时高效、安全地恢复数据库。备份方法冷备份热备份逻辑备份(Export/Import)恢复方法完全恢复不完全恢复RMAN备份恢复等方式1数据库常见故障类型系统崩溃或服务器崩溃用户错误、冲突或者磁盘失效导致的文件丢失SQL语句失败网络故障场地灾难2数据库保护机制Oracle数据库保护机制:数据库备份和事务日志。

Oracle数据库事务日志数据库备份数据库备份一般来说,数据库备份可以分为物理备份和逻辑备份。物理备份可分为脱机备份和联机备份。脱机备份又称为冷备份,只能在数据库关闭后进行备份;联机备份又称为热备份,数据库没有关闭,用户还可以使用。逻辑备份是使用Export实用程序备份,当数据库出现故障,可以使用Oracle的Import实用程序恢复数据库。事务日志数据库的事务日志(TransactionLog)是一组操作系统文件,它记录了提交事务所做的数据库修改。日志主要是保护数据库,在数据库出现故障时执行恢复。为了防止日志本身的故障,Oracle允许在不同的物理磁盘上维护两个或多个日志的副本。举例,磁盘失效后如何保护和恢复数据库。(1)正常工作时,每天晚上备份数据库,包含所有数据文件。(2)某一天,包含数据库的某个数据文件的磁盘坏了,因此一部分数据不可用(做了磁盘容错的情况例外),因此需要执行数据库恢复。(3)把有问题的磁盘更换为新的磁盘。(4)将最近的数据库备份存入新的磁盘中以恢复丢失的数据文件,但是,恢复的数据文件丢失了备份发生后所提交的事务工作。(5)最后,执行数据库恢复工作。在恢复过程中,Oracle读取事务日志,把过去提交的事务工作重做,使数据库文件成为当前文件。(6)数据库恢复后,打开数据,供应用程序使用。ORACLE数据库两种运行方式归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据。不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。3数据库逻辑备份与恢复

数据库逻辑备份:读一个数据库记录集,并以Oracle提供的内部格式写入一个二进制文件中。这些记录的读出与其物理位置无关。在Oracle中,Export实用程序执行逻辑备份。使用Oracle的Import实用程序执行数据库恢复。当用户导入导出时,有相应的权限要求。在OEM中,当用户连接到OracleManagementServer时,可以使用图形界面执行数据库的导入和导出。3.1导导出Oracle的实用程序序Export用来读读取一个数据据库,并把输输入写入一个个称为导出转转储文件(exportdumpfile)的二进制制文件。EXPUSERID=username/passwordPARAMETER=(value1,value2,..)可以通过如下下命令来显示示参数EXPHELP=Y导出方式:Full方式式、User方式和Table方式式。完全数据库导导出expsystem/managerfull=Yconstraints=Yfile=f:\backup\test.dmp导出用户表expuser1/passwordtables=employeesfile=f:\backup\test.dmpexpuser1/passwordtables=(employees,jobs)file=f:\backup\test.dmp导出用户模式式expuser1/passwordowner=user1file=test.dmp一旦数据已经经导出,就可可以通过Oracle的的Import实用程序序执行导入,,来恢复数据据库。Import实用程序读读取由Export创建建的二进制导导出转储文件件并执行其中中的命令。IMPUSERID=username/passwordPARAMETER=(value1,value2,..)可以通过如下下命令来显示示参数IMPHELP=Y导出的数据据可以导入入到不同的的数据库中中,甚至可可以导入到到与生成导导出转储文文件不同的的模式中;;可以导入入全部或部部分已导出出的数据。3.2导导入导入用户自自身所拥有有的表IMPsystem/ora456tables=studentfile=f:\backuptest.dmpIMPsystem/ora456tables=(student,course)file=f:\backuptest.dmp导入用户模模式impsystem/managerFROMUSER=scottTOUSER=systemtables=deptfile=f:\backup\test.dmp案例1,导导出数据库库表,用户户误操作删删除表,执执行导入表表,恢复数数据库(1)TEST2数数据库(System用户,,口令为ora456),导导出表student3.3逻逻辑备份份案例(2)删除除表student中的数据据,或者将将整个表删删除,数据据已经不存存在,或者者表被删除除(3)导入入表student,恢复数数据库(4)查询询表和数据据,验证导导入是否成成功案例2,导导入其他方方案的表。。将Scott的表表dept导入System(1)System下没有Scott的表dept,注注意,这不不同与查询询时使用scott.dept(2)在system下,导导出Scott的表表dept,导出文文件test2.dmp(3)将Scott的表dept导入入到System中中(4)再次次执行步骤骤(1)中中的查询,,验证导入入成功4脱机机备份(冷冷备份)脱机备份是是最简单的的一种数据据库备份方方式,在数数据库关闭闭后进行备备份,用户户不能访问问数据库,,是一种完完全备份。。脱机备份一一般需要备备份如下文文件:(1)所有有数据文件件(2)所有有控制文件件(3)所有有联机重做做日志(4)init.ora文件件脱机备份步步骤(1)以DBA或特特权用户登登录,对于于需要的备备份文件,,用户也可可通过下列列SQL语语句来了解解数据文件件、重演日日志文件及及控制文件件的相应位位置及名称称。SELECT*FROMV$LOGFILE;SELECT*FROMV$DBFILE;SELECT*FROMV$CONTROLFILE;(2)关闭闭数据库SHUTDOWNNORMAL;或者执行SHUTDOWNIMMEDIATE;(3)复制制数据文件件用拷贝命令令备份全部部的数据文文件、重做做日志文件件、控制文文件、初始始化参数文文件等。简单的处理理方法是将将数据库所所在路径下下的文件全全部复制备备份。在下下面实验案案例中所用用数据库TEST2的目录是是:f:\oracle\oradata\test2(4)重新启启动数据库STARTUP;脱机备份的优优点:只需要拷贝文文件,速度比比较快。将文件拷贝回回去,数据库库就可以恢复复到某个时间间点。若结合数据库库归档模式可可以很好地恢恢复数据库。。维护量相对较较少,但安全全性相对较高高。脱机备份的缺缺点:脱机备份时,,数据库必须须关闭。单独使用脱机机备份,数据据库只能基于于某一时间点点恢复。若磁盘空间有有限,使用磁磁带等外设时时速度较慢。。脱机备份不能能按表或用户户恢复。案例,脱机备备份与不完全全数据库恢复复脱机备份数据据库相应文件件,由于误操操作,删除了了users表空间对象象STUDENT表,将将备份的数据据文件复制到到原来的位置置,恢复数据据库到执行误误操作前的状状态。以SYSDBA登登录。数据字字典DBA_TABLES可以查询询表所在的表表空间。(1)对象STUDENT,有两条条记录(2)脱机备备份shutdownimmediate;备份数据文件件user01.dbf,控制文件件,重做日志志文件,或者直接将f:\oracle\oradata\test2目录下的文文件全部备份份。备份结束重启启数据库startup;(3)对象student增加一条条记录insertintosystem.studentvalues(‘1003’,’liming’,20,’CS’);(4)模拟误误操作,删除除了表STUDENTdroptablesystem.student;commit;(5)查询对对象STUDENT,返返回错误信息息(6)关闭数据据库shutdownimmediate;(7)复制原原先备份的数数据文件,控控制文件,重重做日志等到到原来目录下下,f:\oracle\oradata\test2(8)startupmount;(9)执行基基于取消的恢恢复,recoverdatabaseuntilcancel(10)以RESETLOGS方式式打开数据库库(11)查询对对象STUDENT,只只有脱机备份份的两条记录录,备份后增增加的记录没没有恢复5联机备备份(热备份份)联机备份是在在数据库运行行时进行的备备份,用户仍仍然可以访问问数据库,一一些关键行业业的数据必须须运行在7*24模式下,并不不适合执行脱脱机备份,必必须使用联机机备份。联机备份要求求数据库运行行在归档(archivelog))模式下,该该方式下,联联机重做日志志被归档,数数据库中所有有事务的完整整记录由Oracle以循环方式式写入联机重重做日志文件件。联机备份一般般备份数据文文件、控制文文件和日志文文件。(1)备份所所有数据文件件(2)备份所所有归档的重重做日志文件件(3)备份一一个控制文件件(4)检查发发生故障的数数据文件,恢恢复数据文件件联机备份的优优点:可在表空间或或数据文件级级备份,备份份时间短。备份时数据库库仍可使用。。可达到秒级恢恢复(恢复到到某一时间点点上)。可对几乎所有有数据库实体体作恢复。恢复快速,大大多数情况下下恢复不需要要关闭数据库库。联机备份的缺缺点:不能出错,否否则后果严重重。若联机备份不不成功,所得得结果不可用用于时间点的的恢复。因难于维护,,所以要特别别小心,不允允许“以失败败而告终”。。案例,联机备备份与完全数数据库恢复在表空间APPL_DATA上建立立对象COURSE,首首先执行联机机备份,在COURSE表上加入记记录,然后删删除数据文件件APPL_DATA,,最后执行恢恢复,数据文文件重新联机机,验证恢复复成功。(1)在归档档模式下,在在表空间APPL_DATA上建立立表COURSE,并插插入两条记录录(2)切换日日志,查看v$log确确认当前日志志已经更改altersystemswitchlogfile;(3)备份控控制文件(在在本案例中可可以不做)alterdatabasebackupcontrolfileto´f:\backup\backup.ctl´;(4)备份数数据文件先将表空间APPL_DATA设置置为备份模式式altertablespaceappl_databeginbackup;拷贝表空间的的数据文件APPL_DATA.ORA,其他他数据文件不不变。copyf:\oracle\oradata\test2\appl_data.oraf:\backup\appl_data.ora将表空间APPL_DATA设置为为正常模式altertablespaceappl_dataendbackup;(5)在COURSE表表上添加记录录insertintocoursevalues(´30´,´database´,´20´,4);(6)使表空空间脱机,删删除数据文件件APPL_DATA.ORAaltertablespaceappl_dataoffline;delf:\oracle\oradata\test2\appl_data.ora(7)将表空空间联机,出出现错误,提提示恢复数据据文件(8)将备份份的数据文件件复制到原来来所在位置,,执行数据文文件恢复。copyf:\backup\appl_data.oraf:\oracle\oradata\test2\appl_data.ora然后,执行数数据文件恢复复命令,本例例中文件号为为11recoverdatafile11;(9)联机表表空间(10)查询询对象COURSE表,,确认联机备备份恢复成功功,联机备份份前的数据和和备份后新增增加的数据都都存在6使用OMS工具的的备份与恢复复向导6.1Oracle管理服务器器的配置使用备份向导导实现联机备备份与恢复,,需要登录到到Oracle管理服务务器OMS。。需要先配置Oracle管理服务器器,选择【开开始】->【【程序】->【OraHome90】->【ConfigurationandMigrationTools】->【EnterpriseManagerConfigurationAssistant】,进入OMS的配置步步骤。进入OMS后,,为了保保证备份份向导的的正确执执行,应应做如下下工作::(1)检检查SYS和SYSTEM用用户权限限,SYSTEM用户户在独立立模式下下具有SYSDBA权权限和SYSOPER权限,,在管理理服务器器模式下下不具备备SYSDBA权限,,不能启启动和关关闭数据据库,需需要人工工授予SYSOPER和SYSDBA权限限,同时时应给SYSTEM用用户添加加角色EXP_FULL_DATABASE和角角色IMP_FULL_DATABASE,确确保数据据库备份份与恢复复操作正正常。SYS用用户无论论是独立立模式还还是管理理服务器器模式都都有SYSOPER和和SYSDBA权限。。(2)检检查操作作系统用用户是否否作为批批处理作作业登录录。选择择【开始始】->【程序序】->【管理理工具】】->【【本地安安全策略略】,选选择用户户权限分分配,选选择作为为批处理理作业登登录,双双击打开开后添加加Administrator用户户。(3)检检查节点点和数据据库的首首选证明明,设置置节点的的首先身身份证明明中的用用户名为为Administrator,并并输入口口令。设设置数据据库的首首先身份份证明的的用户为为SYS,输入入口令,,选择以以SYSDBA角色。。第一次登登录管理理服务器器OMS,管理理员为SYSMAN,,缺省口口令为OEM_TEMP初次登录录,系统统将提示示更改SYSMAN口口令。如如果系统统提示连连接验证证错误VTK-1000,查查看【管管理工具具】->【服务务】->【OracleOraHome90ManagementServer】】是否启启动,若若没有启启动,应应手动启启动该服服务。6.2使使用用OMS备份向向导1.预定定义备份份策略首先选择择预定义义备份策策略,单单击下一一步按钮钮,出现现“备份份频率””对话框框2.自定定义备份份策略打开备份份向导,,策略选选择自定定义备份份策略,,出现““备份选选择”对对话框。为了较快快地看到到备份结结果,我我们选择择备份表表空间,,这是数数据库子子集的备备份。查看“作作业”节节点,在在活动项项中可以以看到备备份0053已已经启动动,等待待一会儿儿切换到到历史记记录,可可以看到到备份0053已经执执行完成成。选择备份0053,,右键选择择“查看作作业”,可可以显示备备份的详细细信息。选择状态已已完成,单单击“显示示输出”按按钮,得到到执行备份份的脚本代代码。向导恢复可可以选择数据库恢复复表空间恢复复数据文件恢恢复三种恢复向导判判别目标数数据库的状状态(归档档日志,无无归档日志志,已装载载没有打开开,装载并并打开)来来禁止选项项。6.3使使用OMS恢复向向导恢复整个数数据库时,,将恢复属属于该数据据库的所有有数据文件件,要求数数据库只处处于装载状状态,即NOMOUNT方式式启动。表空间恢复复将恢复数数据库的一一个子集合合。对选定定的表空间间进行恢复复,一般要要求数据库库运行在归归档模式下下。数据文件恢恢复将恢复复单个数据据文件,数数据文件恢恢复不如表表空间恢复复那样常用用,一般要要求数据库库运行在归归档模式下下登录录到到管管理理服服务务器器,,选选择择数数据据库库,,选选择择【【工工具具】】->【【数数据据库库向向导导】】->【【备备份份管管理理】】->【【恢恢复复】】,,起起用用恢恢复复向向导导。。如如果果不不能能启启动动OMS,,应应查查看看【【管管理理工工具具】】->【【服服务务】】->【【OracleOraHome90ManagementServer】】是是否否启启动动,,如如果果没没有有启启动动,,先先启启动动该该服服务务。。若要要查查看看执执行行情情况况,,可可以以在在OMS的的节节点点““作作业业””中中,,选选择择历历史史记记录录确确认认备备份份和和恢恢复复情情况况。5.7数数据库恢复恢复可以分为为完全恢复和和不完全恢复复完全数据库恢恢复是恢复到到故障发生前前的状态,所所有已经提交交的操作都进进行恢复,确确保数据库不不丢失任何数数据,完全恢恢复只用于归归档模式。不完全数据库库恢复是将数数据库恢复到到备份点与介介质失败点之之间某个时刻刻的状态,并并不是恢复所所有提交的操操作,不完全全恢复可能丢丢失部分数据据。任何类型的恢恢复包括两个个阶段:前滚滚阶段和回滚滚(回退)阶阶段。前滚阶段在前滚恢复阶阶段(roll-forwardrecovery),恢复管理器器应用必要的的事务日志组组“重做”((REDO))所有提交的的不在数据库库数据文件中中的事务。。回滚阶段在前滚恢复后后,Oracle必须执执行回滚恢复复(roll-backrecovery))。由于一些未完完成的事务对对数据库的修修改信息已经经提交到数据据库,为保证证数据库的一一致性,需要要清除这些事事务对数据库库的修改,数数据库应执行行回滚操作(UNDO)),强强制制撤撤销销这这些些未未完完成成事事务务。。前滚滚和和回回滚滚的的执执行行除除了了管管理理员员或或应应用用程程序序调调用用外外,,执执行行前前滚滚操操纵纵还还是是回回滚滚操操作作与与检检查查点点的的出出现现相相关关12345检查点系统故障上一检查点无前滚回滚前滚回滚故障时需要的动作数据据库库备备份份日志志回退退段段控制制文文件件7.1恢恢复复数数据据库库所所使使用用的的结结构构当数数据据库库实实例例意意外外地地((如如掉掉电电、、后后台台进进程程故故障障等等))或或预预料料地地((发发出出shutdownabort语语句句))终终止止时时出出现现实实例例故故障障,,此此时时需需要要实实例例恢恢复复。。实例恢复将将数据库恢恢复到故障障前的事务务一致状态态。如果联机备备份时出现现实例故障障,则需要要介质恢复复。在其它情况况下,Oracle在下次数据据库起动时时(对新实实例装配和和打开),,自动地执执行实例恢恢复。7.2实实例故故障的一致致性恢复恢复步骤处处理(1)为恢恢复数据文文件中没有有记录的数数据,进行行前滚。数数据记录在在联机日志志中,包括括对回滚段段的内容恢恢复。(2)回滚滚未提交的的事务。(3)释放放在故障时时正在处理理事务所持持有的资源源。(4)解决决在故障时时执行的任任何悬而未未决的分布布事务。电源失效和和软件问题题是引起一一台Oracle数数据库服务务器出现意意外崩溃的的常见原因因。当系统崩溃溃时,数据据库服务器器没有完全全关闭。在系统崩溃溃期间,Oracle没有时时间执行数数据库检查查点以确保保缓存中被被修改的数数据块安全全地写回到到数据文件件中。系统崩溃不不会永久损损坏任何一一个数据库库的数据文文件。7.3崩崩溃恢复复介质故障是是当一个文文件、一个个文件的部部分、磁盘盘不能读或或不能写时时出现的故故障,介质质故障后,,必须执行行一个介质质恢复操作作。在一个个典型的介介质恢复期期间,必须须完成以下下几步操作作:(1)修理理所有的硬硬件问题(2))重重建建丢丢失失的的数数据据文文件件(3))使使用用必必要要的的事事务务日日志志组组,,完完成成恢恢复复操操作作(4)执行行一个适当当的介质恢恢复7.4介介质恢复复完全恢复是是一种恢复复所有提交交事务的操操作,恢复复全部丢失失的修改。。完全恢复包包括数据库库恢复、表表空间恢复复和数据文文件恢复。。7.5完完全恢复复数据库恢复复数据库恢复复是恢复数数据库中所所有丢失工工作的最简简单的方法法,用于恢恢复数据库库的全部数数据文件,,恢复管理理器识别受受损的数据据文件并且且使用恢复复目录、可可用的数据据文件备份份集和事务务日志来执执行自动恢恢复。执行行数据库恢恢复,应当当关闭数据据库,使其其不可使用用。表空间恢复复当一个数据据库的部分分被损坏,,并且需要要高可用性性时,可以以考虑使用用表空间恢恢复。对特特定表空间间的全部数数据文件中中丢失的工工作进行恢恢复。但是是,如果系系统表空间间损坏了,,不能执行行系统表空空间的恢复复工作。数据文件恢恢复当一个单独独的数据文文件损坏,,可以考虑虑数据文件件恢复,可可用于一个个特定数据据文件中丢丢失的工作作。在数据据库打开,,并且受损损的数据文文件所在的的表空间脱脱机后,利利用恢复管管理器来执执行数据文文件的恢复复。在一些情况况下,可以以执行不完完全恢复,,使用事务务日志的重重做项恢复复提交事务务的一部分分工作,重重构受损的的数据库,,使其恢复复介质故障障前或用户户出错之前前的一个事事务一致性性状态。Oracle和恢复复管理器支支持三种不不同类型的的不完全恢恢复基于时间((TIME)的恢复复基于修改((SCN))的恢复基于取消的的恢复。7.6不不完全恢恢复8小结结数据库的常常见故障主主要有:系系统崩溃或或服务器崩崩溃,用户户错误、冲冲突或者磁磁盘失效导导致的文件件丢失,SQL语句句失败,网网络故障,,场地灾难难。备份(Backup)就是把把数据库复复制到磁带带、磁盘等等存储设备备的过程,,以供故障障发生时执执行数据库库恢复(Recover)。。备份的目目的是防止止不可预料料的错误和和故障导致致数据丢失失和应用错错误。Oracle数据库库的备份方方法有:冷冷备份、热热备份和逻逻辑备份((Export/Import)。恢复方法有有:完全恢恢复、不完完全恢复、、RMAN备份恢复复等方式。。Oracle数据库库保护机制制主要有数数据库备份份、事务日日志。在Oracle中,,Export实用用程序就是是用来完成成逻辑备份份。若要使使用逻辑备备份来恢复复数据库,,那么可以以使用Oracle的Import实实用程序。。当用户导导入导出时时,有相应应的权限要要求。脱机备份是是最简单的的一种数据据库备份方方式,必须须在数据库库关闭后进进行备份,,用户不能能访问数据据库,是一一种完全备备份。脱机备份份可以用用于恢复复整个数数据库,,恢复时时将备份份的文件件

温馨提示

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

评论

0/150

提交评论