Mitch Gitman
2008-08-15 16:08:43 UTC
I've been using LiquiBase for months now, but I've finally managed to stump
myself. I've got a changelog file that my colleagues and I have run
countless times against an Oracle 10g database. Only now, though, whenever I
run the regular database update, I get the following error:
liquibase.exception.LockException: liquibase.exception.JDBCException: Error
executing SQL CREATE TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED
NUMBER(1) NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT
PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
at liquibase.lock.LockHandler.waitForLock(LockHandler.java:167)
...
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Caused by: liquibase.exception.JDBCException: Error executing SQL CREATE
TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED NUMBER(1) NOT NULL,
LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT
PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
at
liquibase.database.template.JdbcTemplate.execute(JdbcTemplate.java:56)
...
Caused by: java.sql.SQLException: ORA-00955: name is already used by an
existing object
I can only figure the name that's already in use is DATABASECHANGELOGLOCK.
So I tried dropping the DATABASECHANGELOGLOCK table, but I'm still getting
the same error.
Any ideas how to get out of this invalid state, or why this is happening?
myself. I've got a changelog file that my colleagues and I have run
countless times against an Oracle 10g database. Only now, though, whenever I
run the regular database update, I get the following error:
liquibase.exception.LockException: liquibase.exception.JDBCException: Error
executing SQL CREATE TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED
NUMBER(1) NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT
PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
at liquibase.lock.LockHandler.waitForLock(LockHandler.java:167)
...
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Caused by: liquibase.exception.JDBCException: Error executing SQL CREATE
TABLE DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED NUMBER(1) NOT NULL,
LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT
PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
at
liquibase.database.template.JdbcTemplate.execute(JdbcTemplate.java:56)
...
Caused by: java.sql.SQLException: ORA-00955: name is already used by an
existing object
I can only figure the name that's already in use is DATABASECHANGELOGLOCK.
So I tried dropping the DATABASECHANGELOGLOCK table, but I'm still getting
the same error.
Any ideas how to get out of this invalid state, or why this is happening?