当前位置:文档之家› oracle(rman)管理方式下的热备份及恢复

oracle(rman)管理方式下的热备份及恢复

Oracle (rman)备份方法概览
– 备份策略:
• 整体:备份属于数据库的控制文件和所有数据文 件 • 部分:备份数据库的一部分
– 备份类型:
• 完全:非增量 RMAN 备份 • 增量:只备份以前某次备份以来更改的信息
– 备份模式:
• 脱机:一致性备份,也称为冷备份 • 联机:非一致性备份,也称为热备份
完全备份或 “级别 0 增量备份”
累积增量备份
差异增量备份
管理备份:报告
• 使用以下 RMAN 命令可获取关于备份的信息:
– LIST:显示资料档案库中记录的关于备份集、 代理副本和映像副本的信息 – REPORT:生成资料档案库的详细分析信息 – REPORT NEED BACKUP:列出需要备份的所有数 据文件 – REPORT OBSOLETE:标识为了满足备份保留策 略而不再需要的文件
– 当前控制文件的所有副本都丢失或损坏时恢 复和装载备份控制文件。 – 还原备份控制文件之后执行 RECOVER 命令。 – 执行完全恢复或时间点恢复后使用 RESETLOGS 选项打开数据库。Leabharlann 执行灾难恢复• 基本过程:
– – – – – – – 还原服务器参数文件的自动备份 启动目标数据库实例 从自动备份还原控制文件 装载数据库 还原数据文件 恢复数据文件 使用 RESETLOGS 选项打开数据库
1. 配置 ORACLE_SID 环境变量。 2. 启动 RMAN 并在 NOCATALOG 模式下连接到目标实 例。 3. 设置数据库标识符 (DBID)。 4. 在 NOMOUNT 模式下启动实例。 5. 创建 RUN 块,以便:
• 从备份集中还原服务器参数文件 • 关闭实例 (SHUTDOWN ABORT)
1. 实例是否自动关闭未定。如果未自动关闭,请使 用 SHUTDOWN ABORT 关闭实例。 2. 装载数据库。 3. 还原和恢复缺失的数据文件。 4. 打开数据库。
在新主机上还原和恢复数据库
• 使用此过程可执行以下操作:
– 执行测试还原 – 将生产数据库移到新主机上
备份 RMAN>
服务器 参数文件
• • • • • • • • 配置自动通道 指定备份保留策略 指定要创建的备份副本数 将默认备份类型设置为 BACKUPSET 或 COPY 限制备份片断的大小 在备份中排除表空间 启用和禁用备份优化 配置控制文件的自动备份
管理永久性设置
– 使用 SHOW 命令列出当前设置:
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT; RMAN> SHOW EXCLUDE; RMAN> SHOW ALL;
管理备份:交叉检验和删除
• 使用以下 RMAN 命令可管理备份:
– CROSSCHECK:针对介质(如磁盘或磁带)验证 在 RMAN 资料档案库中记录的备份和副本的状态 – DELETE EXPIRED:只删除资料档案库中状态 EXPIRED 的文件 – DELETE OBSOLETE:删除不再需要的备份
– 使用 CLEAR 命令将任何永久性设置重新设置 为默认值: RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
RMAN> CONFIGURE MAXSETSIZE CLEAR; RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;
配置和分配用于备份的通道
– 使用 CONFIGURE 命令配置自动通道:
RMAN> RMAN> RMAN> RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 1; CONFIGURE DEFAULT DEVICE TYPE TO sbt; CONFIGURE CHANNEL DEVICE TYPE sbt … BACKUP DATABASE;
何时需要使用备份进行恢复
• 发生以下类型的错误时,通常需要使用备 份执行恢复:
– 介质故障:因数据库文件的物理问题而导致无 法读写该文件 – 用户错误:数据库中的数据被误更改或误删除
响应用户错误
• 对用户错误的可能响应包括:
– 手动重新输入已丢失的数据(如果存在更改记录) – 导入已删除的对象(如果备用数据库上存在相应导 出文件或仍有该对象) – 对一个或多个表空间执行表空间时间点恢复 (TSPITR) – 使用数据库时间点恢复将数据库恢复到以前的状态 – 使用一种 Oracle 闪回功能将受影响对象恢复到以前 的状态,从逻辑损坏中进行恢复
6. 编辑还原的初始化参数文件。 7. 在 NOMOUNT 模式下启动实例。
将数据库还原到新主机
8. 创建 RUN 块,以便:
• 还原控制文件 • 装载数据库
9. 创建 RMAN 恢复脚本来还原和恢复数据库。 10.执行 RMAN 脚本。 11.使用 RESETLOGS 选项打开数据库。
使用备份控制文件执行恢复
服务器 参数文件
准备将数据库还原到新主机
• 通过执行以下步骤进行准备:
1. 记录源数据库的数据库标识符 (DBID)。 2. 将源数据库初始化参数文件复制到新主机。 3. 确保在还原主机上可访问源备份,包括控制文件自动备 份。
将数据库还原到新主机
• 为了还原数据库,请在还原主机上执行以下 步骤:
– 在 RUN 块中使用 ALLOCATE CHANNEL 手动 分配通道: RMAN> RUN
{ ALLOCATE CHANNEL ch1 DEVICE TYPE DISK; … BACKUP DATABASE PLUS ARCHIVELOG; }
RMAN 备份类型
– 完全备份包含所有用过的 数据文件块 – 级别 0 增量备份等同于标 记为级别 0 的完全备份 – 累积级别 1 增量备份只包 含自上一次级别 0 增量备 份以来修改过的块 – 差异级别 1 增量备份只包 含自上一次增量备份以来 修改过 的块
已恢复的 数据库
制定 Oracle 数据库的备份和恢复策 略
– 评估服务水平标准,其中包括:
• 数据可用性要求 • 数据重要性 • 恢复点和时间目标
– 预测环境中将发生的错误并确定从这些错误 中恢复所需的备份过程
配置 RMAN 的永久性设置
– RMAN 有预设的默认配置设置 – 使用 CONFIGURE 命令可:
联机重做 日志文件
还原块
发生实例错误 的数据库
包含提交和未提交 事务处理的数据库
只包含提交事务 处理的数据库
Oracle 数据库体系结构:在介质故 障后恢复
– 使用备份还原数据文件 – 使用归档和联机重做日志文件前滚数据库
联机和归档 重做日志文件
还原块
包含已还原数据 文件的数据库
包含提交和未提交事务 处理的数据库
数据恢复概览
– 崩溃恢复:发生实例错误后自动恢复 – 介质恢复:恢复当前数据文件、控制文件
• 完全恢复:将数据库恢复到最近的时间点 • 不完全恢复(时间点恢复):将数据库恢复到在特 定时间或特定系统更改号 (SCN) 时的状态
Oracle 数据库体系结构:崩溃恢复
– 使用联机重做日志文件前滚数据库 – 回退未提交的更改
归档 日志 归档 日志
联机 重做日志
已应用更改
2
数据库 已打开
已应用还原块
4
1
已还原数据文件
5
3
包含已提交和未提交 事务处理的数据文件
6
已恢复数据文件
执行完全恢复:在 ARCHIVELOG 模式下丢失了系统关键数据文件
• 如果数据文件丢失或损坏,而且该文件属于 SYSTEM 或 UNDO 表空间,则执行以下步骤:
使用 RMAN RESTORE 和 RECOVER 命令
– RESTORE 命令:从备份中还原数据库文件 – RECOVER 命令:通过应用重做日志文件中记 录的更改来恢复已还原文件
RMAN> RMAN> RMAN> RMAN> SQL 'ALTER TABLESPACE inv_tbs OFFLINE IMMEDIATE'; RESTORE TABLESPACE inv_tbs; RECOVER TABLESPACE inv_tbs; SQL 'ALTER TABLESPACE inv_tbs ONLINE';
比较完全恢复和不完全恢复
• 恢复类型有两种:
– 完全恢复:将数据库恢复到当前状态,包括 到请求恢复时间点为止提交的所有数据更改。 – 不完全恢复:将数据库恢复到请求恢复操作 之前过去的指定时间点。
完全恢复 不完全恢复 从这个备份中还原 执行不完全恢复后 会缺失事务处理
此时开始 恢复任务
丢失数据文件之后进行完全恢复
相关主题