我最早用WEBLOIGC发布了个应用,数据库是ORACLE,实例ORA1.应用一切正常。随后我又建立了一个实例ORA2,用原来的WEBLOGIC,原来的应用,指向了新的连接池。
随后,我发布应用,提示我:java.sql.SQLException: ORA-00001: 违反唯一约束条件。我的应用还是原来的呀,丝毫没有改变的。怎么这么提示了?找不到问题原因,是什么缓存的影响不?希望大家给点建议。

解决方案 »

  1.   

    楼主的Oracle是什么版本的?9i已经被证实有一个BUG会导致你说的那个问题了,这个BUG要在10g中才被解决。网上的资料是说当 CURSOR_SHARING 被设置为SIMILAR或FORCE时就有可能触发BUG。Oracle提供的解决方法一共有5种:1. 以LEVEL 0运行STATSPACK;2. 重启数据库实例;3. 将CURSOR_SHARING设置为EXACT;4. 去掉表上的约束;5. 修改Oracle的创建视图的脚本并对stats$v_$sqlxs视图进行重建。另外meta-link上也有解决问题的补丁可以下载,不过需要CSID。
      

  2.   

    我也遇到过这种情况,首先我在jsp插入数据时给唯一约束的列插入null值,竟然同时插入了两条一模一样的数据;然后重建表并去掉唯一约束,再插入数据报错:无效的列索引