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

下载本文档

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

文档简介

1、ORACLE培训教讲义第六章 orraclee数据库的的备份与恢恢复第一部分:数据库的的备份备份的必要要性因为各种人人为或外界界的因素可可能会造成成数据库中中灾难性的的数据丢失失,为了保保证数据库库中数据的的安全,必必须采取备备份措施保保证RDBBMS中包包含的数据据免遭破坏坏,而有效效的备份是是十分简单单和普通的的,是在数数据库处于于无法使用用状态时用用于重建数数据库的重重要信息拷拷贝 。在在重要的修修改如删除除段或者表表空间以前前或以后执执行适当的的备份是相相当必要的的。备份的种类类:冷备份:一种最简单单直接的备备份方式,也也称为脱机机备份,但但是必须关关闭数据库库,这对于于当前724的有

2、有效性并不不可取;联机热备:正如名称所所示,是在在数据库打打开时执行行的备份方方式,进行行联机备份份比进行脱脱机备份的的进程复杂杂;用导出exxp应用程程序备份:是对于脱机机备份和联联机备份类类型的补充充,因为它它无法回滚滚,所以不不能替代数数据库文件件的备份。各种备份的的原理和步步骤:冷备份:关闭数据库库,采取操操作系统拷拷贝命令来来完成对数数据库的备备份,然后后启动数据据库。例如:将名名为lyjj的数据库库作一个冷冷备份,备备份的文件件放置在/mnt/backkup_wwy/目录录下。首先找出控控制文件、数据文件件和reddo日志文文件的存储储位置SQL seleect nname fro

3、mm v$ccontrrolfiile ;NAME-/u3/ooradaata/llyj/ccontrrol011.ctll/u3/ooradaata/llyj/ccontrrol022.ctll/u3/ooradaata/llyj/ccontrrol033.ctllSQL seleect sstatuus,naame ffrom v$daatafiile ;STATUUS NAAME- -SYSTEEM /uu3/orradatta/lyyj/syystemm01.ddbfONLINNE /uu3/orradatta/lyyj/toools001.dbbfONLINNE /uu3/orrad

4、atta/lyyj/rbbs01.dbfONLINNE /uu3/orradatta/lyyj/teemp011.dbffONLINNE /uu3/orradatta/lyyj/ussers001.dbbfONLINNE /uu3/orradatta/lyyj/inndx011.dbffSQL seleect * froom v$logffile ;GROUPP# STAATUS MMEMBEER-/u3/ooradaata/llyj/rredo001.loog2 /u3/ooradaata/llyj/rredo002.loog3 /u3/ooradaata/llyj/rredo003.loo

5、g关闭数据库库:SQL shuttdownn数据库已经经关闭。已经卸载数数据库。ORACLLE 例程程已经关闭闭。将数据文件件、控制文文件和reedo日志志文件从上上面查找出出来的位置置拷贝到/mnt/backkup_wwy/目录录下作为备备份:oraccle|115:388:09|/u3/oraddata/lyj$ ccp *.ctl /mntt/bacckup_wy/oraccle|115:388:29|/u3/oraddata/lyj$ cpp *.llog /mnt/backkup_wwy/oraccle|115:388:43|/u3/oraddata/lyj$ cpp *.ddbf

6、/mnt/backkup_wwy/重新开启数数据库:sstarttup 热备份 在在联机状态态下执行备备份,这时时数据库必必须运行在在ARCHHIVELLOG模式式下,因为为在日志书书写器进程程重新使用用它之前,副副本是由每每一个reedo日志志文件组成成的,日志志书写器在在循环方式式中通过rredo日日志文件进进行循环,只只要数据库库正在运行行,它就写写入一个,然然后是另一一个,依此此类推。在在ARCHHIVELLOG模式式下运行时时,直到rredo日日志文件的的永久拷贝贝被建立,OOraclle才覆盖盖redoo日志文件件。在ARRCHIVVELOGG模式中运运行数据库库时,可以以选择当每

7、每个reddo日志文文件写满时时手工地生生成备份或或者启动可可选的归档档进程进行行自动备份份。只有通通过syss身份或iinterrnal登登录数据库库,就有权权利通过ssqlpllus或ssvrmggr查看数数据库的归归档状态;SVRMGGR aarchiive llog llist数据库记录录模式 存档模式式自动存档 已已启用存档路径 /u2/oorateest/aadminn/lyjj/arcch最旧的联机机日志顺序序 496要存档的下下一个记录录顺序 498当前记录顺顺序 4998 在在这种模式式下,数据据库运行在在ARCHHIVELLOG模式式下,并且且能够进行行自动归档档,此时,可

