AWA: incorrect ulimit settings for jobs submitted in Fork mode

book

Article ID: 144641

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic One Automation CA Automic Operations Manager CA Automic Oracle

Issue/Introduction

In a JOB submission on UNIX/LINUX in fork mode the ulimits values of the submitting user account are not taken in account.
This can prevent JOBs from working, if they need a huge account of memory.


With the following Start parameter in the Agent config file:
=========================================
;start_Type=fork
start_type = batch
Korn Shell = nohup batch < \`su - &user -c "&jobFile 1>> &jobReport 2>&1"\`&

=========================================
with fork
:
***************************************************************************
**  ucxja64m     version 12.2.2+hf.3.build.1554906206870 changelist 1554899507  **
**  JOB 0193405637 (ProcID:0014352812) START AT   03.09.2019 / 14:40:07  **
**                                     UTC TIME   03.09.2019 / 12:40:07  **
**  TEXT="        Job started             "                              **
***************************************************************************
+ /u01/app/sybase/bin/snapshotSybase.ksh TABJB
time(seconds)        unlimited
file(blocks)         2097151
data(kbytes)         unlimited
stack(kbytes)        524288
memory(kbytes)       32768
coredump(blocks)     0
nofiles(descriptors) 32768
threads(per process) unlimited
processes(per user)  unlimited

with batch
***************************************************************************
**  ucxja64m     version 12.2.2+hf.3.build.1554906206870 changelist 1554899507  **
**  JOB 0193407838 (ProcID:0023003346) START AT   03.09.2019 / 15:36:56  **
**                                     UTC TIME   03.09.2019 / 13:36:56  **
**  TEXT="        Job started             "                              **
***************************************************************************
+ /u01/app/sybase/bin/snapshotSybase.ksh TABJB
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         unlimited
stack(kbytes)        unlimited
memory(kbytes)       unlimited
coredump(blocks)     unlimited
nofiles(descriptors) unlimited
threads(per process) unlimited
processes(per user)  unlimited

 

Cause

This is by design as the Jobs in Fork inherit the ulimit values from the root user.

Environment

Release : 12.x

Component : AUTOMATION ENGINE
Subcomponent: Agent for Unix/Linux

Resolution

To preserve the ulimits of the submitting user account from any loss, the agent must be configured to submit in batch mode.

========================================================
BATCH -> su - user (should not be used as a complete shell env. is loaded and maybe even shell scripts/programs with prompt input and the agent/job will just hang - unexpected/unreliable behavior)

FORK -> exec , it MUST be used as this is the safest way to run the jcl with minimal env. - therefore not all (su -) env. is available.
If some special ulmits are needed for the RMAN job - just set them within the job - user can write his own unix-user-header-objects within the needed AE client - and if the unix os user is oracle set the needed limit and in all other cases do nothing or whatever is needed, it can be achieved with a single include object)
========================================================

Another alternative consists in using explicitly the agent in Fork mode.
 

Additional Information

More information about the Header Objects:
https://docs.automic.com/documentation/webhelp/english/AA/12.3/DOCU/12.3/Automic%20Automation%20Guides/help.htm#AWA/Objects/obj_JobUsingIncludes.htm%3FTocPath%3DUsing%7CDesigning%7CObject-Specific%2520Properties%7CIncludes%2520(JOBI)%7C_____1