Cannot Upgrade Confluence on Oracle if the Database is Shared

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Symptoms

Upgrading Confluence fails with one of the below exceptions -

1 2 3 4 2008-12-29 08:20:18,257 ERROR [Thread-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute Unsuccessful: alter table <example table name> add <example column name> number(19,0) 2008-12-29 08:20:18,257 ERROR [Thread-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute ORA-01430: column being added already exists in table 2008-12-29 08:20:18,257 ERROR [Thread-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute could not complete schema update java.sql.SQLException: ORA-01430: column being added already exists in table
1 2 3 4 2008-12-29 08:20:18,257 ERROR [Thread-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute Unsuccessful: alter table <example table name> add <example column name> number(19,0) 2008-12-29 08:20:18,257 ERROR [Thread-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute ORA-01430: column being added already exists in table 2008-12-29 08:20:18,257 ERROR [Thread-1] [hibernate.tool.hbm2ddl.SchemaUpdate] execute could not complete schema update java.sql.SQLException: ORA-01430: column being added already exists in table

Cause

A table with the same name exists in both Confluence and another applications database schemas, Confluence only picks up the first table found.

The root cause is due to this Hibernate bug.

Resolution

Ensure that Confluence schema only has permissions to objects in its own schema, like revoking 'select any table' and 'dba' permissions. Confluence must have the permissions described in Database Setup for Oracle, and no more. Ensure you follow the entirety of Step 3 in that document to fix the database permissions, including creating the local 'all_objects' view to ensure that the user cannot see objects from other databases.

There are several other approaches to fixing this issue, as documented in CONF-3613 - however fixing the permissions as above is the recommended way to resolve this issue.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.