zoukankan      html  css  js  c++  java
  • 异机恢复后ORA-01152错误解决

    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

    其中的37833784是我们需要恢复的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目录下将看到37833784两个文件。

     

    3.3 应用archivelog

    RMAN> run{

    2> allocate channel ch00 type disk;

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

    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;

  • 相关阅读:
    Double-Array Trie 原理解析
    LeetCode 之 Longest Valid Parentheses(栈)
    [Unity3D]Unity3D游戏开发之从Unity3D到Eclipse
    走进Struts2(一) — Struts2的执行流程及其工作原理
    网页页面NULL值对浏览器兼容性的影响
    基于cocos2d-x-3.2学习Box2D(一)
    记忆方法与高速阅读——什么是高速阅读
    ArcGIS 教程:Workflow Manager 高速浏览
    【cocos2d-x 3.7 飞机大战】 决战南海I (三) 敌机实现
    C语言事实上不简单:数组与指针
  • 原文地址:https://www.cnblogs.com/weixun/p/3254791.html
Copyright © 2011-2022 走看看