文档解释
ORA-24909: call in progress. Current operation cancelled
Cause: The OCI call was invoked when another call on the connection was in progress.
Action: Check if the OCI call is supported when the call is in progress under special conditions; for example, if it is being used by a signal handler.
ORA-24909 错误表明,当前已有操作正在进行中,因此当前操作无效。
官方解释
ORA-24909: 在进行中的调用。当前操作取消。
这个错误是由于同一个用户在数据库中同时发起了两个或多个事务,而不包括DML语句诸如INSERT,UPDATE,DELETE,SELECT等操作。例如,一个用户同时发起了不属于DML的事务,如PL/SQL块,CREATE /DROP等,无论原因如何,将导致此错误。
常见案例
1. 当一个用户试图浏览一个Table时,另一个用户同时尝试在该Table中创建一列;
2.当一个用户试图浏览一个PL/SQL过程时,另一个用户试图修改这个过程;
3. 当一个用户试图浏览一个触发器时,另一个用户试图删除它;
4.当一个用户试图浏览一个函数时,另一个用户试图创建一个与之同名的函数。
一般处理方法及步骤
1. 确认使用哪个用户创建数据库模式;
2. 检查当前active session,判断是否有其他用户在进行任何操作;
3. 不要让多个用户同时对同一个对象进行操作;
4. 两个用户试图对同一个对象执行操作时,请合理地安排他们的执行时间。