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 :正常

    ==

    遗留问题

  • 相关阅读:
    Java NIO开发需要注意的陷阱(转)
    Java Nio注意事项
    NIO的介绍及使用(总结)
    蓝萝卜blu netty3升netty4
    tcp nio 远程主机强迫关闭了一个现有的连接
    java 竖线分割字符串的问题
    15个免费好用的抓包工具
    JSP 基础之 JSTL <c:forEach>用法
    JSP中多条件判断
    怎么不让控制台system.out.println()打印
  • 原文地址:https://www.cnblogs.com/4admin2root/p/2633356.html
Copyright © 2011-2022 走看看