除了删除该触发器,编译,重写都会报锁超时,但我查死锁没查出什么东东。SQL> drop trigger JX_TR_USER_UPDATE;
drop trigger JX_TR_USER_UPDATE
*
ERROR at line 1:
ORA-04021: timeout occurred while waiting to lock object D7IP.JX_TR_USER_UPDATE

解决方案 »

  1.   

    某个应用正在占用这个触发器,找到这个session然后kill掉
      

  2.   

    我找了,但SESSION里除了后台进程就是我用的SQL PLUS的进程啊。现在的现象是改表有多个触发器,只有UPDATE类型的触发器无法进行更新操作。
      

  3.   

    数据库用的是Oracle 9.2.0.4 前台应用是Oracle Forms 9i
      

  4.   

    SQL*Plus: Release 9.0.1.0.1 - Production on 星期一 9月 10 09:18:55 2007(c) Copyright 2001 Oracle Corporation.  All rights reserved.
    连接到: 
    Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
    With the Partitioning option
    JServer Release 9.0.1.1.1 - ProductionSQL> create table t1(cid int);表已创建。SQL> create table t2 as select * from t1;表已创建。SQL> create or replace trigger trg_test after update on t1
      2  for each row begin
      3  insert into t2 values(:new.cid);
      4  end;
      5  /触发器已创建SQL> insert into t1 values(1);已创建 1 行。SQL> commit;提交完成。SQL> update t1 set cid=2 where cid=1;已更新 1 行。SQL> commit;提交完成。SQL> select * from t2;       CID
    ----------
             2SQL> drop trigger trg_test;触发器已丢弃
      

  5.   

    一个表有多个触发器 After Insert,After Delete,After Update, Before Insert,Before Delete, Before Update,只有 Update类型的触发器被锁了,SESSION里除了系统进程就是我用的PL/SQL Developer进程了。