Cannot Restore XML Backup due to Value too Large for Column
Atlassian recommends disabling the XML backup both for performance and reliability. Setting up a test server and the Production Backup Strategy is better done with an SQL dump. Upgrading Confluence is better done without the XML backup.
The one operation for which an XML backup is required is database migration. For this we recommend a commercial database migration tool. Vote for Cannot Restore XML Backup due to Value too Large for Column to add a more robust strategy for large implementation migrations. Atlassian does not support migrating to a new database.
Symptoms
The following error appears during a space or global import:
org.springframework.jdbc.UncategorizedSQLException: (HibernateTemplate): encountered SQLException [ORA-12899: value too large for column "CONFLUENCE"."LINKS"."DESTPAGETITLE" (actual: 279, maximum: 255) ]; nested exception is java.sql.BatchUpdateException: ORA-12899: value too large for column "CONFLUENCE"."LINKS"."DESTPAGETITLE" (actual: 279, maximum: 255)
Cause
The error is related to a record in the LINKS table and the length of the record exceed the column size (LINKS.DESTPAGETITLE). Additionally, there is a possibility that this issue is caused by CustomWare linking plugin used on that particular page.
Resolution
Execute the following SQL query against the Confluence database. This will return records where the destination page titles exceed 254 characters:
SELECT * FROM links where length(destpagetitle) > 254;
- Locate the pages entitled by the values from the column "
destpagetitle
" and edit their titles such that they are 254 characters or below. The LINKS table should update accordingly, thus resolving the constraint violation.
OR
- Identify the
pageID
of the page with the error. - Open that particular page in edit mode, for example: <your confluence url>/pages/editpage.action?pageId=PageID and then shorten the link or delete the link completely.