oracle catalog归档,使用rman catalog命令恢复数据库

有这样的一种需要恢复数据库场景:

当前数据库有一份全备,归档,联机重做日志都没有损坏或丢失,但是控制文件意外的损坏了,而且更糟糕的是,居然没有备份的控制文件(当然, 这种情形很少见),这种情形下,只有重建控制文件,但是重建控制文件也是一件很棘手的事情,如果数据库有上百个数据文件,要写在控制文件里,不是件容易的是,这就要求数据库管理员对数据库结构相当熟悉。这也是说明了控制文件的重要性了。我这里的场景是使用alter database backup controlfile to trace得到重建控制文件的脚本,纯粹是为了今天要说的主题来的。在生产环境,可能比这个要复杂的多。好了,控制文件重建成功,数据库也打开了。但不幸的是,数据库管理员并没有及时进行一次全备份,这个时候,一个数据文件损坏或丢失了。使用原来的备份集无法restore数据文件,因为重建的控制文件并没有记录原来备份集的备份元数据。我们怎么办?[@more@]

好,下面进入今天的主题:

使用catalog注册备份集的备份信息到控制文件中,之后,就可以restore数据库了。

1.生产库上原有的备份集存在,而且是可用的。

total 793052

-rw-r----- 1 oracle oinstall 802693120 Dec 5 22:11 01ns4nbj_1_1.bak

2.重建控制文件

[oracle@primary dbwdn]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.5.0 - Production on Sat Dec 8 11:17:02 2012

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "DBWDN" NORESETLOGS FORCE LOGGING ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 1168

LOGFILE

GROUP 1 '/u01/app/oracle/oradata/dbwdn/redo01.log' SIZE 50M,

GROUP 2 '/u01/app/oracle/oradata/dbwdn/redo02.log' SIZE 50M,

GROUP 3 '/u01/app/oracle/oradata/dbwdn/redo03.log' SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'/u01/app/oracle/oradata/dbwdn/system01.dbf',

'/u01/app/oracle/oradata/dbwdn/undotbs01.dbf',

'/u01/app/oracle/oradata/dbwdn/sysaux01.dbf',

'/u01/app/oracle/oradata/dbwdn/users01.dbf',

'/u01/app/oracle/oradata/dbwdn/test01.dbf',

'/u01/app/oracle/oradata/dbwdn/ggs01.dbf',

'/u01/app/oracle/oradata/dbwdn/perfstat.dbf',

'/u01/app/oracle/oradata/dbwdn/shkz_data_01.dbf'

CHARACTER SET WE8ISO8859P1

;ORACLE instance started.

Total System Global Area 285212672 bytes

Fixed Size 1273276 bytes

Variable Size 130024004 bytes

Database Buffers 150994944 bytes

Redo Buffers 2920448 bytes

SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

21 22

Control file created.

SQL>

3.数据库并没有重新进行rman全备份,丢失数据文件

rm test01.dbf

4.使用原来的备份集无法restore数据文件

RMAN> restore datafile 5;

Starting restore at 08-DEC-2012 11:20:15

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=155 devtype=DISK

RMAN-00571: ================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值