Ora-20100 temporary file creation failed for fnd_file

Introduction: – Ora-20100 temporary file creation failed for fnd_file| ORA-20100: ORA-20100: File o00031194568.tmp creation failed for fnd_file. File could not be opened or operated on as requested. Action: Make sure the directory – /usr/tmp/RMDBUAT – is a valid directory with write permissions and is accessible from the database server node for write operation.

Concurrent Request logs for ora-20100 error fnd_file failure : –

Enter Password:
REP-1401: 'c_do_insertformula': Fatal PL/SQL error occurred.
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "APPS.FA_RSVLDG_REP_INS_PKG", line 1526
ORA-20100: ORA-20100: File o0003119930.tmp creation failed.
File could not be opened or operated on as requested.

Action: Make sure the directory - /usr/tmp/RMDBUAT - is a valid directory with write permissions and is accessible from the database server node for write operati
ORA-06512: at "APPS.FND_FILE", line 319
O
REP-0069: Internal error
REP-57054: In-process job terminated: Terminated with error:
REP-1401: 'c_do_insertformula': Fatal PL/SQL error occurred.
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "APPS.FA_RSVLDG_REP_INS_PKG", line 1526
ORA-20100: ORA-20100: File o0003119930.tmp creation failed.
File could not be opened or operated on as requested.

Action: Make sure the directory - /usr/tmp/RMDBUAT - is a valid directory with write permissions and is accessible fro

Report Builder: Release 10.1.2.3.0 - Production on Thu Oct 6 10:25:1 2022

To fix above issue we need to set proper value for utl_file_dir in dbTier and s_applptmp in appsTier.

Verify :-

Currently in our database utl_file_dir value showing as below. Now we will update it. In 19c database, some different method to update utl_file_dir.

SQL> select value from v$parameter where name=’utl_file_dir’;

VALUE
——————————————————————————–
/usr/tmp/RMDBUAT,/rmouat/oracle/temp/ RMDBUAT

How to fix Ora-20100.

Before going to start the steps to resolve the issue. Let’s understand the details of environment.

In my case, we have multi-node environment as below.

Ora-20100 temporary file creation failed
Ora-20100
Primary nodeSecondary nodeDMZ node
rmdbebsuat01rmdbebsuat02rmdbebsuatdmz01

Let’s start the following steps to resolve the issue in 19c.

Step 1:- Update the s_applptmp on each application.


Make sure in context file s_applptmp value updated as /tmp/RMDBUAT on each node as below. After update s_applptmp, need to be run autoconfig (run and patch file system) on all application to populate the changes.

Primary node

[rmouat@rmdbebsuat01 ~]$ cat $CONTEXT_FILE|grep s_applptmp
/tmp/RMDBUAT

Secondary node

[rmouat@rmdbebsuat02 ~]$ cat $CONTEXT_FILE|grep s_applptmp
/tmp/RMDBUAT

DMZ node

[rmouat@rmdbebsuatdmz01 ~]$ cat $CONTEXT_FILE|grep s_applptmp
/tmp/RMDBUAT


Steps 2: – Run txkCfgUtlfileDir.pl with mode as getUtlFileDir on dbTier to get utl_file_dir.

After that update the $ORACLE_HOME/dbs/RMDBUAT_utlfiledir.txt.

Note: – Source the PDB environment before executing below.


$perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=getUtlFileDir

Note:-  may use -skipdirvalidation=Yes -skipautoconfig=yes

Update/replace RMDBUAT_utlfiledir.txt and put as /tmp/USRLUAT in last line.

Steps 3. Run txkCfgUtlfileDir.pl with mode as setUtlFileDir.

Make sure below step completed successfully.

[rmouat@rmodbuatsrv 19.3.0]$ perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -o utdir=$ORACLE_HOME/appsutil/log -mode=setUtlFileDir
Enter the APPS Password:

Enter the SYSTEM Password:


Script Name    : txkCfgUtlfileDir.pl
Script Version : 120.0.12020000.15
Started        : Thu Oct  6 17:58:22 EDT 2022

Log File       : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/txkCfgUtlfileDir.log

Context file: /rmouat/oracle/19.3.0/appsutil/RMDBUAT_rmodbuatsrv.xml exists.

Value for s_applptmp on Apps Tier nodes is valid


Completed : Thu Oct 6 17:58:31 EDT 2022


Successfully Completed the script
ERRORCODE = 0 ERRORCODE_END

Steps 4. Check & verify the txkCfgUtlfileDir.log.


Verify the logs after executing perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl using mode as setUtlFileDir. All should be complete successfully without any error.

