zoukankan      html  css  js  c++  java
  • 一个诡异的offline undo tablespace 问题 .

    数据库 oracle 10.2.0.4  RAC 2 nodes

    操作系统 redhat 5.3  x64

    周末升级系统,数据库一个过程出现编译问题,没太在意

    周一发现错误还在,

    错误信息:

    Error 604 trapped in 2PC on transaction 67.38.6337026. Cleaning up.
    Error stack returned to user:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-00376: file 40 cannot be read at this time
    ORA-01110: data file 40: '+DG1/xxx/datafile/undotbs3.422.720270075'

    检查执行语句为调用一个包的过程

    其过程很简单

    类似如下

       INSERT INTO B SELECT * FROM A;
       EXECUTE IMMEDIATE 'TRUNCATE TABLE A';
       EXECUTE IMMEDIATE 'ALTER TABLE A ENABLE ROW MOVEMENT';
       EXECUTE IMMEDIATE 'ALTER TABLE A SHRINK SPACE';
       EXECUTE IMMEDIATE 'ALTER TABLE A DISABLE ROW MOVEMENT';

    上面的undo是2个月前offline的 本来是打算删除的

    两个实例的undo 参数均没有指定到该undo 表空间上

    很奇怪啊


    后来发现执行

    SQL> select * from FLASHBACK_TRANSACTION_QUERY;
    select * from FLASHBACK_TRANSACTION_QUERY
                  *
    ERROR at line 1:
    ORA-01135: file 40 accessed for DML/query is offline
    ORA-01110: data file 40: '+DG1/xxx/datafile/undotbs3.422.720270075'

    这个undo 不是offline 了吗?而且两个月了!

    为了尽快恢复该问题

    重新online 了该表空间

    重新 编译 包:正常

    查询FLASHBACK_TRANSACTION_QUERY :正常

    ==

    遗留问题

  • 相关阅读:
    Web前端开发中的各种CSS规范
    SVN简明课程
    使用django-compressor压缩静态文件
    今日头条视频Url嗅探
    python 异常类型
    抓包分析工具备注
    电子签章盖章之jQuery插件jquery.zsign
    程序员读书雷达
    在csdn里markdown感受
    如何在无趣的世界里,做一个有趣的人?
  • 原文地址:https://www.cnblogs.com/4admin2root/p/2633356.html
Copyright © 2011-2022 走看看