【问题标题】:cx_Oracle.DatabaseError: ORA-14411cx_Oracle.DatabaseError: ORA-14411
【发布时间】:2013-12-12 15:38:49
【问题描述】:

我运行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"

这表明新列尚未创建。

有人知道发生了什么吗?

UPDATE/SOLVED 我继续尝试再运行几次查询,在某个时候,事情突然开始工作(没有明显的原因)。也许处理时间?会很奇怪,因为查询是超轻量级的。如果它再次发生,我会回到这个。

【问题讨论】:

    标签: python sql oracle oracle11g cx-oracle


    【解决方案1】:

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

    Ora-14411 means

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

    所以您的第一个 ALTER TABLE 语句似乎还没有完成(可能是表太大,或其他一些问题)。

    【讨论】:

    • 您似乎是对的,请参阅我的更新。还是很奇怪,表格只有 33 行 11 列……
    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2021-09-10
    • 2020-07-29
    • 2017-09-01
    • 1970-01-01
    相关资源
    最近更新 更多