[rmouat@rmodbuatsrv 19.3.0]$ cat /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/txkCfgUtlfileDir.log


Script Name    : txkCfgUtlfileDir.pl
Script Version : 120.0.12020000.15
Started        : Thu Oct  6 17:58:22 EDT 2022

Log File       : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/txkCfgUtlfileDir.log


-----------
Values used
-----------
Context File                   : /rmouat/oracle/19.3.0/appsutil/RMDBUAT_rmodbuatsrv.xml
Oracle Home                    : /rmouat/oracle/19.3.0
Upgraded Database Oracle Home  :
OUT Directory                  : /rmouat/oracle/19.3.0/appsutil/log
Script execution mode          : setUtlFileDir
Script execution tier          : db
Service Type                   : onpremise
Skip directory validation      : No
Skip AutoConfig                : No



==============================
Validating the context file...
==============================


=============================
Inside sourceEnvironment()...
=============================
Sourcing the environment file: /rmouat/oracle/19.3.0/RMDBUAT_rmodbuatsrv.env

Required ENVIRONMENT has been set....


=========================
Validating oracle home...
=========================


Oracle Home: /rmouat/oracle/19.3.0 exists.


===========================
Validating out directory...
===========================


Oracle Home: /rmouat/oracle/19.3.0/appsutil/log exists.


===================================
Validating script execution mode...
===================================


Script execution mode: setUtlFileDir
Script execution mode is valid.


=============================
Validating DB service type...
=============================
Service Type: onpremise
Service type is valid.


=======================================
Inside checkContextFileAndExecTier()...
=======================================
Context file and Exec Tier arguments are in SYNC.


======================================
Inside checkScriptModeAndExecTier()...
======================================
Script Mode and Exec Tier arguments are in SYNC.


=====================================
Validating APPS schema credentials...
=====================================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_apps_password.sql


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_apps_password.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_apps_password.log
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Validated APPS credentials.


========================
Inside getDBVersion()...
========================
Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_version.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_version.out


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_version.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_version.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Getting the DB version.

DB_VERSION = db190



====================
Inside isCDBPDB()...
====================


db_tenancy: multi-tenant
DB type is multi-tenant. Re-setting ORACLE_SID and unsetting LOCAL.


======================================
Inside checkSecCaseSensitiveLogon()...
======================================
Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_sec_case_sensitive_logon.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_sec_case_sensitive_logon.out


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_sec_case_sensitive_logon.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_sec_case_sensitive_logon.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Getting the parameter SEC_CASE_SENSITIVE_LOGON.

Parameter SEC_CASE_SENSITIVE_LOGON is set to FALSE.

SEC_CASE_SENSITIVE_LOGON_FLAG: FALSE



=======================================
Validating SYSTEM schema credentials...
=======================================
Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_system_password.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_system_password.log


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_system_password.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/validate_system_password.log
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Validated SYSTEM credentials.


=====================
Inside getDBName()...
=====================
Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_name.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_name.out


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_name.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_db_name.sql

EXIT STATUS: 0
Getting the value of DB Name...
db_name: RMDBUAT



============================
Inside setFileLocations()...
============================


UTL_FILE_DIR_FILE: /rmouat/oracle/19.3.0/dbs/RMDBUAT_utlfiledir.txt


========================
Inside getEBSTmpDir()...
========================


EBS_TMP_DIR: /rmouat/oracle/temp/RMDBUAT


===========================
Inside loadUtlFileDirs()...
===========================


Reading the UTL_FILE_DIRs from file /rmouat/oracle/19.3.0/dbs/RMDBUAT_utlfiledir.txt


EBS temp directory not defined in the text file, hence appending it explicitly.


===================================
Validating Util File directories...
===================================


Validating /tmp/RMDBUAT...
Directory is valid.
Validating /rmouat/oracle/temp/RMDBUAT...
Directory is valid.


=================================
Inside createEBSCustomTables()...
=================================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/create_utl_file_tables.sql


==============================
Inside checkDBTableExists()...
==============================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM.sql


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Checking EBS_UTLFILE_PARAM table exists.


==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM.out
pattern: TABLE-EXISTS
================
Pattern found...
================
EBS_UTLFILE_PARAM exists.


==============================
Inside checkDBTableExists()...
==============================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM2.sql


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM2.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM2.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Checking EBS_UTLFILE_PARAM2 table exists.


==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/check_EBS_UTLFILE_PARAM2.out
pattern: TABLE-EXISTS
================
Pattern found...
================
EBS_UTLFILE_PARAM2 exists.


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/create_utl_file_tables.sql



