平台: Oracle10.2.0.4
--执行第一遍没问题, 执行第二遍就不行, 除非退出当前session(如退出toad) BEGIN 由于package里cusor中select的视图是通过dblink获得的, 而远程数据库中被调用的视图, 又通过dblink调用了其它的表, 真是够复杂的. 然后就出现了该错. --重建了dblink也无效 BEGIN --End-- |
这个是oracle内部错误,原因是有同一个会话没有完成,其操作还在数据缓冲区中,这时该会话并没有退出,在UNIX就是僵尸进程,WINDOWS下就是死进程,由ORACLE后台清理程序完成退出操作。
你可以在SYS用户下查找该会话的SPID,然后KILL它,然后执行就可以了,也就是在另外的会话中执行该语句。
做个sql trace
Alter session set events '10046 trace name context forever, level 4';
看看根本的recursive sql的问题是哪里