oracle 强制恢复,oracle数据库恢复

oracle数据库恢复

恢复背景

使用RMAN做了数据库的完全备份、参数文件、控制文件的备份,所有数据文件\ 在线重做日志文件、控制文件和spfile参数文件全部丢失

恢复步骤

1.关闭数据库

RMAN> shutdown immediate;

Oracle instance shut down

2.设置DBID

RMAN> set dbid 663499696

(可以在备份集的名称上得到DBID)

executing command: SET DBID

3.强行启动实例

RMAN> startup force nomount;

startup failed: ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/opt/app/oracle/product/10.2.0/db_1/dbs/initora10.ora'

starting Oracle instance without parameter file for retrival of spfile

Oracle instance started

Total System Global Area     159383552 bytes

Fixed Size                     1218268 bytes

Variable Size                 54528292 bytes

Database Buffers             100663296 bytes

Redo Buffers                   2973696 bytes

4.恢复spfile参数文件(AUTOBACK已经不可用)

RMAN> restore spfile from '/orabak/ctl_c-663499696-20090319-00';

Starting restore at 19-MAR-09

using channel ORA_DISK_1

channel ORA_DISK_1: autobackup found: /orabak/ctl_c-663499696-20090319-00

channel ORA_DISK_1: SPFILE restore from autobackup complete

Finished restore at 19-MAR-09

5.恢复控制文件(AUTOBACK已经不可用)

RMAN> restore controlfile from '/orabak/ctl_c-663499696-20090319-00';

re

Starting restore at 19-MAR-09

using channel ORA_DISK_1

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:02

output filename=/opt/app/oracle/product/10.2.0/db_1/dbs/cntrlora10.dbf(注意:控制文件不在原来数据文件的位置)

Finished restore at 19-MAR-09

7. 关闭数据库

RMAN> shutdown immediate;

using target database control file instead of recovery catalog

Oracle instance shut down

RMAN> startup mount;

connected to target database (not started)

Oracle instance started

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

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

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

RMAN-03002: failure of startup command at 03/19/2009 13:55:37

ORA-00205: error in identifying control file, check alert log for more info

8.恢复控制文件(AUTOBACK已经不可用)

RMAN> restore controlfile from '/orabak/ctl_c-663499696-20090319-00';

Starting restore at 19-MAR-09

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:03

output filename=/opt/app/oracle/oradata/ora10/control01.ctl

output filename=/opt/app/oracle/oradata/ora10/control02.ctl

output filename=/opt/app/oracle/oradata/ora10/control03.ctl(注意:控制文件已经恢复到原来数据文件的位置)

Finished restore at 19-MAR-09

9.装载数据库

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

10.还原数据库

RMAN> restore database;

Starting restore at 19-MAR-09

Starting implicit crosscheck backup at 19-MAR-09

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK

Crosschecked 1 objects

Finished implicit crosscheck backup at 19-MAR-09

Starting implicit crosscheck copy at 19-MAR-09

using channel ORA_DISK_1

Finished implicit crosscheck copy at 19-MAR-09

searching for all files in the recovery area

cataloging files...

no files cataloged

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /opt/app/oracle/oradata/ora10/system01.dbf

restoring datafile 00002 to /opt/app/oracle/oradata/ora10/undotbs01.dbf

restoring datafile 00003 to /opt/app/oracle/oradata/ora10/sysaux01.dbf

restoring datafile 00004 to /opt/app/oracle/oradata/ora10/users01.dbf

restoring datafile 00005 to /opt/app/oracle/oradata/ora10/user_data.dbf

channel ORA_DISK_1: reading from backup piece /orabak/arch/20090319_0kkaa72a_1_1.bak

channel ORA_DISK_1: restored backup piece 1

piece handle=/orabak/arch/20090319_0kkaa72a_1_1.bak tag=TAG20090319T111522

channel ORA_DISK_1: restore complete, elapsed time: 00:01:15

Finished restore at 19-MAR-09

11.恢复数据库

RMAN> recover database;

Starting recover at 19-MAR-09

using channel ORA_DISK_1

la

starting media recovery

unable to find archive log

archive log thread=1 sequence=3

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

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

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

RMAN-03002: failure of recover command at 03/19/2009 14:03:07

RMAN-06054: media recovery requesting unknown log: thread 1 seq 3 lowscn 522697

12.重置onlineredolog日志序号

RMAN> alter database open resetlogs;

database opened

RMAN>

数据库恢复完成!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值