我有一个400行的SQL查询,它会在30秒内抛出异常
ORA-03113:通信信道上的文件结束
以下是需要注意的事项:
令人不安的情况是这样的:
AND UPPER (someMultiJoin.someColumn) LIKE UPPER ('%90936%')
Run Code Online (Sandbox Code Playgroud)
所以我的假设是,查询从服务器端被终止,显然是因为它被识别为资源占用.
我的假设是否合适?我该如何解决这个问题呢?
编辑:我试图得到错误查询的解释计划,但解释计划查询也给我一个ORA-03113错误.我知道我的查询不是很高效,但为什么这是ORA-03113错误的原因.我试图从toad运行查询并且没有生成警报日志或跟踪,我的db版本是 Oracle9i企业版版本9.2.0.7.0 - 生产
我正在写一个相当大的查询,我有2个表,内部连接和15个表左外连接.当我添加16时,我得到ORA-03113:通信通道上的文件结束.如果我删除一个表来添加新表,查询工作正常.
查询运行正常的SQL Server,它只是甲骨文似乎正在努力.
当我在Oracle 11g上运行下一个sql语句时,我得到了ora - 03113但在oracle 10gr2上运行正常的语句可以帮助我解决这个问题
SELECT /*+ INDEX_JOIN(b) */
b.child_
FROM tab1 b
START WITH b.child_ IN (
SELECT /*+ INDEX_JOIN(c) */
c.id
FROM tab2 c
WHERE c.id IN (SELECT /*+ INDEX_JOIN(d) */
d.id
FROM tab3 d
WHERE d.id2 = 'X'
UNION
SELECT 'X'
FROM DUAL))
CONNECT BY b.parent_ = PRIOR b.child_
Run Code Online (Sandbox Code Playgroud)