When upgrading to 16.1, 25.1 or 26.1 from any 16.X version the migrator fails at "StructuredDataIdentifierUpdate"
ERROR : ORA-01427: single-row subquery returns more than one row
====================================================================================================
TASK_ID : 8
TASK_NAME : Data Migration
BATCH_NUM : 1
ERROR_TYPE : FATAL
ERRANT_STMT :
ERROR : ORA-20001: UpgradeSchema_Data_Migration.Data_Migration: User-Defined Exception
====================================================================================================
....
When upgrading from 15.8 to 16.X versions there was a failure in migration that was ignored, and SDIs did not get updated.
The Migrator to 25.1 expects these SDIs to be in a certain stat
Revert the database to the backup from before the migration was attempted.
Once the database is reverted and the environment is restored, run the following steps:
12 Steps to upgrade to 16.1 if initial SDI data is missing
These steps assume that only the "Verify initial SDI Data exists" failed in the new URT.
If the customer hit this issue with upgrading to 25.1 or 26.1, they must first upgrade to 16.1 first using these steps. Once upgraded to 16.1 then they can upgrade to future versions without issue.
These steps use files in the attached CorrectMissingSDI.zip.
UPDATE dataidentifierbreadth SET preinvalidcharacters = '\S\w' WHERE (preinvalidcharacters IS NULL or preinvalidcharacters='') AND dataidentifierid IN (SELECT dataidentifierid FROM dataidentifier WHERE identifiertype='CUSTOM'); UPDATE dataidentifierbreadth SET postinvalidcharacters = '\S\w' WHERE (postinvalidcharacters IS NULL or postinvalidcharacters='') AND dataidentifierid IN (SELECT dataidentifierid FROM dataidentifier WHERE identifiertype='CUSTOM'); COMMIT;
10. Run the 16.1 Migrator again once again skipping phase 1 and just running phase 2 but this time using 15.8 as the source version
11. Replace EnforceServerMigrationPhase2.xml one final time with EnforceServerMigrationPhase2.xml.final (after renaming it to EnforceServerMigrationPhase2.xml)
12. Run the 16.1 Migrator one last time again skipping phase 1 and just running phase 2 once again using your current 16.0.x version as the source version to complete the upgrade to 16.1