zoukankan      html  css  js  c++  java
  • SQL*Loader-951错误

    在使用datastage开发的时候,遇到错误:

    SQL*Loader-951: Error calling once/load initialization

    ORA-00604: error occured at recursive SQL level 1

    ORA-00054: resource busy and acquire with NOWAIT specified

    搬出谷歌大神:

         可能是表里索引处于 unusable state --> 导致索引unusable的原因:duplicate keys on unique constraint column,解决的方案SKIP_INDEX_MAINTENANCE or rebuild index

         我琢磨了半天,我这个表没有索引啊,怎么可能出现这个问题?也没想太多,把OS重启了事,运行JOB,成功无报错。又试了一次,出现同样的错误。正在纠结中,无意中把delete表语句的session关掉了,JOB就正常了。 最终原因居然是:我删除表数据之后并没有commit,导致重新插入数据的时候报错。太粗心了,把知识重新记一次。

    科普自己: 

         DML(select,insert,update,delete,call,explain plan,lock table,...)不自动提交

         DDL 自动提交

         DCL 自动提交 

         sql*plus里面如果没有提交的话,正常退出sql*plus的时候就会自动提交;如果非正常退出sql*plus,不提交。

    例子:

    insert into src.dw_sjc_q_chel_visit_record_d(appkey,method,time,request,response,provider,isbilling)
    select appkey,method,time,request,response,provider,isbilling from dw_biz_credit_access_bf
    commit;

  • 相关阅读:
    POJ——T2186 Popular Cows || 洛谷——P2341 [HAOI2006]受欢迎的牛
    Tarjan缩点【模板】
    shell(1):网络配置、BATH环境和通配符
    STL
    J
    H
    G
    模板整理(二)
    B
    0-1背包问题
  • 原文地址:https://www.cnblogs.com/qinxiaoqin/p/7131758.html
Copyright © 2011-2022 走看看