数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
rman恢复案例——丢失全部控制文件的恢复

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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>




相关文章

相关软件