Sunday, 17 July 2016

Reducing time on txkWfClone.sh while running 12.2.4 Autoconfig in appsTier

Preface

Running Autoconfig on multiple tiers can take a long time sometimes and many a times, the culprit is txkWfClone.sh 

The real deal

During cloning, execution of txkWfClone  is required only for the first autoconfig run. For subsequent Autoconfig  runs,  it is not required. 

How can you be smart?

There are two smart things you can do to help yourself and make this happen.

1). Move the phase of the script txkWfClone.sh to INSTALL_SETUP phase in $FND_TOP/admin/driver/fndtmpl.drv:

Open the file $FND_TOP/admin/driver/fndtmpl.drv and make the following changes:

Before:
fnd admin/template txkWfClone.sh    INSTE8_SETUP     
<s_com>/admin/install/<s_contextname> txkWfClone.sh 700

After:
fnd admin/template txkWfClone.sh    INSTALL_SETUP     
<s_com>/admin/install/<s_contextname> txkWfClone.sh 700

2). Replace %s_webhost% with %s_webentryhost% and %s_domainname% with %s_webentrydomain%, in the template $FND_TOP/admin/template/txkWfClone.sql 

How does the savings add up..

Changing the autoconfig phase of this script from  INST8_SETUP to INSTALL_SETUP will prevent it from unwanted execution, resulting in better performance for future autoconfig runs. 

The role of txkWfCLone.sh is to create workflow related references in  db tier of target system in the cloning process. 

During txkWfClone.sh's execution, the comparison between source system and target system URLs is done. Essentially, in a scenario where we are creating an additional middle tier from an existing  middle tier/(s) having one common database tier, it will result in  redundant operation of changing/creating workflow references for target  middle tier. 

For comparison, txkWfClone constructs an url for target system using  the context variables as follows: 

'%s_webentryurlprotocol%'||'://'||'%s_webhost%'||'.'||'%s_domainname%'||':'||' 
%s_active_webport%'||'/pls/'||'%s_dbSid%'
Because the url for target system is constructed using s_webhost  context variable, the script creates distincts urls for each middle tier  which is not necessary because they use the same database instance and hence the workflow references are the same. 

This results into a good amount  of time consumption for every  autoconfig run while cloning. 

This can be avoided by changing the use of %s_webhost% with the use of %s_webentryhost%  in the template txkWfClone.sql. 

This way the urls created for each middle  tier would be the same as it should be in the case of a system with multi apps tiers and one db instance. 

Conclusion

It is good to save time during cloning and txkWfClone.sh can be easily fixed to avoid duplicate effort. Simple fixes like this should be absorbed into regular cloning practices for saving time and effort

No comments:

Post a Comment

Note: only a member of this blog may post a comment.