如果对方数据库中的这个表,有一个会话再上面执行了
select ... for update锁 ,只有那个会话commit/rollback,
你的语句才可以执行,否则将一直等待。

解决方案 »

  1.   

    锁查询代码
    SELECT s.osuser,S.SID SESSION_ID,S.USERNAME,LMODE,REQUEST,O.OWNER||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')',S.TYPE LOCK_TYPE,L.ID1 LOCK_ID1,L.ID2 LOCK_ID2
     FROM V$LOCK L,SYS.DBA_OBJECTS O,V$SESSION S 
     WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID;
      

  2.   

    to bzszp 对方锁数据库吗,
    这种情况,只要我重起数据库,就正常了,如果不在重新编译启动应用程序的话,它会一直正常运行,数据能取过来,但是只要我重新编译了程序,再启动,同步数据库的话就停在那里了
      

  3.   

    楼主把在出问题时,把"select"SQL放到remote oracle server上去执行一下,看看是否可以正常使用,确定是那边的问题
      

  4.   

    是的,有可能使对方的数据库对表加了锁
    同时检查一下你的程序是否使用了锁,而且没有commit/rollback另外:是否有可能是你的存储过程没有执行完。