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和恢复管理理器支持三种种不同类型的的不完全

温馨提示

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

评论

0/150

提交评论