Yesterday I was working on a query to summarize some data. It pulls data from 2 fairly static tables, each containing around 70k rows. As soon as I Executed the query - almost instantly - I got an "End of file on communication channel..." error. That is followed by a "Not connected to Oracle" error. So, then I try to log back in - and can't. Turns out that nobody else can either. The DB runs fine for those who are in, but nobody can log in. Oracle shows no errors in any logs, and the only way we can get it back is to stop and restart Oracle. I'll post the SQL, can't get the explain plan because that wipes the DB too. Has anybody ever seen anything like this? BTW - Oracle version 9.2.0.4.0 and the 9.2 client also. Current version of PL/SQL Dev.
select a.session_level,
a.session_id,
a.parent_session_id,
scans.action,
scans.num_scans
from inventory_sessions a left outer join (
select session_id,
decode(sc.perform_add,null,'0','1') ||
decode(sc.perform_activate,null,'0','1') ||
decode(sc.perform_transfer,null,'0','1') ||
decode(sc.perform_relocate,null,'0','1') ||
decode(sc.perform_missing,null,'0','1') ||
decode(sc.perform_none,null,'0','1') as ACTION,
count(*) as num_scans
from inventory_scans sc
where record_status not in ('X','O')
group by session_id,
decode(sc.perform_add,null,'0','1') ||
decode(sc.perform_activate,null,'0','1') ||
decode(sc.perform_transfer,null,'0','1') ||
decode(sc.perform_relocate,null,'0','1') ||
decode(sc.perform_missing,null,'0','1') ||
decode(sc.perform_none,null,'0','1')) scans on (scans.session_id = a.session_id)
connect by prior a.session_id = a.parent_session_id
start with a.session_id = 70
order by session_level,
session_id;
select a.session_level,
a.session_id,
a.parent_session_id,
scans.action,
scans.num_scans
from inventory_sessions a left outer join (
select session_id,
decode(sc.perform_add,null,'0','1') ||
decode(sc.perform_activate,null,'0','1') ||
decode(sc.perform_transfer,null,'0','1') ||
decode(sc.perform_relocate,null,'0','1') ||
decode(sc.perform_missing,null,'0','1') ||
decode(sc.perform_none,null,'0','1') as ACTION,
count(*) as num_scans
from inventory_scans sc
where record_status not in ('X','O')
group by session_id,
decode(sc.perform_add,null,'0','1') ||
decode(sc.perform_activate,null,'0','1') ||
decode(sc.perform_transfer,null,'0','1') ||
decode(sc.perform_relocate,null,'0','1') ||
decode(sc.perform_missing,null,'0','1') ||
decode(sc.perform_none,null,'0','1')) scans on (scans.session_id = a.session_id)
connect by prior a.session_id = a.parent_session_id
start with a.session_id = 70
order by session_level,
session_id;