While upgrading Oracle E-Business Suite (EBS) to R12.2.11, we faced an issue that highlights the aftermath of the “event” initialization parameter being absent at the (Container Database) CDB Level.
sqlplus -s APPS/***** @/d01/apps/PDBSID/fs1/EBSapps/appl/ad/12.0.0/patch/115/sql/adsqlwrapper.sql ‘/d01/apps/PDBSID/fs1/EBSapps/appl/xdp/12.0.0/patch/115/sql/XDPMIGFX.sql ‘
Connected.
PL/SQL procedure successfully completed.
DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 68
ORA-20100: ORA-20100: Temporary file creation for FND_FILE failed.
Directory &FILE_DIR is invalid, contact your system administrator.
Action: Check that the directory is a valid directory with write permissions on the database server node and is listed under
utl_file_dir para
ORA-06512: at “APPS.FND_FILE”, line 319
ORA-06512: at “APPS.FND_FILE”, line 364
ORA-06512: at “APPS.FND_FILE”, line 421
ORA-06512: at line 21
The immediate thought that comes to mind is whether there is a possible discrepancy between $APPLPTMP and the “value” column of APPS.V$PARAMETER.
[applmgr@hostname ~]$ echo $APPLPTMP
/ora1/temp/PDBSID
select NAME,VALUE from apps.v$parameter where name=’utl_file_dir’;
NAME VALUE
— — — — — — — — — — — — — — — — — — — — — — — — — -
utl_file_dir /ora1/temp/PDBSID
Therefore, this is ruled out. It is also recommended to set full permissions to the $APPLPTMP location in the database server.
[oracle@hostname ~]$ cd /ora1/temp
[oracle@hostname temp]$ ls -lrt
total 20
drwxrwxrwx. 2 oracle oinstall 20480 Jul 8 17:50 PDBSID
However, a manual file creation was still failing –
SQL> exec FND_FILE.PUT_LINE(fnd_file.log, ‘Hello World!’);
BEGIN FND_FILE.PUT_LINE(fnd_file.log, ‘Hello World!’); END;
*
ERROR at line 1:
ORA-20100: ORA-20100: Temporary file creation for FND_FILE failed.
Directory &FILE_DIR is invalid, contact your system administrator.
Action: Check that the directory is a valid directory with write permissions on
the database server node and is listed under utl_file_dir para
ORA-06512: at “APPS.FND_FILE”, line 319
ORA-06512: at “APPS.FND_FILE”, line 364
ORA-06512: at “APPS.FND_FILE”, line 421
ORA-06512: at line 1
The last action plan is to look at this particular section of note “Using UTL_FILE_DIR or Database Directories for PL/SQL File I/O in Oracle E-Business Suite Releases 12.1 and 12.2 (Doc ID 2525754.1)”.
Note: To enable the UTL_FILE functionality on which the supplemental UTL_FILE_DIR parameter depends, ensure that you have set the following event at the CDB level in your database initialization parameters: event=’10946 trace name context forever, level 8454144'
Apart from striking out init parameter UTL_FILE_DIR (inherent part of the previous database releases 11g,12c), Oracle introduced the “event” parameter to ensure compatibility between EBS 12.2 and database 19c in the sense that UTL_FILE functions will still be able to write temporary files on the directories specified by UTL_FILE_DIR parameter defined in APPS.V$PARAMETER and APPS.V$PARAMETER2 views; unlike that of previous aforementioned versions, where just UTL_FILE_DIR parameter met the same expectations.
Somehow for our client, the event was reset. Setting it back at the CDB Level resolved the issue. And, ALL went WELL!
Facing challenges with EBS upgrades or database parameter compatibility? Get in touch with DSP-Eclipsys, we can help ensure your environment is configured correctly and runs smoothly on Oracle 19c.