欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

探索Oracle之RMAN_07 恢复

程序员文章站 2022-06-11 20:53:02
...

备份的终极目的是为了更好的将数据恢复和还原过来,在前面的章节中我们已经重点谈完了RMAN的备份,实际上也穿插的谈了些复杂的完

备份的终极目的是为了更好的将数据恢复和还原过来,在前面的章节中我们已经重点谈完了RMAN的备份,实际上也穿插的谈了些复杂的完整恢复。当然在这节我们将会由浅入深的详细谈谈在几种不同情况下的数据库恢复。

1、 数据文件的丢失恢复

1.1wwl表空间上创建5张表,并添加数据。

SQL> create table wwl01 (id number(3),namevarchar2(10));

Table created.

SQL> insert into wwl01 values(1,'wwl');

1 row created.

SQL> insert into wwl01 values(2,'wm');

1 row created.

SQL> insert into wwl01 values(3,'zq');

1 row created.

SQL> insert into wwl01 values(4,'wbq');

1 row created.

SQL> insert into wwl01 values(5,'wq');

1 row created.

SQL> create table wwl02 as select * from wwl01;

Table created.

SQL> create table wwl03 as select * from wwl01;

Table created.

SQL> create table wwl04 as select * from wwl01;

Table created.

SQL> create table wwl05 as select * from wwl01;

Table created.

查看表中的数据:

SQL> select * from tab;

TNAME TABTYPE CLUSTERID

---------- ------- ----------

WWL01 TABLE

WWL02 TABLE

WWL03 TABLE

WWL04 TABLE

WWL05 TABLE

1.2 执行全库备份

[Oracle@wwldb ~]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Fri Jun 2200:59:59 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: WWL (DBID=5520179)

RMAN> backup database;

1.3 模拟数据丢失,手动删除数据文件wwl001.dbf

[oracle@wwldb WWL]$ rm -rfwwl001.dbf

1.4 再次启动数据库,无法启动并报错不能锁定数据文件5,查看dbwr的跟踪文件。

SQL>startup force;

ORACLEinstance started.

TotalSystem Global Area 285212672 bytes

FixedSize 1218968 bytes

VariableSize 92276328 bytes

DatabaseBuffers 184549376 bytes

RedoBuffers 7168000 bytes

Databasemounted.

ORA-01157:cannot identify/lock data file 5 - see DBWR trace file

ORA-01110: data file 5:'/DBData/WWL/wwl001.dbf'

1.5 检查跟踪文件,报如下错误,,非常的清楚的告诉了找不到的文件:

Errors in file/DBSoft/admin/WWL/bdump/wwl_dbw0_29185.trc:

ORA-01157: Message 1157 not found;No message file for product=RDBMS, facility=ORA; arguments: [5]

ORA-01110: Message 1110 not found;No message file for product=RDBMS, facility=ORA; arguments: [5] [/DBData/WWL/wwl001.dbf]

ORA-27037: Message 27037 not found;No message file for product=RDBMS, facility=ORA

Linux Error: 2: No such file ordirectory

Additional information: 3

ORA-1157 signalled during: ALTERDATABASE OPEN...

由以上信息可以得出数据库故障是由于数据文件wwl001.dbf数据文件异常丢失或者损坏导致数据库的故障,那么数据文件丢失就必然存在数据库数据的丢失,但是万幸的是,在丢失之前我们已经做过备份了,现在我们就来通过之前的备份将wwl001.dbf文件恢复回来,数据文件的恢复分为两种,一直是在不影响数据库其它业务情况下的在线联机恢复,还有一种是停机停业务的恢复,详细见如下:

探索Oracle之RMAN_07 恢复