8、可以进行联联机备份了了。假设数据库库运行在非非存档模式式下,就应应该在参数数文件中修修改logg_arcchivee_staart = truue log_aarchiive_ddest = 指定定的保存归归档日志文文件的目录录log_aarchiive_fformaat = “制定的归归档日志文文件的存储储格式备份控制文文件;备份数据文文件;归档当前的的联机日志志文件;备份归档日日志文件。下面以lyyj为例说说明如何热热备一个数数据库:备份控制文文件:SVRMGGR aalterr dattabasse baackupp conntrollfilee to /mnnt/baackupp_wy

9、/conttrolffile ;语句已处理理。用完整的文文件夹路径径和文件的的名称/mnt/backkup_wwy/coontroolfille将备备份控制文文件存储在在此。备份数据文文件: 执执行一个数数据库的联联机备份时时,需要一一次复制一一个表空间间的数据文文件,在位位一个表空空间复制文文件之前需需要执行AALTERR TABBLESPPACE tabllespaace_nname BEGIIN BAACKUPP; 为为表空间复复制完文件件时,需要要执行下列列命令:ALTERR TABBLESPPACE tabllespaace_nname END BACKKUP; 使使用这些BBEGI

10、NN和ENDD命令的理理由是当它它们被复制制时,Orraclee需要将数数据文件头头保持连贯贯状态,发发出BEGGIN命令令时,Orraclee停止更新新受影响的的数据文件件的文件头头上的检查查点,在整整个表空间间备份模式式中,Orraclee通过将全全部的数据据块写入rredo日日志文件的的方式来记记录这个表表空间中的的数据的变变化。通过下面语语句找出所所有表空间间的名字:SVRMGGR sselecct * fromm v$ttableespacce;TS# NAAME- - 0 SYYSTEMM 1 TOOOLS 2 RBBS 3 TEEMP 4 USSERS 5 INNDX 然然后对这

11、些些表空间进进行备份,将将数据文件件备份到/mnt/backkup_wwy/目录下:SVRMGGR aalterr tabblesppace systtem bbeginn bacckup ;语句已处理理。SVRMGGR aalterr tabblesppace toolls beegin backkup ;语句已处理理。SVRMGGR aalterr tabblesppace rbs begiin baackupp;语句已处理理。SVRMGGR aalterr tabblesppace tempp beggin bbackuup ;语句已处理理。SVRMGGR aalterr tabbles

12、ppace userrs beegin backkup ;语句已处理理。SVRMGGR aalterr tabblesppace indxx beggin bbackuup ;语句已处理理。oraccle|117:011:53|/u3/oraddata/lyj$ cpp *.ddbf /mntt/bacckup_wy/SVRMGGR aalterr tabblesppace systtem eend bbackuup ;语句已处理理。SVRMGGR aalterr tabblesppace toolls ennd baackupp ;语句已处理理。SVRMGGR aalterr tabbles

13、ppace userrs ennd baackupp ;语句已处理理。SVRMGGR aalterr tabblesppace tempp endd bacckup ;语句已处理理。SVRMGGR aalterr tabblesppace indxx endd bacckup ;语句已处理理。SVRMGGR aalterr tabblesppace rbs end backkup ;语句已处理理。归档当前的的联机reedo日志志文件:备份完所有有的数据文文件后,需需要归档当当前的联机机redoo日志文件件,因为恢恢复时需要要它们。归归档她们时时允许和所所有其他的的归档日志志文件一起起进行备份份

14、。SVRMGGR aalterr sysstem archhive log currrent;语句已处理理。这条命令导导致Oraacle转转换到一个个新的日志志文件。然然后Oraacle归归档所有未未被归档的的日志文件件,还可以以使用另外外两条命令令达到相同同的效果:SVRMGGR aalterr sysstem swittch llogfiile ;语句强制转转换日志。SVRMGGR aalterr sysstem archhive log all ;语句导致OOraclle所有已已写满但仍仍未归档的的redoo日志文件件归档。备份归档日日志文件一旦已经归归档了当前前联机的日日志文件,最最后

