Those days when I was trying to apply the Apr 2018 Release Update Revision 12.2.0.1.180717, I got the error below during datapatch roolback execution of the previous patch:
Patch 27013506 rollback (pdb PDB01): WITH ERRORS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/27013506/21779816/27013506_rollback_ORCL_PDB01_2018Jul31_00_12_34.log (errors) Error at line 32785: ORA-20000: Oracle Text Error: CTXSYS.JSONREST_GENERIC_STOPLIST not created
And in logfile there was this entry:
3410 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','ustedes'); 3411 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','varias'); 3412 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','varios'); 3413 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','vosotras'); 3414 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','vosotros'); 3415 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','vuestra'); 3416 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','vuestras'); 3417 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','vuestro'); 3418 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','vuestros'); 3419 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','y'); 3420 sys.default_add_stopword('CTXSYS.JSONREST_MEX_SP_STOPLIST','yo'); 3421 end; 3422 end; 3423 / declare * ERROR at line 1: ORA-20000: Oracle Text Error: CTXSYS.JSONREST_GENERIC_STOPLIST not created ORA-06512: at "SYS.DEFAULT_CREATE_STOPLIST", line 27 ORA-06512: at line 35
After doing some investigation I've found the "Oracle Support Document 2358409.1 (Oracle Database / Grid Infrastructure / OJVM Release Update" saying this is an expected issue:
1.2 ORA-20000: Oracle Text Error: CTXSYS.JSONREST_GENERIC_STOPLIST not created
Problem: In the (unlikely) scenario that you are rolling back one of these Apr 2018 12.2.0.1 patches to a previous quarterly 12.2.0.1 patch, and then rolling back that previous quarterly 12.2.0.1 patch, the second rollback can fail with the error:
ORA-20000: Oracle Text Error: CTXSYS.JSONREST_GENERIC_STOPLIST not created reported by datapatch. This is due to the script ctx/admin/bug24899895_rollback.sql being run twice during this operation.
Workaround: If this is the only error reported by datapatch, the error can be ignored, and the status column of the sql registry can be manually updated from WITH ERRORS to SUCCESS to reflect that.
for example:
SQL> UPDATE dba_registry_sqlpatch SET status = 'SUCCESS' WHERE status = 'WITH ERRORS';
SQL> COMMIT;
Those rollbacks are happening automatically by datapatch to apply the latest RUR. After applying the workaround, I've just re-executed "datapatch -verbose" to ensure nothing was missing. It worked like a charm.
Have you enjoyed? Please leave a comment or give a 👍!