cx_Oracle.DatabaseError:ORA-14411

时间:2013-12-12 15:38:50

标签: python sql oracle oracle11g cx-oracle

我运行了ALTER TABLE查询,将一些列添加到表中,然后db.commit()。这没有引起任何错误或警告,但在Oracle SQL开发人员中,新列未显示在SELECT * ...上。

所以我尝试重新运行ALTER TABLE,但它提出了

cx_Oracle.DatabaseError: ORA-14411: The DDL cannot be run concurrently with other DDLs

这有点合理(我不能创建已经存在的列)但是当我尝试用值填充新列时,我收到一条消息

SQL Error: ORA-00904: "M0010": invalid ID 00904. 00000 - "%s: invalid identifier"

表示新列已创建

有人了解可能会发生什么吗?

更新/已解决我一直试图再次运行查询,在某些时候,事情突然开始起作用(没有明显的原因)。也许处理时间?会很奇怪,因为查询非常轻松。如果它再次发生,我会回到这里。

1 个答案:

答案 0 :(得分:1)

首先,您不需要提交,DDL可以有效地提交任何事务。

Ora-14411 means

  

另一个冲突的DDL已经在运行。

所以看来你的第一个ALTER TABLE语句还没有完成(可能是表太大了,或者其他一些问题)。