==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/create_utl_file_tables.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
EBS custom tables created succussfully.


================================
Inside insertEBSCustomParam()...
================================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/insert_ebs_custom_param.sql


====================================
Inside validateUtlFileDirLength()...
====================================

Value of UTL_FILE_DIR is /tmp/RMDBUAT,/rmouat/oracle/temp/RMDBUAT

Length of UTL_FILE_DIR is 41

Maximum allowed length is 4000 characters.

Length of UTL_FILE_DIR is within the limits.


=================================
Inside concatUtlFileDirValue()...
=================================


util_file_dir_array_length: 2



==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/insert_ebs_custom_param.sql


==============================
Inside searchFileContents()...
==============================

log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/insert_ebs_custom_param.out
pattern: ERROR|SP2-0027
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Inserted row into EBS tables successfully.

===================================
Inside createUtlFileDirObjects()...
===================================



================================
Inside getUtlFileDirObjects()...
================================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_utl_file_dir_objects.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_utl_file_dir_objects.out


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_utl_file_dir_objects.sql

error_lines_array_length: 0
search_text_lines_array_length: 0
EXIT STATUS: 0
Getting the directory objects.

Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/create_utl_file_dir_object.sql


===========================================
Inside checkUtlFileDirObjectPathExists()...
===========================================


EBS custom directory object EBS_UTL_FILE_DIR_5296984704482 exists for /rmouat/oracle/temp/RMDBUAT
EBS custom directory object already exists for path : /rmouat/oracle/temp/RMDBUAT


==========================
Inside executeSQLFile()...
==========================

Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/create_utl_file_dir_object.sql


==============================
Inside searchFileContents()...
==============================

log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/create_utl_file_dir_object.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Directory objects created successfully.


===================================
Inside deleteUtlFileDirObjects()...
===================================

=================================
Inside getUnwantedDirObjects()...
=================================

==============================
Inside getOutboundDirList()...
==============================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_outbound_dir.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_outbound_dir.out


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_outbound_dir.sql


==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_outbound_dir.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Getting the outbound dir for DB Tier nodes.

Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/unwanted_dir_objects.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/unwanted_dir_objects.out

==========================
Inside executeSQLFile()...
==========================

Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/unwanted_dir_objects.sql

error_lines_array_length: 0
search_text_lines_array_length: 0
EXIT STATUS: 0
Getting the unwanted directory objects.


============================
Inside checkOutboundDir()...
============================


UNWANTED_DIR_OBJECTS_STRING:
Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/drop_utl_file_dir_object.sql

==========================
Inside executeSQLFile()...
==========================

Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/drop_utl_file_dir_object.sql


==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/drop_utl_file_dir_object.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Directory objects deleted successfully.

=============================
Inside checkApplpTmpInDB()...
=============================


=============================
Inside getApplpTmpCtxVar()...
=============================


Generating SQL file : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_applptmp.sql
SQL output file     : /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_applptmp.out


==========================
Inside executeSQLFile()...
==========================


Executing the SQL...

Removing the file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_applptmp.sql


==============================
Inside searchFileContents()...
==============================


log_file: /rmouat/oracle/19.3.0/appsutil/log/TXK_UTIL_DIR_Thu_Oct_6_17_58_07_2022/get_applptmp.out
pattern: ERROR
=============================
Could not find the pattern...
=============================
EXIT STATUS: 0
Getting the applptmp for Apps Tier nodes.

============================================================================
*                                                                          *
*        Summary report of s_applptmp validation on Apps Tier nodes        *
*                                                                          *
* Follow below steps on all nodes whose s_applptmp is INVALID              *
* 1. Correct the value of s_applptmp                                       *
* 2. Execute AutoConfig                                                    *
*                                                                          *
* NOTE:                                                                    *
* Value for s_applptmp should be one of the values present in UTL_FILE_DIR *
*                                                                          *
============================================================================
rmdbebsuat01 : /tmp/RMDBUAT --> VALID
rmdbebsuat02: /tmp/RMDBUAT --> VALID
rmdbebsuatdmz01: /tmp/RMDBUAT --> VALID


Value for s_applptmp on Apps Tier nodes is valid


Completed        : Thu Oct  6 17:58:31 EDT 2022


Successfully Completed the script

ERRORCODE = 0 ERRORCODE_END

Steps 5:- Re-run the concurrent request to check ora-20100 19c issue is resolved.

After successfully update utl_file_dire in database and s_appltmp in appsTer, we should re-run the concurrent request to check whether issue ‘ora-20100 temporary file creation failed‘ has been resolved or not. In my case issue was resolve.

Leave a Comment