15、一步就就是备份所所有归档日日志文件到到/mntt/bacckup_wy/目目录下,因因为还原数数据库时需需要它们oraccle|117:422:46|/u2/orattest/admiin/lyyj/arrch$ cp archh_*.* /mnnt/baackupp_wy/导出数据库库作备份数据库导出出可以被看看作备份的的一种形式式。Oraacle实实用工具EExporrt利用SSQL语句句读出数据据库数据,并并在操作系系统层将数数据和定义义存入二进进制文件。导出对于于还原一个个意外删除除的对象或或还原这个个对象的定定义来说是是很好的,因因为脱机备备份不能只只还原一个个对象,而而联机备份份还

16、原一个个对象必须须得还原该该对象存在在的数据文文件,相对对于导出这这种备份形形式来说要要繁琐很多多,但是从从导出中还还原时,仅仅能得到导导出文件中中的内容,不不能从中向向前回滚,所所以导出数数据库这种种备份方式式只能作为为联机备份份和脱机备备份的一种种补充。第二部分:数据库的的恢复请求恢复数据库的恢恢复一般分分为NOAARCHIIVELOOG模式和和ARCHHIVELLOG模式式,实际情情况中很少少会丢失整整个一个ooraclle数据库库,通常只只是一个驱驱动器损坏坏,使得仅仅仅丢失该该驱动器上上的文件。如何从这这样的损失失中恢复很很大程度上上取决于数数据库是否否正运行在在ARCHHIVELL

17、OG模式式下。如果果没有运行行在ARCCHIVEELOG模模式下而丢丢失了一个个数据库文文件,就只只能从最近近的一次备备份中恢复复整个数据据库,备份份之后的所所有变化都都丢失,而而且在数据据库被恢复复时,必须须关闭数据据库。由于于在一个产产品中丢失失数据或将将数据库关关闭一段时时间是不可可取的,所所以大多数数oraccle产品品数据库都都运行在AARCHIIVELOOG模式下下。在oraccle中,恢恢复指的是是从归档和和联机reedo日志志文件中读读取reddo日志记记录并将这这些变化应应用到数据据文件中并并将其更新新到最近状状态的过程程。从备份中还还原一个文文件时,文文件代表了了数据库被被

18、备份时而而不是丢失失时的状态态,通常情情况下希望望恢复过渡渡期即文件件备份和文文件丢失之之间发生的的所有变化化,由于所所有变化都都被写入日日志文件中中,所以能能够通过读读取日志文文件并且再再次将这些些变化应用用于所还原原的文件中中。还原NOAARCHIIVELOOG模式下下的数据库库还原一个运运行于NOOARCHHIVELLOG模式式下的数据据库代表了了最简单的的情况,由由于不存在在归档日志志文件,也也就不可能能有介质恢恢复,全部部的操作仅仅仅是操作作系统级的的复制过程程。还原一一个NOAARCHIIVELOOG模式下下运行的数数据库由下下列几步组组成:如果实例正正在运行,关关闭数据库库;sh

19、uutdowwn从最近备份份中还原控控制文件和和数据文件件;指定是否移移动任何一一个文件在启动数据据库时,ooraclle将根据据参数文件件指定的路路径寻找这这些文件。如果一个个磁盘的丢丢失迫使将将文件放回回到与最初初不同的位位置,需要要告诉orraclee,否则,就就会出现出出错信息。可以有两种种方法告诉诉oraccle已移移动了一个个数据库文文件:使用altter ddatabbase renaame ffileorigginall_fillenamme to new_fileenamee命令,其其中,origginall_fillenamme是当前使使用的完整整的路径和和文件名,而而ne

20、w_fileenamee是文件当当前的路径径和文件名名。为了改变数数据库文件件的名字,数数据库必须须被安装但但没有打开开,因为变变化要在控控制文件中中被记录。e.g: connnect inteernall;starttup mmountt;alterr dattabasse reenamee fille /u3/oraddata/lyj/systtem011.dbff to /mntt/bacckup_wy/ssysteem01.dbf ;如果正在移移动全部或或大部分的的数据文件件,重建控控制文件会会相对简单单一些。而而如果在备备份控制文文件时使用用了altter ddatabbase ba

