Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

LEFT OUTER JOIN causes ORA-03113: end-of-file on communication channel

530128Sep 8 2006 — edited Sep 8 2006
I encounter this error on a very simple LEFT JOIN. Here's the test:
--
drop user mdb2 cascade;
create user mdb2 identified by mdb2;
grant resource, create session to mdb2;
--
connect mdb2/mdb2;

--create 2 tables:
create table x1 (n number primary key);
create table x2 (n number primary key);

-- add FK from X2 to X1
ALTER TABLE x2 ADD ( FOREIGN KEY (N) references x1);

-- Try to display tables hierarchy:
select rpad('.', (level-1)*2,'.') || c1.table_name as CHILD
from user_constraints c1, user_constraints c2
where
c1.r_constraint_name = c2.constraint_name (+)
and c1.r_owner = c2.owner (+)
connect by prior c1.table_name = c2.table_name ;

--It gives this result, as expected: (X2 is child of X1):

CHILD
--------
X2
X2
X1
..X2

But instead of using (+) I want to use the LEFT OUTER JOIN:

select rpad('.', (level-1)*2,'.') || c1.table_name as CHILD
from user_constraints c1 left outer join user_constraints c2
on (c1.r_constraint_name = c2.constraint_name and c1.r_owner = c2.owner)
connect by prior c1.table_name = c2.table_name ;

This gives this error:
ORA-03113: end-of-file on communication channel

Same problem with either LEFT JOIN or LEFT OUTER JOIN.

There are only 2 tables and 1 FK. There are not that many rows to cause this kind of error.

I am on 10.1.0.2.0, Linux.

Any ideas?

Thanks
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 6 2006
Added on Sep 8 2006
2 comments
669 views