首页技术社区技术博客帮助欢迎您登录|注册登录站点用户名密码记住我登录注册oracle数据备份与恢复精华资料已有327次阅读2008-09-2310:49tzhsuccess的日志tzhsuccess的主页»TA的所有日志»查看日志«返回上一参考本文档内容,你一定能够掌握oracle的备份与恢复冷备份......................................................................................................................11、备份步骤:...................................................................................................12、恢复步骤:...................................................................................................2热备份......................................................................................................................21、备份步骤:...................................................................................................22、恢复步骤:...................................................................................................4Windows平台的oracle备份(VeritasBE)......................................................................51、需要的数据:...............................................................................................52、恢复过程:...................................................................................................5例子:(网上原资料)...............................................................................................71.用Oracle的热备份重建数据库.....................................................................72.Oracle9iRMAN备份及恢复步骤................................................................12冷备份1、备份步骤:冷备份具有很多优良特性,快速,方便,以及高效。一次完整的冷备份步骤是:1,首先关闭数据库(shutdownnormal)2,拷贝相关文件到安全区域(利用操作系统命令拷贝数据库的所有的数据文件、日志文件、控制文件、参数文件、口令文件等(包括路径))3,重新启动数据库(startup)以上的步骤可以用一个脚本来完成操作:su–oraclesqlplus/nologconnect/assysdbashutdownimmediate;!cp文件备份位置(所有的日志、数据、控制及参数文件);startup;exit;2、恢复步骤:恢复的时候,相对比较简单了,我停掉数据库,将文件拷贝回相应位置,重启数据库就可以了,当然也可以用脚本来完成。热备份1、备份步骤:当需要做一个精度比较高的备份,而且我们的数据库不可能停掉(少许访问量)时,这个情况下,我们就需要归档方式下的备份,就是下面讨论的热备份。热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作。具体步骤如下:1,通过视图v$database,查看数据库是否在Archive模式下:SQLselectlog_modefromv$database;如果不是Archive模式则设定数据库运行于归档模式下:SQLshutdownimmediate老板键:如果老板来了,按F9,技术之家将自动隐身。Page1of10oracle数据备份与恢复精华资料-日志-tzhsuccess-技术之家-IXPUB技术社区...2010-3-23http://home.ixpub.net/space.php?uid=77686&do=blog&id=338408SQLstartupmountSQLalterdatabasearchivelog;SQLalterdatabaseopen;如果Automaticarchival显示为“Enabled”,则数据库归档方式为自动归档。否则需要手工归档,或者将归档方式修改为自动归档,如:正常shutdown数据库,在参数文件中init.ora中加入如下参数SQLshutdownimmediate修改init.ora:LOG_ARCHIVE_START=TRUELOG_ARCHIVE_DEST1=ORACLE_HOME/admin/o816/arch(归档日值存放位置可以自己定义)SQLstartup然后,重新启动数据库,此时Oracle数据库将以自动归档的方式工作在Archive模式下。其中参数LOG_ARCHIVE_DEST1是指定的归档日志文件的路径,建议与Oracle数据库文件存在不同的硬盘,一方面减少磁盘I/O竞争,另外一方面也可以避免数据库件所在硬盘毁坏之后的文件丢失。归档路径也可以直接指定为磁带等其它物理存储设备,但可能要考虑读写速度、可写条件和性能等因素。注意:当数据库处在ARCHIVE模式下时,一定要保证指定的归档路径可写,否则数据库就会挂起,直到能够归档所有归档信息后才可以使用。另外,为创建一个有效的备份,当数据库在创建时,必须履行一个全数据库的冷备份,就是说数据库需要运行在归档方式,然后正常关闭数据库,备份所有的数据库组成文件。这一备份是整个备份的基础,因为该备份提供了一个所有数据库文件的拷贝。(体现了冷备份与热备份的合作关系,以及强大的能力)2,备份表空间文件:a,首先,修改表空间文件为备份模式ALTERTABLESPACEtablespace_nameBEGINBACKUP;b,然后,拷贝表空间文件到安全区域!CPtablespace_nameD_PATH;c,最后,将表空间的备份模式关闭ALTERTABLESPACEtablespace_nameENDBACKUP;3,对归档日志文件的备份:停止归档进程--备份归档日志文件--启动归档进程如果日志文档比较多,我们将它们写入一个文件成为一个恢复的参考:$files`ls归档文件路径/arch*.dbf`;exportfiles4,备份控制文件:SQLalterdatabasebackupcontrolfileto'controlfile_back_name(一般用2004-11-20的方式)'reuse;当然,我们也可以将上面的东东写为一个脚本,在需要的时候执行就可以了:脚本范例:su–oraclesqlplus/nologconnect/assysdbaALTERTABLESPACEtablespace_nameBEGINBACKUP!CPtablespace_nameD_PATHALTERTABLESPACEtablespace_nameENDBACKUPalterdatabasebackupcontrolfileto'controlfile_back_name(一般用2004-11-20的方式)'reuse;!files`ls归档文件路径/arch*.dbf`;exportfiles2、恢复步骤:热备份的恢复,对于归档方式数据库的恢复要求不但有有效的日志备份还要求有一个在归档方式下作的有效的全库备份。归档备份在理论上可以无数据丢失,但是对于硬件以及操作人员的要求都比较高。在我们使用归档方式备份的时候,全库物理备份也是非常重要的。归档方式下数据库的恢复要求从全备份到失败点所有的日志都要完好无缺。恢复步骤:LOG_ARCHIVE_DEST_1shutdown数据库。将全备份的数据文件放到原来系统的目录中。将全备份到失败点的所有归档日志放到参数LOG_ARCHIVE_DEST_1所指定的位置。利用sqlplus登陆到空实例。(connect/assysdba)然后startupmountPage2of10oracle数据备份与恢复精华资料-日志-tzhsuccess-技术之家-IXPUB技术社区...2010-3-23http://home.ixpub.net/space.php?uid=77686&do=blog&id=338408setautorecoveryonrecoverdatabase;alterdatabaseopen;这样,热恢复就算完工。Windows平台的oracle备份(VeritasBE)通过BackupExec实施Oracle灾难恢复很简单。1、需要的数据:1、FULLCLOSED备份shutdown数据库(不要用shutdownabort强行关闭),实施一个文件级备份,备份全部的Oracle相关文件,包括Windows系统文件,系统状态和Oracle程序文件和数据文件等内容。这个冷备份对于快速恢复Oracle数据库系统非常关键,如果没有它,系统被破坏后只能重新安装再恢复,这要比直接恢复冷备份慢得多,也更复杂。每当数据库或表单的物理结构或逻辑结构有变化时都应该重新创建这个冷备份。2.FULLONLINE备份这个备份要通过BackupExecAgentforOracleServer来完成,要备份全部表空间,归档日志和控制文件,通过这种方式备份,Oracle会将所有缓存内容写入文件,将onlineredolog做归档,所以数据库备份中包含的是备份时数据库的即时点信息,完整而且有效。以后做恢复时,可以恢复到最后一次FULLONLINE备份的状态。2、恢复过程:1.重新安装Windows系统和RemoteAgentforWindowsServer,为恢复Oracle服务器准备环境。2.恢复最后一次FULLCLOSED备份,重新启动计算机。此时Windows系统,Oracle数据库系统都是完整的,只是Oracle数据库中可能不是最新的数据。BackupExecAgentforOracleServer也不用重新安装了。3.用SQLPlus用SYS以sysdba身份连接到数据库系统,关闭数据库。shutdownimmediate+enter4.通过介质服务器恢复最新的FULLONLINE备份,恢复作业属性的高级选项中,确保选中了“RestoreoverExistingfiles(覆盖现存文件)”选项。要想成功的恢复数据库,在最后一次FULLCLOSED备份之后的所有redolog必须都已经成功归档并备份。少了哪一个,数据库就无法恢复到最后的FULLONLINE备份时的状态。通过Oracle的alertlog可以看到数据库的恢复需要哪些归档日志,以及你应该把它们恢复到什么位置。5.恢复完成后,用SYS用户以sysdba身份连接到数据库,将数据库加载到mount阶段:star