Support Article
Unable to deploy hotfixes due to ORA-00001 error
SA-70270
Summary
ORA-00001 error occurs and unable to deploy Hotfixes.
Error Messages
Could not save rollback information for an installed hotfix: ORA-00001: unique constraint (<userschema>.PR_DATA_RESTORE_PK) violated
DatabaseException caused by prior exception: java.sql.BatchUpdateException: ORA-00001: unique constraint (<userschema>.PR_DATA_RESTORE_PK) violated
| SQL Code: 1 | SQL State: 23000
DatabaseException caused by prior exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (<Userschema>.PR_DATA_RESTORE_PK) violated
Steps to Reproduce
Install a hotfix using the Hotfix Manager.
Root Cause
A third-party product issue.
The stored sppc_data_uniqueid, deployed to the Oracle database server had the PL/SQL code to update the PYLASTRESERVEID. During the last Hotfix installation, a unique ID was returned by this stored procedure to the application transaction which was committed to the pr_data_products table. The UPDATE statement issued within the stored procedure failed to write to the pc_data_uniqueid table due to issues with the Oracle database server.
Resolution
Perform the following local-change:
- Backup the table, pc_data_uniqueid.
- Run the below query to verify the pyLastReservedID for the HOTFIXORDER table entry.
select pyLastReservedID from pegadata.pc_data_uniqueid where pxInsName='!HOTFIXORDER-'
Note the pyLastReservedID.
For exmaple, pyLastReservedID is 94
- Run the below query and note the highest Hotfix order number from the dbo.pr_data_products table.
select pyUniqueID from pegarules.pr_data_products;
For example, the result of the is HOTFIXORDER-94
- Update the table with pc_data_uniqueid as below:
UPDATE pegadata.pc_data_uniqueid
SET pyLastReservedID='96' // (increase the no. by 2 i.e 94+2)
WHERE pxInsName='!HOTFIXORDER-';
- Install the hotfix.
Published April 4, 2019 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.