利用DRA诊断和修复数据库案例

本文介绍了通过Oracle RMAN工具进行数据库故障诊断及数据文件恢复的过程。从创建表空间到模拟数据文件丢失场景,再到利用RMAN命令进行诊断、生成修复建议及执行恢复操作,详细展示了整个流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用DRA诊断和修复数据库案例
1.使用sql*plus,利用sysdba登录创建一个stu表空间

SQL> create tablespace stu
  2  datafile 'd:\data\stu01.dbf' size 3m;

表空间已创建。
2.启动rman可执行程序(如果启动不了,请先启动相关的oracle服务)

C:\Documents and Settings\Administrator>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期一 8月 5 10:56:43 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: ORCL (DBID=1324535298)
3.rman界面下,列出stu表空间的全部完整备份

RMAN> list backup of tablespace stu;

使用目标数据库控制文件替代恢复目录
说明与资料档案库中的任何备份都不匹配
结果显示:没有此空间的备份集,我们使用以下命令创建一个stu表空间的full备份集
4.关闭实例,同时退出RMAN

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

RMAN> exit

RMAN-06900: 警告: 无法生成 V$RMAN_STATUS 或 V$RMAN_OUTPUT 行
RMAN-06901: 警告: 禁止更新 V$RMAN_STATUS 和 V$RMAN_OUTPUT 行
来自目标数据库的 ORACLE 错误:
ORA-03113: 通信通道的文件结尾
进程 ID: 3692
会话 ID: 134 序列号: 236


恢复管理器完成。
5.使用操作系统实用程序,删除创建的stu表空间的数据文件。在windows下,必须停止oracle实例服务。
6.使用sql*plus连接到数据库,并试着启动:
(注:在windows下,注意先启动oracle实例服务)

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: ????/?????? 7 - ??? DBWR ????
ORA-01110: ???? 7: 'D:\DATA\STU01.DBF'
发现,出现了错误:stu02.dbf缺失了,导致数据库不能打开.
7.启动rman可执行程序

C:\Documents and Settings\Administrator>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期一 8月 5 11:13:14 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

已连接到目标数据库: ORCL (DBID=1324535298, 未打开)
8.诊断问题

RMAN> list failure
2> ;

使用目标数据库控制文件替代恢复目录
数据库故障列表
=========================

失败 ID 优先级状态    检测时间   概要
------- -------- --------- ---------- -------
1002    HIGH     OPEN      04-8月 -13 缺失一个或多个非系统数据文件
该命令返回一个结果:表示缺失一个或多个非系统数据文件
9.生成有关故障的建议
RMAN> advise failure;

数据库故障列表
=========================

失败 ID 优先级状态    检测时间   概要
------- -------- --------- ---------- -------
1002    HIGH     OPEN      04-8月 -13 缺失一个或多个非系统数据文件

正在分析自动修复选项; 这可能需要一些时间
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
分析自动修复选项完成

必需的手动操作
========================
没有可用的手动操作

可选手动操作
=======================
1. 如果无意中重命名或移动了文件 D:\DATA\STU01.DBF, 请还原该文件

自动修复选项
========================
选项修复说明
------ ------------------
1      还原和恢复数据文件 7
  策略: 修复操作包括无数据丢失的完全介质恢复
  修复脚本: d:\oraclepx\tools\oracle11g\diag\rdbms\orcl\orcl\hm\reco_1679767758.
hm
该命令建议您还原和恢复数据文件,并生成修复脚本。使用任意操作系统编辑文件系统编辑器打开脚本,并
研究其内容。
10.打开生成的脚本。查看里面的内容如下:
# restore and recover datafile   restore datafile 7;   recover datafile 7;
11.使用rman执行以上命令:
RMAN> restore datafile 7;

启动 restore 于 05-8月 -13
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00007 还原到 D:\DATA\STU01.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLEPX\TOOLS\ORACLE11G\FLASH_RECOVERY_ARE
A\ORCL\BACKUPSET\2013_08_05\O1_MF_NNNDF_TAG20130805T110200_8ZY5F8JM_.BKP
通道 ORA_DISK_1: 段句柄 = D:\ORACLEPX\TOOLS\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\B
ACKUPSET\2013_08_05\O1_MF_NNNDF_TAG20130805T110200_8ZY5F8JM_.BKP 标记 = TAG20130
805T110200
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 05-8月 -13

RMAN> recover datafile 7;

启动 recover 于 05-8月 -13
使用通道 ORA_DISK_1

正在开始介质的恢复
介质恢复完成, 用时: 00:00:01

完成 recover 于 05-8月 -13

12.使用sql*plus,登录一下,是否成功登录:

SQL> alter database open;

数据库已更改。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值