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,不提交。

转载于:https://www.cnblogs.com/gobird/archive/2010/12/01/1893873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值