We sometimes need to run Autoconfig on the Patch system in R12.2 in the current edition only. One case where this will be required is 19c Upgrade, we run FND conc clean as part of that and all entries are lost. But if you try to connect the Database from the patch filesystem, you will get the below error
$ sqlplus apps/apps SQL*Plus: Release 10.1.0.5.0 - Production on Wed Jan 2 14:17:46 2019 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-00604: error occurred at recursive SQL level 1 ORA-20099: E-Business Suite Patch Edition does not exist. ORA-06512: at line 29
This happens because we have a trigger in a database that does not allow it
SQL> select TRIGGER_NAME from dba_triggers where TRIGGER_NAME like 'EBS%'; TRIGGER_NAME -------------- EBS_LOGON SQL>set long 2000 SQL> select TRIGGER_BODY from dba_triggers where TRIGGER_NAME like 'EBS%'; TRIGGER_BODY ------------------------------ declare l_service varchar2(64) := sys_context('userenv', 'service_name'); l_dbdomain varchar2(128) := sys_context('userenv', 'db_domain'); l_edition varchar2(30); l_patch_service varchar2(128) := '%ebs_patch'; begin if (l_dbdomain is not null) then l_patch_service := l_patch_service||'.'||l_dbdomain; end if; -- If connected to patch_service (_ebs_patch or ebs_patch) if (upper(l_service) like upper(l_patch_service)) then begin -- get patch edition name select edition_name into l_edition from dba_editions where parent_edition_name = ( select property_value from database_properties where property_name = 'DEFAULT_EDITION' );-- set current edition to patch edition dbms_session.set_edition_deferred(l_edition);
-- alter session so that pathing actions will wait for locks if needed execute immediate 'alter session set DDL_LOCK_TIMEOUT = 600';
exception
when no_data_found
then
RAISE_APPLICATION_ERROR(-20099, 'E-Business Suite Patch Edition does not exist.');
end;
end if; end EBS_LOGON;
Here are the steps that need to be taken to run the autoconfig in Patch filesystem
(a) you must disable trigger ebs_login prior to running autoconfig.
SQL> show user;
USER is "SYSTEM"
SQL> alter trigger ebs_logon disable;
Trigger altered.
(b)Now run autoconfig with the patch environment sourced
$ echo $FILE_EDITION
$patch
$ adautocfg.sh
Make sure Autoconfig completes ok
(c) Enable the login trigger
SQL> show user;
USER is "SYSTEM"
SQL> alter trigger ebs_logon enable;
Trigger altered.
Related Articles
How to run Autoconfig in parallel: Check out this post on how to run autoconfig on multiple Apps tier in Parallel to save time.
Important Changes in Autoconfig R12.2: Autoconfig on R12.2 does not manage all the configurations like R12.0 and R12.1, This post gives us an overview of that
R12.2/R12/11i Common log file locations: This post has information for logfile locations in All the EBS Versions
https://docs.oracle.com/cd/E18727_01/doc.121/e12841/T120505T120514.htm
Excellent solution.