我对表格有一个简单的UPDATE...WHERE EXISTS...
。 Oracle(通过所有其他客户端工具)立即(无延迟)返回一个ORA-03113,指示可能的连接问题,& c。我直接在数据库框中运行。更新语句导致Oracle“没有更多数据从套接字读取”?
此实例已启动,正在运行,并且很开心。我可以发出任何SQL和复杂的过程,许多模式都可以运行。这只是一个特定的SQL语句。
它可能是什么?如何找出答案?
$ sqlplus user/pass
SQL*Plus: Release 10.2.0.4.0 - Production on Mon Mar 28 13:04:38 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from dual;
D
-
X
SQL> update foo_a a
2 set a.field0 = (
3 select b.bar
4 from foo_b b
5 where b.custom_no = 0
6 and b.csf_id = a.id
7 ) , a.updated_on = current_timestamp
9 where exists (
8 select 1
10 from foo_b c
11 where c.custom_no = 0
12 and c.csf_id = a.id
13 );
update foo_a a
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
SQL>
服务器上是否生成跟踪文件?如果是这样,你可以发布该跟踪? – 2011-03-28 20:48:19
这是一个很大的痕迹。有没有最能帮助的部分? – Xailor 2011-03-28 20:55:35
什么数据库版本,出于兴趣? – 2011-03-29 04:48:53