While troubleshooting a conversion of e-Business suite 11i from AIX to Solaris, I noticed a few ORA-1422 errors for
sqlplus -s APPS/***** @<appl_top>/ad/11.5.0/patch/115/sql/adctxpkg.sql &systempwd CTXSYS &un_apps
PL/SQL procedure successfully completed.
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "SYSTEM.AD_DDL", line 2280
ORA-06512: at line 215
The root cause looked like a corruption of the FND_ORACLE_USERID table, most likely a few years old datafix or user error, with the following query probably improperly returning more than one record.
select * from fnd_oracle_userid where install_group_num=1 and read_only_flag='U'
With no time to troubleshoot further, I bypassed the error by discarding the wrong records with:
update fnd_oracle_userid set read_only_flag='Z' where oracle_id between 20043 and 20047;