21、ckkup ccontrrolfiile tto trrace这这条语句,就就会在addmin/udummp目录下下找到重建建控制文件件的跟踪语语句,该语语句包括必必须的crreatee conntrollfilee等命令,将将该文件中中的改变了了的文件名名代替原有有的文件名名和位置。重新打开数数据库应该使用rresettlogss选项打开开数据库,这这样复位日日志文件是是为了保证证在新的记记录和那些些从先前的的数据库中中留下的记记录之间不不会产生任任何冲突。e.g:用用备份的控控制文件替替换控制文文件:SVRMGGRcoonnecct innternnalSVRMGGR aalterr da

22、ttabasse baackupp conntrollfilee to /mnnt/baackupp_wy/conttrol.ctl ;Stateementt proocesssed.SVRMGGR aalterr dattabasse baackupp conntrollfilee to tracce ;SVRMGGRexxitoraccle|115:411:32|/u3/oraddata/lyj$cp /mnnt/baackupp_wy/conttrol.ctl conttrol001.cttloraccle|115:411:32|/u3/oraddata/lyj$cp /mnnt/baa

23、ckupp_wy/conttrol.ctl conttrol002.cttloraccle|115:411:32|/u3/oraddata/lyj$cp /mnnt/baackupp_wy/conttrol.ctl conttrol003.cttlSVRMGGRcoonnecct innternnalSVRMGGRsttartuup moountSVRMGGRallter dataabasee opeen reesetllogs;请求介质恢恢复介质恢复是是指这样一一种过程:从reddo日志文文件中读取取变化并把把这些变化化应用于从从备份中还还原的一个个或多个数数据库文件件中,最终终结果是数数据

24、库文件件被更新到到当前日期期并且它们们反应了备备份后所做做的所有变变化,因此此进行介质质恢复必须须把reddo日志放放在第一位位。在ARCHHIVELLOG模式式下运行数数据库时,ooraclle在每个个redoo日志文件件写满后都都进行一次次拷贝,这这些拷贝同同没有被复复制的任何何联机reedo日志志文件一起起被称为是是归档日志志文件,形形成对数据据库所进行行的变化的的一条连续续记录。如如果丢失了了一个数据据文件并被被迫从备份份中还原它它,那么归归档日志文文件中的信信息将被用用来将所有有变化重新新应用给备备份发生后后被建立的的文件,最最后的效果果是没有遭遭受数据损损失。恢复控制文文件在进行介

25、质质恢复时,如如果存在当当前控制文文件,就使使用当前控控制文件,如如果当前控控制文件在在出现介质质故障时丢丢失,那么么可以用控控制文件的的备份拷贝贝,或者创创建一个新新的控制文文件,创建建控制文件件的语法如如下:STARTTUP NOMOOUNT;CREATTE COONTROOLFILLE REEUSE DATAABASEE LYYJ NNORESSETLOOGS AARCHIIVELOOG MMAXLOOGFILLES 332 MMAXLOOGMEMMBERSS 2 MMAXDAATAFIILES 254 MMAXINNSTANNCES 8 MMAXLOOGHISSTORYY 9077LO

26、GFIILE GROOUP 11 /uu3/orradatta/lyyj/reedo011.logg SSIZE 500KK, GROOUP 22 /uu3/orradatta/lyyj/reedo022.logg SSIZE 500KK, GROOUP 33 /uu3/orradatta/lyyj/reedo033.logg SSIZE 500KKDATAFFILE /uu3/orradatta/lyyj/syystemm01.ddbf, /uu3/orradatta/lyyj/toools001.dbbf, /uu3/orradatta/lyyj/rbbs01.dbf, /uu3/orra

27、datta/lyyj/teemp011.dbff, /uu3/orradatta/lyyj/ussers001.dbbf, /uu3/orradatta/lyyj/inndx011.dbffCHARAACTERR SETT US77ASCIII;RECOVVER DDATABBASEALTERR SYSSTEM ARCHHIVE LOG ALL;ALTERR DATTABASSE OPPEN;Creatte coontroolfille命令只只能在noomounnt选项启启动数据库库后发出,执执行该命令令之前,创创建一个新新的控制文文件并自动动安装数据据库,然后后新的控制制文件在需需要时可以以

