在使用datastage開發的時候,遇到錯誤:sql
SQL*Loader-951: Error calling once/load initializationsession
ORA-00604: error occured at recursive SQL level 1app
ORA-00054: resource busy and acquire with NOWAIT specifiedide
搬出谷歌大神:ui
多是表裏索引處於 unusable state --> 致使索引unusable的緣由:duplicate keys on unique constraint column,解決的方案SKIP_INDEX_MAINTENANCE or rebuild index索引
我琢磨了半天,我這個表沒有索引啊,怎麼可能出現這個問題?也沒想太多,把OS重啓了事,運行JOB,成功無報錯。又試了一次,出現一樣的錯誤。正在糾結中,無心中把delete表語句的session關掉了,JOB就正常了。 最終緣由竟然是:我刪除表數據以後並無commit,致使從新插入數據的時候報錯。太粗心了,把知識從新記一次。ci
科普本身: 開發
DML(select,insert,update,delete,call,explain plan,lock table,...)不自動提交it
DDL 自動提交io
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;