文档解释
ORA-04027: self-deadlock during automatic validation for object string.string
Cause: An attempt was made to validate an invalidated object but it failed because of a self-deadlock.
Action: , e.g. compile the invalidated object separately.
ORA-04027 是一个错误码,用于指示系统遇到了自锁,就是当系统试图对某个对象进行自动验证时发生的情况。这个错误出现的情况大多是由对对象的多次更改引起的,导致系统尝试在一次操作中执行两个两阶段的操作(改变和验证)而造成自锁。
官方解释
Oracle ERRMSG:ORA-04027错误:自锁错误。当系统尝试对对象进行自动验证时出现自锁状态。
常见案例
ORA-04027 错误此时出现的常见情况是,当一个表正在被修改时,你尝试用一个新的表空间来存储修改后的表,就会引发ORA-04027 ,此时,Oracle会强制取消修改操作,而在系统中形成死锁,从而产生ORA-04027错误。
正常处理方法及步骤
1. 定位这个错误的根源,尝试找出正在修改的表。
2. 尝试回滚修改操作,如果这项操作成功,就说明这个操作可以继续。
3. 如果无法使用回滚操作成功,就需要重启数据库 server ,以便清除这个ORA-04027错误。