查找有关update有关的trigger。
这个未成功导入的trigger是before delete的,怎么会影响update。

解决方案 »

  1.   

    把TRI_DELTreatPolicy触发器重新编译一下,看看报什么错误
      

  2.   

    还有一种测试方法就是通过零数量导出,再导入,看看是不是有什么约束存在。exp .... rows=0
      

  3.   

    第一步,先检查一下表TreatPolicy是否存在
      

  4.   

    第二步:如sanoul(垃圾)所说:“把TRI_DELTreatPolicy触发器重新编译一下,看看报什么错误”我以前也碰到过类似的情况
    当你建立了一个视图,或者trigger
    然后把这个视图或者trigger的基表删除了
    然后EXP是不会报错的,因为EXP的时候只是把trigger和view的代码导出了
    但是在IMP的时候,就要执行建立这个trigger的代码了,所以出错了还有,可能和lnsi_cw 的权限也有关系,直接把DBA角色赋给lnsi_cw 试试。
      

  5.   

    呵呵,如果你只是要倒库的话,恭喜你,你已经倒进去了。只不过个别对象没有编译成功。如果你要知道update xxx的时候为什么报错的话,建议分析一下跟xxx相关的trigger进行了什么操作,搞不好跟权限真的有关,会不会还牵涉到了dblink。
      

  6.   

    你的触发器有问题.to zealot_zk(风中追风):
    你的说法有问题.ORACEL对imp操作是有顺序的,首先是创建新表,插入数据,然后创建索引,再导入触发器存储过程等等,最后是激活表上的完整性约束.
      

  7.   

    谁也没有解决我的问题,关键是导完库后,我的基本表根本就update不了,
    出现
    ORA-00604: 递归 SQL 层 1 出现错误
    ORA-00942: 表或视图不存在那位oracle高手能解决,我给500元钱,不反悔!
      

  8.   

    使用两步导入法:
    1、imp sytem/manager fromuser=lnsi touser=lnsi_cw  file=c:\2004.dmp log=c:\123 rows=n2、imp sytem/manager fromuser=lnsi touser=lnsi_cw  file=c:\2004.dmp log=c:\123 ignore=y
      

  9.   

    在CSDN,提出问题-学习问题-解决问题。-------------------------------------
    问题可能不是所谓的update操作引起的,而是某个包(例如:dbms_refresh)某个触发器(例如:TRI_DELTreatPolicy)--------------------------------------
    仔细地观察一下你的问题
    imp sytem/manager fromuser=lnsi touser=lnsi_cw  file=c:\2004.dmp log=c:\123.........
    . . 正在导入表                          "ZS01"         37行被导入
    . . 正在导入表                          "ZS06"         27行被导入
    IMP-00041: 警告: 创建的对象带有编译警告
     "CREATE TRIGGER "LNSI".TRI_DELTreatPolicy BEFORE DELETE"
     "  ON TreatPolicy FOR EACH ROW"-------------------------------------------
    创建的时候很奇怪"LNSI".TRI_DELTreatPolicy ,但你的载入用户应该是"LNSI_CW"
    =============
    "BEGIN   dbms_refresh.make('"LNSI"."SIBANKREFGRP"',list=>null,next_date=>nul"
     "l,interval=>null,implicit_destroy=>FALSE,lax=>FALSE,job=>22,rollback_seg=>N"
     "ULL,push_deferred_rpc=>TRUE,refresh_after_errors=>FALSE,purge_option => 1,p"
     "arallelism => 0,heap_size => 0); END;"
    这一段脚本也是如此,都是使用"LNSI"用户在创建。
    ++++++++++++++++++++++++++++++++++++
    个人认为解决方法可以进入LNSI_CW用户,察看各个对象的有效性,无效的察看脚本,修改脚本,并重新编译。(工具:PL/Sql Developer或者TOAD都可以)