当前位置: 首页 > Oracle, oracle 11g > 正文

ORA-02070:database does not support semijoin错误

前段时间小姨子遇到了ORA-02070:database does not support semijoin错误:

--以下是应用程序报错:
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862) Caused by: java.sql.SQLException:
  ORA-02070: database does not support semijoin in this context ORA-06512: at "SINOTEST.PKG_CS_CHA_NOT", line 6267
  ORA-06512: at "SINOTEST.PKG_OIDET_NEW", line 610
  ORA-06512: at line 1 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) at oracle.jdbc.driver.
  T4CTTIoer.processError(T4CTTIoer.java:288) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
   at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215) at oracle.jdbc.driver.T4CCallableStatement.executeForRows

以下是告警日至信息

Sat Jan 11 20:57:23 2014
Errors in file /u02/app/oracle/diag/rdbms/testdb/testdb/trace/testdb_ora_32618.trc:
ORA-02070: 数据库  不支持此上下文中的 semijoin

她们使用了分区表,数据库版本11.2.0.1.0 forlinux X86_64,这个存储过程在10g测试库上跑没有问题,在其他11g版本的测试库上跑也没问题,也就是说SQL的写法不是关键性错误,查了下MOS,发现遇到了BUG(BUG 8790659),下面是MOS描述:
1
2
3
4
5

这个BUG只对分区表有影响,在11.2.0.2.0及之后版本已经修复,取消分区表或升级数据库版本可解决这个问题。在CTAS创建同结构的非分区表后,的确不会触发这个问题,但数据量较大,分区表不可取消。由于这是即将投产的数据库,申请了2个小时的停机时间,升级到11.2.0.3.0版本后,问题解决,再未遇到这个错误。

————————————end—————————————–

本文固定链接: https://www.dbdream.com.cn/2014/04/ora-02070%ef%bc%9adatabase-does-not-support-semijoin%e9%94%99%e8%af%af/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2014年04月21日发表在 Oracle, oracle 11g 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: ORA-02070:database does not support semijoin错误 | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , , ,

ORA-02070:database does not support semijoin错误:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter