文档解释
ORA-39004: invalid state
Cause: The state of the job precludes the execution of the API.
Action: Rerun the job to specify the API when the job is an appropriate state.
ORA-39004 错误消息是 Oracle 数据库服务器用于指示请求/过程处于不正确状态的特殊消息。
官方解释
常见案例
1. 当使用SQL Loader载入大量数据时,Oracle 是正在载入不是正在提交,并且试图提交一个未完成的载入,会抛出 ORA-39004 错误。
2. 对于DDL 的执行,如果在一个未完成的过程中尝试提交时,也会报ORA-39004 错误。
3. 当使用PL/SQL的dbms_output.put_line等函数时,如果PL/SQL执行过程中尝试提交时,会发生 ORA-39004 错误。
一般处理方法及步骤
2. 如果发生了 ORA-39004 错误,归结其根本原因,改变代码逻辑以避免这个错误的发生,或者尝试重试此操作。
3. 如果是由于多线程等因素导致 ORA-39004,可以尝试使用参数 serialize ,以减少发生 ORA-39004 的概率。
4. 如果无法轻松解决的可以重启服务器,重新连接数据库服务器,以确保状态的正确性。