Question

I ran an ALTER TABLE query to add some columns to a table and then db.commit(). That didn't raise any error or warning but in Oracle SQL developer the new columns don't show up on SELECT * ....

So I tried to rerun the ALTER TABLE but it raised

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

That kinda makes sense (I can't create columns that already exist) but when I try to fill the new column with values, I get a message

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

which suggests that the new column has not been created yet.

Does anybody understand what may be going on?

UPDATE/SOLVED I kept trying to run the queries another couple of times and at some point, things suddenly started working (for no apparent reason). Maybe processing time? Would be weird because the queries are ultra light. I'll get back to this if it happens again.

No correct solution

OTHER TIPS

First, you don't need commit, DDL effectively commits any transaction.

Ora-14411 means

Another conflicting DDL was already running.

so it seems that your first ALTER TABLE statement hasn't finished yet (probably table is too big, or some other issues).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top