ora-03113-通信信道结束

bprjcwpo  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(163)

我有一个select查询与四个表连接。所有的表都有索引列,在where子句中使用。此查询返回前十条记录,从大约5000条记录到6000条记录。在我的本地数据库中,这个查询在几秒钟内就返回了记录,但是在服务器上,它花费了很长时间,没有返回任何记录,而是出现了一个错误消息框ora-03113:通信通道上的文件结束。
实际上还有另一个团队,向我分享了这个问题。该团队可以从服务器获取数据,但我的查询不能,因为两个查询是相同的。我的查询和他们的查询之间的区别是相同的。我正在使用舍入函数来舍入值,但是它们没有在查询中使用,而是在前端处理。所以他们让我去掉取整函数,然后再试一次。我删除了舍入函数并尝试了。仍然加载并显示通信信道的错误端。
我的问题是这样的

SELECT *FROM (SELECT col1,
       col2,
       CASE WHEN col3 = 'A' THEN col4 CASE WHEN col5 = 'B' THEN col4 ELSE NULL END alias1,
       CASE WHEN col3 = 'A' THEN col6 CASE WHEN col5 = 'A' THEN col6 ELSE NULL END alias2,
       col7,
       col8,
       col9,
       to_char(dense_rank()
           over(ORDER
            BY(t2.col17 marketnav(t3.col20,
                 to_date('01-JAN-1940', 'dd-mon-yyyy'),
                 to_date(t1.col20, 'dd-mon-yyyy'))) DESC)) in_rank,
       funct1(col10, col11, col12),
       col13,
       col14,
       funct1(col10, col11, col12)
  FROM t1,
       t2,
       t3,
       t4
 WHERE t1.col15 = t2.col15 AND
       t1.col12 = t1.col12 AND
       t1.col20 = t3.col20 AND
       t1.col21 = t4.col21 AND
       t2.date1 IS NOT NULL AND
       trunc(t2.date1) = '16-Jun-2020') WHERE in_rank < 11

我可以在本地数据库中运行和获取数据,但在服务器上这需要时间,并且没有返回任何记录。有什么问题?note:my local 与服务器数据库相比,数据库可能对数据不太满意。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题