Oracle11G 备份和恢复
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 6
14.3.1 非归档模式下数据库的恢复
非归档模式下数据库的恢复主要指利用非归档模式下的冷备 份恢复数据库。 步骤为:
➢ 关闭数据库。 ▪ SHUTDOWN IMMEDIATE
➢ 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所 在的位置。
➢ 重新启动数据库。 ▪ STARTUP
注意
➢ 将数据文件联机。 ▪ ALTER DATABASE DATAFILE ▪ D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOURCE ▪ \example01.dbf' ONLINE;
➢ 如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤 (2)、(4)~(6)。
➢ 在Oracle数据库中,既可以由管理员手动进行备份与恢 复操作,也可以利用Oracle恢复管理器(RMAN)自动 进行备份与恢复操作。
Oracle数据库恢复实际包含两个过程
➢ 数据库修复(Database Restore):利用备份的数据库文件替换已 经损坏的数据库文件,将损坏的数据库文件恢复到备份时刻的状 态。该操作主要是在操作系统级别上完成的。
➢ ③打开数据库。 ▪ ALTER DATABASE OPEN;
➢ ④将损坏的数据文件所在的表空间脱机。 ▪ ALTER TABLESPACE EXAMPLE OFFLINE FOR RECOVER;
2 5
➢ ⑤ 利用备份的数据文件example01.dbf还原损坏的数据文件 example01.dbf。
冷备份主要备份数便,通常脱 机备份时将其它文件一起备份。
利用SQL*Plus工具按下列步骤进行
➢ 启动SQL*Plus,以SYSDBA身份登录数据库。 ➢ 查询当前数据库所有数据文件、控制文件、联机重做日志文件、
初始化参数文件的位置。 ➢ 正常关闭数据库。
➢ 对数据库中所有表空间分别采用该步骤进行备份。
1 3
控制文件备份方法
➢ 将控制文件备份为二进制文件。 ▪ ALTER DATABASE BACKUP CONTROLFILE TO 'D:\ORACLE\BACKUP\CONTROL.BKP';
➢ 将控制文件备份为文本文件。 ▪ ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
SQL>STARTUP
1 1
14.2.2 热备份
数据库完全热备份的步骤
➢ 启动SQL*Plus,以SYSDBA身份登录数据库 ➢ 将数据库设置为归档模式 ➢ 以表空间为单位,进行数据文件备份 ➢ 备份控制文件 ➢ 备份其他物理文件
1 2
备份数据文件
➢ 查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件。 ▪ SELECT tablespace_name,file_name FROM dba_data_files ▪ ORDER BY tablespace_name;
▪ INSERT INTO test_rec VALUES(1,'ZHANGSAN'); ▪ COMMIT; ▪ INSERT INTO test_rec VALUES(2,'LISI'); ▪ COMMIT; ▪ ALTER SYSTEM SWITCH LOGFILE; ▪ SELECT * FROM test_rec; ▪ SHUTDOWN ABORT;
▪ RECOVER DATABASE ➢ 打开数据库。
▪ ALTER DATABASE OPEN;
2
2
(3)表空间级完全恢复
以EXAMPLE表空间的数据文件example01.dbf 损坏为例模拟表空级的完全恢复。
➢ 数据库处于装载状态下的恢复 ➢ 数据库处于打开状态下的恢复
2 3
数据库处于装载状态下的恢复
1 4
其他文件的备份
➢ 归档当前的联机重做日志文件。 ▪ ALTER SYSTEM ARCHIVE LOG CURRENT;
➢ 备份归档重做日志文件,将所有的归档重做日志文件复制到备份磁盘 中。
➢ 备份初始化参数文件,将初始化参数文件复制到备份磁盘中。
14.3 物理恢复数据库
非归档模式下数据库的恢复 归档模式下数据库的完全恢复 归档模式下数据库的不完全恢复
➢ 如果数据库没有关闭,则强制关闭数据库。 ▪ SHUTDOWN ABORT
➢ 利用备份的数据文件example01.dbf还原损坏的数据文件 example01.dbf。
➢ 将数据库启动到MOUNT状态。 ▪ STARTUP MOUNT
➢ 执行表空间恢复命令。 ▪ RECOVER TABLESPACE EXAMPLE
3
0
(5)数据库完全恢复示例
以SYSTEM表空间的数据文件system01.dbf 损坏为例演示 归档模式下的完全恢复操作。
➢ 首先进行一次归档模式下的数据库完整备份。 ➢ 以SYSDBA身份登录数据库进行下列操作。
▪ CREATE TABLE test_rec(ID NUMBER PRIMARY KEY,NAME CHAR(20)) TABLESPACE SYSTEM;
3 1
➢ 删除SYSTEM表空间的数据文件system01.dbf,以模拟数据文件损坏 的情形。
➢ 用备份的数据文件还原损坏(本文为被删除)的数据文件。 ➢ 执行恢复操作。由于SYSTEM表空间不能在数据库打开后进行恢复,
2 0
归档模式下数据库完全恢复的基本语法:
➢ RECOVER [AUTOMATIC] [FROM 'location'] ➢ [DATABASE|TABLESPACE tspname ➢ |DATAFILE dfname]
参数说明
➢ AUTOMATIC:进行自动恢复,不需要DBA提供重做日志文件 名称;
➢ ⑥ 执行表空间恢复命令。 ▪ RECOVER TABLESPACE EXAMPLE;
➢ ⑦ 将表空间联机。 ▪ ALTER TABLESPACE EXAMPLE ONLINE;
➢ 如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤 (4)~(7)。
2
6
(4)数据文件级完全恢复
以数据文件 D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOUR CE \example01.dbf损坏为例模拟数据文件级的完全恢复。
➢ 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近 一次完全冷备份的状态。
1 7
14.3.2 归档模式下数据库的完全恢复
概述 数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例
1
8
(1)概 述
概念
归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损 坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文 件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动, 采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态。
1432归档模式下数据库的完全恢复?概述?数据库级完全恢复?表空间级完全恢复?数据文件级完全恢复?数据库完全恢复示例概念归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损坏利用热备份的数据文件替换损坏的数据文件再结合归档日志文件和联机重做日志文件采用前滚技术重做自备份以来的所有改动采用回滚技术回滚未提交的操作以恢复到数据库故障时刻的状态
➢ 数据库恢复(Database Recovery):首先利用数据库的归档重做 日志文件、联机重做日志文件,采用前滚技术(Roll Forward) 重做备份以后所有的事务;最后利用回滚技术(Roll Back)取消 发生故障时已写入重做日志文件但没有提交的事物,将数据库恢 复到某个一致性状态
14.1.2 Oracle数据库备份类型
▪ STARTUP MOUNT ➢ 执行数据文件恢复命令。
▪ RECOVER DATAFILE ▪ D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOURCE ▪ \example01.dbf'; ➢ 将数据文件联机。 ▪ ALTER DATABASE DATAFILE ▪ D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOURCE ▪ \example01.dbf' ONLINE ➢ 打开数据库。 ▪ ALTER DATABASE OPEN;
➢ 分别对每个表空间中的数据文件进行备份,其方法为 ▪ 将需要备份的表空间(如USERS)设置为备份状态。 – ALTER TABLESPACE USERS BEGIN BACKUP; ▪ 将表空间中所有的数据文件复制到备份磁盘。 ▪ 结束表空间的备份状态。 – ALTER TABLESPACE USERS END BACKUP;
第 14 章
备份与恢复
授课教师:刘明洋
主要内容
备份与恢复概述 物理备份数据库 逻辑恢复数据库 利用RMAN备份与恢复数据库 逻辑备份与恢复数据库
14.1备份与恢复概述
备份与恢复的概念 Oracle数据库备份类型 Oracle数据库恢复类型
14.1.1备份与恢复的概念
➢ 备份与恢复是数据库的一对相反操作,备份是保存数据 库中数据的副本,恢复是利用备份将数据库恢复到故障 时刻的状态或恢复到故障时刻之前的某个一致性状态。
SQL>SHUTDOWN IMMEDIATE ➢ 复制所有数据文件、控制文件、联机重做日志文件以及初始化参
数文件等其它配置文件到备份磁盘。可以直接在操作系统中使用 复制、粘贴方式进行,也可以在SQL*Plus环境中使用下列形式的 操作系统命令完成。
SQL>HOST COPY 原文件名称 目标路径名称 ➢ 重新启动数据库
1 9
恢复的级别
➢ 数据库级完全恢复:主要应用于所有或多数数据文件损坏的恢复; ➢ 表空间级完全恢复:对指定表空间中的数据文件进行恢复; ➢ 数据文件级完全恢复:是针对特定的数据文件进行恢复。
注意
➢ 数据库级的完全恢复只能在数据库装载但没有打开的状态下进行, 而表空间级完全恢复和数据文件级完全恢复可以在数据库处于装 载状态或打开的状态下进行。
➢ 打开数据库。 ▪ ALTER DATABASE OPEN;
2 4
数据库处于打开状态下的恢复
➢ ①如果数据库已经关闭,则将数据库启动到MOUNT状态。 ▪ STARTUP MOUNT
➢ ②将损坏的数据文件设置为脱机状态。 ▪ ALTER DATABASE DATAFILE ▪ 'D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOUR CE\EXAMPLE01.DBF' OFFLINE;
2 8
数据库处于打开状态下的恢复
➢ 如果数据库已经关闭,则将数据库启动到MOUNT状态。 ▪ STARTUP MOUNT
➢ 将损坏的数据文件设置为脱机状态。 ▪ ALTER DATABASE DATAFILE ▪ D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOURCE ▪ \example01.dbf' OFFLINE;
➢ location:制定归档重做日志文件的位置。默认为数据库默认的归 档路径。
2
1
(2)数据库级完全恢复
数据库级完全恢复的步骤
➢ 如果数据库没有关闭,则强制关闭数据库。 ▪ SHUTDOWN ABORT
➢ 利用备份的数据文件还原所有损坏的数据文件。 ➢ 将数据库启动到MOUNT状态。
▪ STARTUP MOUNT ➢ 执行数据库恢复命令。
物理备份与逻辑备份 物理备份:
➢ 联机备份和脱机备份 ➢ 完全备份和部分备份 ➢ 一致性备份和不一致性备份
14.1.3 Oracle数据库恢复类型
物理恢复与逻辑恢复 完全恢复和不完全恢复 归档模式下的恢复和非归档模式下的恢复
14.2 物理备份数据库
脱机备份 联机备份
14.2.1 冷备份
➢ 打开数据库。 ▪ ALTER DATABASE OPEN;
➢ 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。
2 9
➢ 执行数据文件恢复命令。 ▪ RECOVER DATAFILE ▪ D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOURCE ▪ \example01.dbf';
➢ 数据库处于装载状态下的恢复 ➢ 数据库处于打开状态下的恢复
2 7
数据库处于装载状态下的恢复
➢ 如果数据库没有关闭,则强制关闭数据库。 ▪ SHUTDOWN ABORT
➢ 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。 ➢ 将数据库启动到MOUNT状态。