Monday, April 16, 2012

upgrading Oracle database from 10.2.0.3se to 11.2.0.1se: ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated

Task: upgrading database 10.2.0.3se to 11.2.0.1se. The upgrading script was re-run after solving an error.

Error:
Got the following error when running Oracle Database 11.2 Post-Upgrade Status Tool after running Oracle upgrading script the second time:


Oracle Server
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.   ORA-00001: unique constraint (SYS.I_SYSTEM_PRIVILEGE_MAP) violated
.                                         VALID      11.2.0.1.0  00:48:43


NOTE:
Oracle Note: ORA-00001: UNIQUE CONSTRAINT VIOLATED WHEN RUNNING THE POST UPGRADE STEP TO 11G [ID 1240775.1]

Cause

This is the expected behavior as confirmed by development in the unpublished bugs

Bug 5501515 TST&PERF VIOLATED SOME TABLE'S UNIQUE CONSTRAINT WHILE UPGRADING TO 11G
Bug 8834797 APPSST GSI 11G UNIQUE CONSTRAINT VIOLATED WHILE RUNNING CATUPGRD

There are 11g specific configuration rows to be inserted in the dictionary tables during the upgrade. When running multiple times the post upgrade step, the same rows are inserted again, therefore the unique constraint keys are violated.

Solution

Unique constraint errors are expected and acceptable on re-run of catupgrd.sql or utlu111s.sql. These ORA-1 errors can be safely ignored and should not impact the upgrade process in anyway.