当前位置:数据库 > SQLServer >>

rman恢复案例——丢失全部控制文件的恢复

答案:1.1. 丢失全部控制文件的恢复1.1.1.    模拟控制文件丢失
RMAN> shutdown abort;

 

Oracle 例程已关闭

 

RMAN> host;

 

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

 

C:\>del D:\oracle92\test1\CONTROL*.CTL

 

C:\>dir D:\oracle92\test1\CONTROL*.CTL

 驱动器 D 中的卷没有标签。

 卷的序列号是 644D-03D9

 

 D:\oracle92\test1 的目录

 

找不到文件

 

C:\>exit

主机命令完成

 

RMAN>

 

 
1.1.2.    设置ORACLE_SID
RMAN> exit;

 

 

恢复管理器完成。

 

C:\>

C:\>set ORACLE_SID=TEST1

 

C:\>ECHO ORACLE_SID

ORACLE_SID

 

C:\>

 
1.1.3.    登陆RMAN
C:\>rman

 

恢复管理器: 版本9.2.0.1.0 - Production

 

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

 

RMAN> connect target lunar/lunar@test1

 

已连接到目标数据库 (未启动)

 

RMAN> connect catalog rman/rman@rman

 

连接到恢复目录数据库

 

RMAN>

 
1.1.4.    在RMAN中设置DBID
使RMAN知道需要查找哪一个数据库的spfile

(必须在数据关闭的情况下设置DBID)

RMAN> set DBID=910599446

 

正在执行命令: SET DBID

 

RMAN>

 
1.1.5.    将数据库启动到nomount状态
RMAN> startup nomount;

 

已连接到目标数据库 (未启动)

Oracle 例程已启动

 

系统全局区域总计     101784276 字节

 

Fixed Size                      453332 字节

Variable Size                 75497472 字节

Database Buffers              25165824 字节

Redo Buffers                    667648 字节

 

RMAN>

 
1.1.6.    恢复控制文件1.1.6.1.          使用恢复目录恢复
如果使用了恢复目录,可以简单的执行restore controlfile;

RMAN> restore controlfile;

 

启动 restore 于 07-10月-04

 

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=13 devtype=DISK

通道 ORA_DISK_1: 正在开始恢复数据文件备份集

通道 ORA_DISK_1: 正在恢复控制文件

输出文件名=D:\ORACLE92\TEST1\CONTROL01.CTL

通道 ORA_DISK_1: 已恢复备份段 1

段 handle=D:\RMANTEST\C-910599446-20041007-00 tag=null params=NULL

通道 ORA_DISK_1: 恢复完成

正在复制控制文件

输出文件名=D:\ORACLE92\TEST1\CONTROL01.CTL

输出文件名=D:\ORACLE92\TEST1\CONTROL02.CTL

输出文件名=D:\ORACLE92\TEST1\CONTROL03.CTL

完成 restore 于 07-10月-04

 

RMAN>

 

 
1.1.6.2.          不使用恢复目录恢复(使用自动备份的控制文件恢复)
如果没有使用恢复目录,可以从指定的控制文件自动备份的路径恢复控制文件

RMAN> run{

2>  set controlfile autobackup format for device type disk to

3> 'D:\RMANTEST\%F';

4> restore controlfile from autobackup;

5> }

 

正在执行命令: SET CONTROLFILE AUTOBACKUP FORMAT

 

启动 restore 于 07-10月-04

 

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=13 devtype=DISK

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20041007

通道 ORA_DISK_1: 已找到的自动备份: D:\RMANTEST\c-910599446-20041007-00

通道 ORA_DISK_1: 从自动备份复原控制文件已完成

正在复制控制文件

输出文件名=D:\ORACLE92\TEST1\CONTROL01.CTL

输出文件名=D:\ORACLE92\TEST1\CONTROL02.CTL

输出文件名=D:\ORACLE92\TEST1\CONTROL03.CTL

完成 restore 于 07-10月-04

 

RMAN> host;

 

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

 

C:\>dir D:\oracle92\test1\CONTROL*.CTL

 驱动器 D 中的卷没有标签。

 卷的序列号是 644D-03D9

 

 D:\oracle92\test1 的目录

 

2004-10-07  15:18         1,630,208 CONTROL01.CTL

2004-10-07  15:18         1,630,208 CONTROL02.CTL

2004-10-07  15:18         1,630,208 CONTROL03.CTL

               3 个文件      4,890,624 字节

               0 个目录 10,527,322,112 可用字节

 

C:\>exit

主机命令完成

 

RMAN>

 
1.1.6.3.          析取控制文件1.1.6.3.1.     从恢复目录中析取控制文件
在数据库打开的时候,可以析取控制文件,如下面的例子是从恢复目录中析取控制文件,并保存到d:\test_ctl.ora 。

RMAN> restore controlfile to 'd:\test_ctl.ora';

 

启动 restore 于 07-10月-04

 

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始恢复数据文件备份集

通道 ORA_DISK_1: 正在恢复控制文件

输出文件名=D:\TEST_CTL.ORA

通道 ORA_DISK_1: 已恢复备份段 1

段 handle=D:\RMANTEST\C-910599446-20041007-00 tag=null params=NULL

通道 ORA_DISK_1: 恢复完成

完成 restore 于 07-10月-04

 

RMAN>

 
1.1.6.3.2.     从自动备份的控制文件中析取控制文件
下面的例子是从自动备份的控制文件中,析取控制文件到的的d:\

RMAN> run{

2> set controlfile autobackup format for device type disk to

3> 'D:\RMANTEST\%F';

4> restore controlfile to 'd:\test_ctl.bak' from autobackup;

5> }

 

正在执行命令: SET CONTROLFILE AUTOBACKUP FORMAT

 

启动 restore 于 07-10月-04

 

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20041007

通道 ORA_DISK_1: 已找到的自动备份: D:\RMANTEST\c-910599446-20041007-00

通道 ORA_DISK_1: 从自动备份复原控制文件已完成

完成 restore 于 07-10月-04

 

RMAN>

 

 
1.1.7.    Mount数据库
RMAN> alter database mount;

 

数据库已加载

 

RMAN>

 
1.1.8.    恢复数据库
RMAN> recover database;

 

启动 recover 于 07-10月-04

使用通道 ORA_DISK_1

 

正在开始介质的恢复

 

存档日志线程 1 序列 16 已作为文件 D:\ORACLE92\TEST1\REDO03.LOG 存在于磁盘上

存档日志文件名 =D:\ORACLE92\TEST1\REDO03.LOG 线程 =1 序列 =16

完成介质的恢复

完成 recover 于 07-10月-04

 

RMAN>

 
1.1.9.    Open resetlogs数据库
RMAN> alter database open resetlogs;

 

数据库已打开

在恢复目录中注册的数据库的新实体化

正在启动全部恢复目录的 resync

完成全部 resync

 

RMAN>

上一个:RMAN恢复案例——丢失所有的数据文件
下一个:RMAN恢复案例——丢失spfile的恢复

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,