I got this error in my java application log, it uses java db connection pool. Anyone experienced this before using oracle temporary table? and what's your solution? Any help is much appreciated.
Try to Terminate the connection and start back.
To find whether any process is running try to use the below code and find the running process.
Error Cause:
An attempt was made to access a transactional temporary table that has been already populated by a concurrent transaction of the same session.
Action:
do not attempt to access the temporary table until the concurrent transaction has committed or aborted.
SELECT
o.object_name
, s.sid, s.serial#
, s.username
, s.osuser, s.machine
, 'alter system kill session '''||to_char(s.sid)||','||to_char(s.serial#)||''';' ks
FROM
user_objects o
, v$lock a
, v$session s
WHERE
o.object_name = 'table_name_here'
AND a.id1 = o.object_id
AND a.type = 'TO'
AND a.sid = s.sid
;
ON COMMIT PRESERVE ROWS
? if so, do you really need to preserve the data for the whole session ? maybe you can work withON COMMIT DELETE ROWS
which holds the data for the transaction only ? tell us more .. - A.B.Cade 2012-04-04 17:34