使用RMAN进行完全恢复数据
如果数据库的控制文件完好、日志文件完好,一旦数据文件损失或者全部丢失,那就可以通过RMAN的备份集恢复数据文件,应用归档日志,完成完全恢复。
RMAN> startup mount; 已连接到目标数据库 (未启动) Oracle 实例已启动 数据库已装载
复制
假定控制文件完好,或者已经被恢复到原有位置,则可以使用list backup summary命令查看控制文件中记录的备份集概要信息,然后通过restore database命令从备份集中恢复备份文件:
RMAN> restore database; 启动 restore 于 02-3月 -07 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=156 devtype=DISK 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00002恢复到D:\ORADATA\EYGLE\DATAFILE\O1_MF_UNDOTBS1_2G8OJ6NB_.DBF 正将数据文件00003恢复到D:\ORADATA\EYGLE\DATAFILE\O1_MF_SYSAUX_2G8OJHP9_.DBF 正将数据文件00004恢复到D:\ORADATA\EYGLE\DATAFILE\O1_MF_USERS_2G8OJYYS_.DBF 正将数据文件00005恢复到D:\ORADATA\EYGLE\DATAFILE\O1_MF_EYGLE_2YDGSVH7_.DBF 通道 ORA_DISK_1: 正在读取备份段 D:\BACKUP\EYGLEFULL_EYGLE_20070302_18 通道 ORA_DISK_1: 已恢复备份段 1 段句柄 = D:\BACKUP\EYGLEFULL_EYGLE_20070302_18 标记 = EYGLE 通道 ORA_DISK_1: 恢复完成, 用时: 00:00:56 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00001恢复到D:\ORADATA\EYGLE\DATAFILE\O1_MF_SYSTEM_2G8OHFX6_.DBF 通道 ORA_DISK_1: 正在读取备份段 D:\FRA\EYGLE\BACKUPSET\2007_03_02\O1_MF_NNNDF_TAG20070302T163818_2YHRMTH9_.BKP 通道 ORA_DISK_1: 已恢复备份段 1 段句柄 = D:\FRA\EYGLE\BACKUPSET\2007_03_02\O1_MF_NNNDF_TAG20070302T163818_2YHRMTH9_.BKP 标记 = TAG20070302T163818 通道 ORA_DISK_1: 恢复完成, 用时: 00:00:35 完成 restore 于 02-3月 -07
复制
通过recover database命令对数据库进行恢复:
RMAN> recover database; 启动 recover 于 02-3月 -07 使用通道 ORA_DISK_1 正在开始介质的恢复 介质恢复完成, 用时: 00:00:11 完成 recover 于 02-3月 -07 RMAN> alter database open; 数据库已打开
复制
这样就完成了完全恢复,数据库能够推演到崩溃前的状态,不会丢失任何提交成功的数据。
使用RMAN的不完全数据恢复
更多的情况下,故障可能会导致重做日志的损坏或丢失,此时就需要对数据库进行不完全恢复,以下是Restore备份之后进行基于时间恢复的一个示例:
[oracle@jumper oracle]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' [oracle@jumper oracle]$ rman target / Recovery Manager: Release 9.2.0.4.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. connected to target database: EYGLE (DBID=1407686520) RMAN> recover database until time '2007-03-09 16:30:00'; Starting recover at 2007-03-09 16:57:09 using target database controlfile instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=10 devtype=DISK starting media recovery ……… archive log filename=/opt/oracle/archive/arch1_6502.dbf thread=1 sequence=6502 archive log filename=/opt/oracle/archive/arch1_6503.dbf thread=1 sequence=6503 archive log filename=/opt/oracle/archive/arch1_6504.dbf thread=1 sequence=6504 archive log filename=/opt/oracle/archive/arch1_6505.dbf thread=1 sequence=6505 archive log filename=/opt/oracle/archive/arch1_6506.dbf thread=1 sequence=6506 media recovery complete Finished recover at 2007-03-09 16:57:13 RMAN> alter database open resetlogs; database opened
复制
恢复之后可以从alert文件中看到更为详细的提示,必须检查alert文件以确认恢复无误:
Fri Mar 9 16:58:31 2007 alter database open resetlogs Fri Mar 9 16:58:31 2007 RESETLOGS after incomplete recovery UNTIL CHANGE 18995673889 Resetting resetlogs activation ID 1417650445 (0x547fa10d)
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
972次阅读
2025-03-17 11:33:53
Oracle DataGuard高可用性解决方案详解
孙莹
411次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
355次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
345次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
313次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
289次阅读
2025-04-08 23:57:08
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
288次阅读
2025-03-24 09:42:53
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
282次阅读
2025-03-19 14:41:51
oracle定时任务常用攻略
virvle
281次阅读
2025-03-25 16:05:19
MySQL 有没有类似 Oracle 的索引监控功能?
JiekeXu
260次阅读
2025-03-19 23:43:22