您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第11章备份与恢复OK
第11章备份与恢复Oracle数据库应用技术主要内容备份与恢复概述手动备份数据库手动恢复数据库利用RMAN备份数据库利用RMAN恢复数据库Oracle数据库应用技术11.1备份与恢复概述备份与恢复的概念物理备份与恢复分类Oracle数据库应用技术11.1.1备份与恢复的概念•在Oracle数据库中,数据库备份与恢复分为物理备份与恢复和逻辑备份与恢复两类。•逻辑备份与恢复是利用Oracle提供的导出工具将数据库中的对象及其数据导出到转储文件中,利用导入工具将转储文件中的数据导入数据库。•物理备份与恢复是指备份数据库的物理文件,包括数据文件、控制文件、归档重做日志文件等,当数据库发生介质故障时,利用备份的物理文件恢复损坏的物理文件。Oracle数据库应用技术在Oracle数据库中,物理备份与恢复可以采用手动方式进行,即由管理员手动进行每个物理文件的备份与恢复。也可以使用Oracle恢复管理器(RMAN)使用命令自动进行备份与恢复的操作。Oracle数据库应用技术11.1.2物理备份与恢复分类物理备份分类联机备份和脱机备份一致性备份和不一致性备份完全备份和部分备份完整备份和增量备份物理恢复分类量备份完全恢复和不完全恢复归档模式下的恢复和非归档模式下的恢复Oracle数据库应用技术11.2手动备份数据库脱机备份联机备份Oracle数据库应用技术11.2.1脱机备份脱机完全备份主要备份数据库所有的数据文件和控制文件。由于其它文件都比较小,为了恢复的方便,通常脱机备份时将其它文件一起备份。Oracle数据库应用技术•利用SQL*Plus工具按下列步骤进行。–启动SQL*Plus,以SYSDBA身份登录数据库。–查询当前数据库所有数据文件、控制文件、联机重做日志文件、初始化参数文件的位置。–正常关闭数据库。•SQLSHUTDOWNIMMEDIATE–复制所有数据文件、控制文件、联机重做日志文件以及初始化参数文件等其它配置文件到备份磁盘。可以直接在操作系统中使用复制、粘贴方式进行,也可以在SQL*Plus环境中使用下列形式的操作系统命令完成。•SQLHOSTCOPY原文件名称目标路径名称–重新启动数据库•SQLSTARTUPOracle数据库应用技术11.2.2联机备份备份表空间与数据文件备份控制文件备份归档重做日志文件Oracle数据库应用技术备份表空间与数据文件•首先查询表空间对应的所有数据文件。•使用ALTERTABLESPACE…BEGINBACKUP语句将表空间设置为备份模式。例如:–SQLALTERTABLESPACEUSERSBEGINBACKUP;•利用操作系统命令备份表空间包含的所有数据文件。•使用ALTERTABLESPACE…ENDBACKUP语句结束表空间的备份状态。例如:–SQLALTERTABLESPACEUSERSENDBACKUP;•对所有未归档的联机重做日志文件进行归档–SQLALTERSYSTEMARCHIVELOGCURRENT;Oracle数据库应用技术备份控制文件可以使用ALTERDATABASEBACKUPCONTROLFILETO语句生成控制文件的二进制备份。例如:SQLALTERDATABASEBACKUPCONTROLFILETO'D:\BACKUP\CONTROL.BKP';可以使用带TRACE子句的ALTERDATABASE语句将控制文件内容备份到跟踪文件。例如:SQLALTERDATABASEBACKUPCONTROLFILETOTRACE;Oracle数据库应用技术备份归档重做日志文件•查询数据库的动态性能视图V$ARCHIVE_DEST,查看数据库中可用的归档目标。–SQLSELECTDEST_NAME,STATUS,DESTINATION–FROMV$ARCHIVE_DEST;•查询数据库的动态性能视图V$ARCHIVE_LOG,查看有哪些已归档的重做日志文件。–SQLSELECTTHREAD#,SEQUENCE#,NAME–FROMV$ARCHIVED_LOG;•利用操作系统命令备份可用归档目标中所有的归档重做日志文件。–SQLHOSTCOPYD:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\*D:\BACKUP\ARCH;Oracle数据库应用技术11.3手动恢复数据库非归档模式下的不完全介质恢复归档模式下的完全介质恢复归档模式下的不完全介质恢复Oracle数据库应用技术11.3.1非归档模式下的不完全介质恢复•在非归档模式下,利用一致性完全备份恢复数据库的步骤为:–如果数据库处于打开状态,则关闭数据库。•SQLSHUTDOWNIMMEDIATE–利用最近的数据库完全备份,使用操作系统命令修复数据库。必须修复数据库中所有的数据文件和控制文件,而不仅仅是损坏或丢失的数据文件和控制文件。–如果有必要,编辑初始化参数文件的CONTROL_FILES参数,重新指定控制文件的位置。–利用编辑后的初始化参数文件以及修复后的数据库,启动并加载数据库实例。•SQLSTARTUPMOUNTOracle数据库应用技术如果修复后的数据文件的存放位置或名称与数据库介质故障前数据文件的位置或名称不同,则需要使用ALTERDATABASERENAMEFILE…TO语句修改控制文件中的数据文件的位置与名称信息。例如:SQLALTERDATABASERENAMEFILE‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF’TO‘E:\DISK\USERS01.DBF’;如果联机重做日志文件存储在损坏的磁盘上,而且该磁盘无法修复,则需要指定联机重做日志文件新的存储位置。例如:SQLALTERDATABASERENAMEFILE‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG’TO‘D:\DISK\REDO01.LOG’;Oracle数据库应用技术如果没有重做日志文件的备份,则不能象修复数据文件和控制文件那样修复联机重做日志文件。为了使Oracle数据库可以重置联机重做日志文件,必须执行一次不完全介质恢复。例如:SQLRECOVERDATABASEUNTILCANCEL;SQLCANCEL;使用RESETLOGS方式打开数据库。Oracle将清空联机重做日志文件,将重做日志文件序列号设置为1。SQLALTERDATABASEOPENRESETLOGS;Oracle数据库应用技术11.3.2归档模式下的完全介质恢复数据库关闭状态下的完全恢复数据库运行状态下的完全恢复18Oracle数据库应用技术归档模式下数据库的完全恢复是指归档模式下,一个或多个数据文件损坏或丢失,利用备份的数据文件修复损坏或丢失的数据文件,再结合归档重做日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动,采用回滚技术回滚未提交的事务,将数据库恢复到故障时刻的状态,没有任何数据丢失。Oracle数据库应用技术根据数据文件损坏或丢失情况的不同,数据库完全恢复可以在3个级别上进行:数据文件级恢复:针对特定损坏或丢失的数据文件进行恢复。表空间级恢复:针对特定表空间中损坏或丢失的数据文件进行恢复。数据库级恢复:针对多个表空间中损坏或丢失的数据文件进行恢复。Oracle数据库应用技术归档模式下数据库完全恢复的基本语法为:RECOVER[AUTOMATIC][FROM'location'][DATABASE|TABLESPACEtablespace|DATAFILEdatafile]Oracle数据库应用技术数据库关闭状态下的完全恢复•如果数据库没有关闭,则强制关闭数据库。–SQLSHUTDOWNIMMEDIATE•如果数据文件的损坏或丢失是永久性的,则使用操作系统命令,利用最近的备份修复损坏或丢失的数据文件,不需要修复未损坏或未丢失的数据文件以及重做日志文件。•启动数据库实例并加载数据库,但是不打开数据库。–SQLSTARTUPMOUNTOracle数据库应用技术•如果没有将数据文件修复到原来的位置,需要使用ALTERDATABASERENAMEFILE…TO语句修改控制文件中数据文件的位置信息。例如:–SQLALTERDATABASERENAMEFILE–‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF’–TO‘E:\DISK\USERS01.DBF’;•保证所有需要恢复的数据文件都处于联机状态,Oracle只对处于联机状态的数据文件进行恢复。可以使用ALTERDATABASEDATAFILE…ONLINE语句将数据文件设置为联机状态。例如:–SQLALTERDATABASEDATAFILE–'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'–ONLINE;Oracle数据库应用技术•执行RECOVER命令,进行完全介质恢复。可以恢复整个数据库,或者单独恢复某个表空间或者单独恢复某个数据文件。例如:–SQLRECOVERAUTOMATICDATABASE;–SQLRECOVERAUTOMATICTABLESPACEusers;–SQLRECOVERAUTOMATICDATAFILE'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';•如果归档重做日志文件不在默认归档目标,需要使用FROM子句指定归档重做日志文件所在位置。在恢复过程中,如果应用完所有的归档重做日志文件后恢复还没有结束,Oracle将会继续应用联机重做日志文件。•恢复过程结束后,打开数据库。–SQLALTERDATABASEOPEN;Oracle数据库应用技术数据库运行状态下的完全恢复•将损坏或丢失的数据文件设置为脱机状态。例如:–SQLALTERDATABASEDATAFILE'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'OFFLINE;•如果一个表空间中有多个数据文件损坏或丢失,可将表空间设置为脱机状态。例如:–SQLALTERTABLESPACEUSERSOFFLINE;•如果数据文件的损坏或丢失是永久性的,则使用操作系统命令,利用最近的备份修复损坏或丢失的数据文件。尽量将损坏或丢失的数据文件修复在原来的位置,如果原来位置不可用,需要修复到其它位置。Oracle数据库应用技术•如果没有将数据文件修复到原来的位置,需要使用ALTERDATABASERENAMEFILE…TO语句修改控制文件中数据文件的位置信息。例如:–SQLALTERDATABASERENAMEFILE–‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF’TO‘E:\DISK\USERS01.DBF’;•执行RECOVER命令,进行文件级别的完全介质恢复。例如:–SQLRECOVERAUTOMATICDATAFILE'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';•如果数据文件的恢复在表空间级别上进行,则执行表空间恢复命令。例如:–SQLRECOVERAUTOMATICTABLESPACEUSERS;•恢复结束后,将数据文件设置为联机状态。例如:–SQLALTERDATABASEDATAFILE'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'ONLINE;•如果数据文件的恢复在表空间级别上进行,则将表空间联机。例如:–SQLALTERTABLESPACEUSERSONLINE;Oracle数据库应用技术11.3.3归档模式下的不完全介质恢复下列情况下可以考虑对数据库进行不完全的介质恢复。归档重做日志文
本文标题:第11章备份与恢复OK
链接地址:https://www.777doc.com/doc-2153131 .html