Description:
When installing Spotfire Server with the same Oracle database instance as another Spotfire Server (same Oracle server, but different schemas), database integrity verification errors may occur during new Spotfire Server startup. These errors are caused by table constraints from another Spotfire schema conflicting with the new installation. These are a few examples of such errors:
FATAL 2024-09-18T10:43:01,990+0100 [*Initialization*] spotfire.server.LifecycleManager: Spotfire Server will not be started. Database consistency verification failed. Errors found:
Unexpected constraint for table LIB_PRINCIPAL_PROPS: OracleDatabaseConstraint[
name: FK_LPP_LIB_ITEMS
type: R
searchCondition: null
]
Unexpected constraint for table LIB_DATA: OracleDatabaseConstraint[
name: SYS_C0012595
type: C
searchCondition: ITEM_ID IS NOT NULL
]
Unexpected constraint for table LIB_DATA: OracleDatabaseConstraint[
name: FK_LIB_DATA_ITEM_ID
type: R
searchCondition: null
]
Unexpected constraint for table LIB_DATA: OracleDatabaseConstraint[
name: PK_LIB_DATA_ITEM_ID
type: P
searchCondition: null
]
Unexpected index for table LIB_DATA: OracleDatabaseIndex[
name: PK_LIB_DATA_ITEM_ID
uniqueness: UNIQUE
]
Note, the issue might exist but not cause errors when the same versions of Spotfire Server are sharing Oracle database instance. This is because, in this case, all Spotfire constraints are valid, as they belong to the same version of Spotfire. It's only when Spotfire versions have different constraints that this issue gets raised and reported during Server startup.
Solution:
- In order to avoid schema conflicts, use separate Oracle database instance for each Spotfire Server instance.
- If separate Oracle instances are not possible, create a new schema and user for Spotfire Server with restricted visibility to objects from Spotfire Server schemas.
- If the issue persists, contact Support for further assistance, as this is a known limitation that may require future product enhancements to fully resolve.