今天遇到了这个问题,正好xzh2000的blog上提到了解方法:
http://blog.itpub.net/post/96/31085
(1) set transaction use rollback segment system
(this is VERY important, otherwise database loss can occur)
(2) select * from dba_2pc_pending where state='collecting';
(3) for each local_tran_id in selected rows, delete where local_tran_id is that value from the following tables:
dba_2pc_pending
pending_sessions$
pending_sub_sessions$
如果使用了9i的aum(auto undo management)
要先屏蔽掉对undo操作的错误提示:
sql>alter system set UNDO_SUPPRESS_ERRORS = TRUE
sql>EXECUTE DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('。。。。')
sql>alter system set UNDO_SUPPRESS_ERRORS = false
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/936/viewspace-60698/,如需转载,请注明出处,否则将追究法律责任。