How to Synchronise the AD tables FND_NODES, ADOP_VALID_NODES, and FND_OAM_CONTEXT_FILES in 12.2


Error:

When running autoconfig or running adopt prepare


AutoConfig could not successfully execute the following scripts:


Directory: <EBS_BASE>/fs#/FMW_Home/webtier/perl/bin/perl -I <EBS_BASE>/fs#/FMW_Home/webtier/perl/lib/5.10.0 -I <EBS_BASE>/fs#/FMW_Home/webtier/perl/lib/site_perl/5.10.0 -I <EBS_BASE>/fs#/EBSapps/appl/au/12.0.0/perl -I <EBS_BASE>/fs#/FMW_Home/webtier/ohs/mod_perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /<EBS_BASE>/fs#/inst/apps/<SID_hostname>/admin/install


txkGenADOPWrapper.pl INSTE8_APPLY 1


SQL> SQL> Connected.
SQL> SELECT ad_zd_adop.get_node_type('<hostname>') FROM DUAL
*
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "APPS.AD_ZD_ADOP", line 3049


Or ADOP error as

FUNCTION: ADOP::GlobalVars::_GetMandatoryArgs [ Level 1 ]
ERRORMSG: adop is not able to detect any valid application tier nodes in ADOP_VALID_NODES table.


Solution:

1) Stop all application services and run only database and listener.


2) Find out  AD/TXK levels


 col release_name format a14
 col abbreviation format a14
 col codelevel format a10

 select f.release_name, t.abbreviation, t.codelevel
 from apps.fnd_product_groups f,ad_trackable_entities t
 where abbreviation in ('txk','ad')
 /

3) Backup the fnd_oam_context_files, fnd_nodes, and adop_valid_nodes tables, and if on AD/TXK 8 or higher; ad_nodes_config_status in the EBS env nodes


sqlplus applsys/<pwd>

SQL> create table fnd_oam_context_files_bkp as select * from fnd_oam_context_files;

SQL> create table fnd_nodes_bk as select * from fnd_nodes;

SQL> create table adop_valid_nodes_bk as select * from adop_valid_nodes;

If on AD/TXK 8 or higher:

SQL> create table ad_nodes_config_status_bk as select * from ad_nodes_config_status;


4) Truncate the following tables


SQL> truncate table fnd_oam_context_files;

SQL> truncate table fnd_nodes;

SQL> truncate table adop_valid_nodes;

If on AD/TXK 8 or higher:

SQL> truncate table ad_nodes_config_status;

5) Run AutoConfig on the DB tier


Source env file. If 19c then source PDB env file.

./adautocfg.sh

6) Run Autoconfig on the run file system


If multiple nodes are there do for all nodes. First run on Admin node, then go to other nodes. And last run again on Primary node.

<EBS_BASE>/EBSapps.env run

cd $ADMIN_SCRIPTS_HOME

./adautocfg.sh

7) Run Autoconfig on the patch file system


Before running Autoconfig on the patch file system the ebs_login trigger MUST be disabled

After the successful completion of Autoconfig the ebs_login trigger MUST be re-enabled.

Disable the ebs_login trigger using the following SQL.

 sqlplus EBS_SYSTEM/<pwd>

alter trigger ebs_logon disable;

 exit


At this time Run autoconfig with the patch env sourced .       

source <EBS_BASE>/EBSapps.env patch

cd $ADMIN_SCRIPTS_HOME

./adautocfg.sh

Enable the ebs_login trigger using the following SQL.

 sqlplus EBS_SYSTEM/<pwd>

 alter trigger ebs_logon enable;

 exit

8) After Autoconfig has been run successfully on all nodes, run the following two queries in order to verify the tables have been correctly populated


set pagesize 5
set linesize 132
col node_name format a15
col server_id format a8
col server_address format a15
col platform_code format a4
col webhost format a12
col domain format a20
col virtual_ip format a12

select node_id, platform_code, support_db D, support_cp C, support_admin A, support_forms F, support_web W, node_name, server_id,
server_address, domain, webhost, virtual_ip, status
from fnd_nodes order by node_id;

set pagesize 5
set linesize 132
col NAME format A20
col VERSION format A12
col PATH format A110
col STATUS format A10
select NAME,VERSION,PATH, STATUS from FND_OAM_CONTEXT_FILES;



If you like please follow and comment