暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

异机恢复后ORA-01152错误解决

michaelliu 2025-10-14
274

1. 现象:

异机数据文件恢复成功后,执行最后一步打开数据库时报错。例如:

SQL > alter database open resetlogs;

报错:

ORA-01152: file 1 was not restored from a sufficiently old backup

ORA-01110: data file 1: '/u02/oracle/oradata/mingya/system01.dbf'

 

2. 原因:

造成这种报错的原因是因为controlfile里所记录的scn与datafile里的scn不一致,导致数据库启动时失败。

 

3. 解决

3.1 确定需要恢复的achivelog

将数据库启动到mount状态;

$ rman target / catalog rman/rman@catalog    ;连接到RMAN

RMAN> recover database;

运行命令后,RMAN将会报错,在最后列出需要的archivelog;例如:

RMAN-06025: no backup of log thread 1 seq 3784 lowscn 82847939 found to restore

RMAN-06025: no backup of log thread 1 seq 3783 lowscn 82845664 found to restore

其中的3783、3784是我们需要恢复的archivelog。

 

3.2 从磁带库备份中恢复所需archivelog

RMAN> run {

2>set archivelog destination to '/u03/oracle/archivelog';    该路径根据归档日志实际路径设置

3> allocate channel ch00 type 'SBT_TAPE';

4> send 'NB_ORA_SERV=BAKSERV,NB_ORA_CLIENT=HOSTA';

5> restore archivelog sequence between 3783 and 3784;

6> release channel ch00;

7> }

恢复成功后,在/u03/oracle/archivelog目录下将看到3783、3784两个文件。

 

3.3 应用archivelog

RMAN> run{

2> allocate channel ch00 type disk;

3> set until sequence 3785 thread 1;           3785是需要恢复的最大号3784+1

4> recover database;

5> release channel ch00;

6> }

 

3.4 打开数据库

RMAN> alter database open resetlogs;

至此,数据库可以正常打开。为使其他客户端能连接本数据库,最好重新创建监听listener.ora,其他客户端重新配置连接文件tnsnames.ora。

 

4. 其他问题-ORA-19625错误解决

在测试机上恢复操作成功后,正常运行的生产主机用NBU进行备份时,可能出现以下错误:

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

RMAN-03002: failure of backup command at 09/02/2009 02:21:47

ORA-19625: error identifying file /u03/oracle /archivelog/2009_08_31/1_3783_634497921.dbf

==== ended in error on Wed Sep 2 02:21:48 CST 2009 ====

这时需要进行以下操作修正:

登录正常运行的主机:

$ rman target / catalog rman/rman@catalog

RMAN>  crosscheck archivelog all;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论