28、用于恢复复。从丢失的数数据文件中中恢复通常由磁盘盘错误引起起的数据文文件的丢失失,是用户户经常遇到到的情况。如果正在在ARCHHIVELLOG模式式下运行,那那么可只还还原丢失的的文件,把把它们还原原到出错的的那一刻,而而进行这些些操作时除除非sysstem表表出错,其其它的文件件正在运行行。使丢失的数数据文件脱脱机如果驱动器器错误导致致丢失了一一个数据文文件,那么么oraccle已经经将这个文文件脱机,可可以用下列列查询检查查数据库中中文件的状状态:SQL seleect sstatuus,naame ffrom v$daatafiile ;STATUUS NAAME- -SYSTEEM /

29、uu3/orradatta/lyyj/syystemm01.ddbfONLINNE /uu3/orradatta/lyyj/toools001.dbbfONLINNE /uu3/orradatta/lyyj/rbbs01.dbfONLINNE /uu3/orradatta/lyyj/teemp011.dbffONLINNE /uu3/orradatta/lyyj/ussers001.dbbfOFFLIINE /uu3/orradatta/lyyj/inndx011.dbff在这种情况况下,inndx011.dbff文件是脱脱机的,如如果已丢失失的文件还还没有脱机机,可以通通过下列命命令使其脱脱

30、机:alterr dattabasse daatafiile/u3/oraddata/lyj/indxx01.ddbfofflline;只有文件安安全脱机后后,才能继继续还原并并恢复它。其它未脱脱机的数据据文件可以以照常工作作。还原丢失的的数据文件件在恢复文件件前,使用用操作系统统级的复制制命令还原原数据文件件,否则执执行一条aalterr dattabasse reenamee fille命令在在数据库文文件中记录录新的位置置。1恢复丢失失的数据文文件(2种种方法)以sysddba或ssysteem或innternnal身份份登录后,执执行reccoverr dattabasse命令使使得o

31、raacle检检查所有文文件并对任任何需要恢恢复的文件件进行恢复复。recovver ddataffile /u3/oraddata/lyj/indxx01.ddbf如果归档日日志文件仍仍然联机,它它们需要在在archhive_log_ddest指指向的文件件夹中。2将已恢复复的文件重重新重新联联机恢复完文件件后是将文文件重新联联机,可以以通过allter dataabasee命令实现现。E.gg:SQLaalterr dattabasse daatafiile/u3/oraddata/lyj/indxx01.ddbfonliine ;OK!文件件已被恢复复,已被重重新联机,可可以正常使使用了

32、。执行一个不不完全恢复复在介质故障障恢复中,不不丢失数据据的数据库库恢复称为为完全恢复复。如果在在数据库恢恢复之后丢丢失某些数数据,则称称为不完全全恢复。一一般情况下下,当所有有需要的重重作日志文文件和备份份数据文件件以及当前前有效的控控制文件都都可以使用用时,应该该采用完全全恢复。只只有当丢失失了一个归归档或联机机重作日志志文件和控控制文件时时采用不完完全恢复。不完全恢恢复还可以以恢复到过过去的某个个时间点。不完全恢复复并不总是是代表一个个从进程错错误中恢复复的理想办办法,因为为如果联机机事务正在在发生而同同时一个批批处理进程程正在运行行,如果用用户运行一一个不完全全恢复来重重新运行批批处理

33、进程程,那些数数据就将丢丢失。在不不完全恢复复前,需要要将某一次次文件的全全备份进行行还原,然然后就可以以进行不完完全恢复了了。不完全恢复复有几个选选项可供选选择:untill canncel指指定一个基基于取消的的恢复;untill chaange指指定恢复到到一个指定定的SCNN;untill timme指定恢恢复到某一一时间;datettime指指定用户希希望恢复数数据库的日日期和时间间。SVRMGGRcoonnecct innternnal;SVRMGGRsttartuup moountSVRMGGRreecoveer daatabaase uuntill timme 200110221:10:300:00;SVRMGGRallter dataabasee opeen reesetllogs;因为在打开开数据库时时始用了rresettlogss选项, oraccle抛弃弃恢复中没没有运用的的重作纪录录,并且确确保永远不不再运用,同同时重新初初始化控制制文件中有有关联机日日志文件和和重作线程程的信息,可可以有效地地预防使用用一个已存存在的归档档和reddo日志来来再次恢复复,所以最最好在运行行完不完全全恢复后立立即执行数数据库的另另一个脱机机或联机的的全备份。从导出文件件

温馨提示

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

评论

0/150

提交评论