trs在建立增量更新任务的时候,报错如下:  ORA-00604: 递归 SQL 级别 1 出现错误
ORA-20000: Trigger xdb_installation_trigger does not support     object creation of type TRIGGER
ORA-06512: 在 line 33 
后来把那些建的trigger脚本copy出来如下:  CREATE OR REPLACE TRIGGER REPOSITORY_UPDATE_I_TRIG AFTER INSERT ON FAQ.T_REPOSITORY 
    FOR EACH ROW   
  BEGIN 
     INSERT INTO REPOSITORY_UPDATE$_temp VALUES(REPOSITORY_UPDATE$_SEQ.NEXTVAL,:new.PK_AUTO_ID,1,0); 
    END;1,赋予faq用户sysdba权限,把sql脚本plsql里面执行不了,换一个用户system也不行,报同样错误,但是建别的对象比如表、视图、存储函数、存储过程、序列等都可以创建的。2,建一个临时表tt(create table tt(id number);),再建一个临时trigger:
CREATE OR REPLACE TRIGGER REPOSITORY_UPDATE_D_TRIG AFTER DELETE ON tt
  FOR EACH ROW   
BEGIN 
    dbms_output.put_line('test');
  END;
也是报一样的错误。3,用system登陆进去,建一个新的普通的触发器,报错一样的错误,打开以前的触发器,编译,报同样的错误。总结:在我本地的笔记本上面,可以建触发器,但是在161.112.107.211的bstdb库上就建不了触发器。

解决方案 »

  1.   

    把alert.log日志贴出来吧!看看是什么操作导致创建trigger失败!
      

  2.   

    CREATE OR REPLACE TRIGGER REPOSITORY_UPDATE_I_TRIG 
     AFTER 
     INSERT 
     ON FAQ.T_REPOSITORY 
    FOR EACH ROW  
     BEGIN 
        INSERT INTO REPOSITORY_UPDATE$_temp VALUES(REPOSITORY_UPDATE$_SEQ.NEXTVAL,:new.PK_AUTO_ID,1,0); 
        END;
    怎么感觉没有触发条件呢?
      

  3.   


    AFTER 
    INSERT
      是触发条件啊
      

  4.   

    有可能是触发器组件包已经遭到破坏了!楼主用 select comp_name,version,status from dba_registry;
    命令执行下,看显示结果如何?
      

  5.   


    刚好遇到此问题,关注!
    我的运行结果COMP_NAME
    --------------------------------------------------------------------------------
    VERSION                        STATUS
    ------------------------------ ----------------------
    Oracle Database Packages and Types
    10.2.0.4.0                     INVALIDOracle XML Database
    10.2.0.4.0                     INVALID
      

  6.   

    搜索到这个帖子,http://www.orafaq.com/forum/t/83072/2/已暂时解决,把SYS.xdb_installation_trigger Disable掉就可以了但不知道为何会出现这个问题,请专家解答.
      

  7.   


    这个 diable之后,触发器还能建立吗?还可以create trigger 吗?
      

  8.   

    oracledbalgtu,怎么还不来解答啊?