Monday, April 29, 2024

Unable to create files in the following UTL_FILE_DIR locations

 


-----------------------------------------------------------------------------------------------------------------
Warning: Unable to create files in the following UTL_FILE_DIR locations:
- /u01/app/oratest1/oracle/product/temp/TEST1
- /u01/app/oratest1/oracle/product/19.0.0.0/temp/TEST1
- /u01/app/oratest1/temp
Error in initialize_files at step 5: Unable to identify a valid output directory
for UTL_FILE
Error in print_log: ORA-29282: invalid file ID
Error encountered: ORA-29282: invalid file ID

PL/SQL procedure successfully completed.

1) Source the PDB environment file 
   
    . $ORACLE_HOME/<<pdb_name>>_<<hostname>>.env

2) Create the new directory path. 

    For example: $mkdir /u01/debuglogdir

3) run the txkCfgUtlfileDir.pl script in addUtlFileDir mode

    $ perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=addUtlFileDir
      a) When prompted, enter the passwords for the APPS user (the Oracle E-Business Suite database user) and for the SYSTEM user of the root container database (CDB).
      b) When prompted, enter the physical directory path you want to add.

4) Finally, synchronize the modified UTL_FILE_DIR value with the database context file. To do so, run the txkCfgUtlfileDir.pl script in syncUtlFileDir mode using the following commands:

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

Still getting error.  Try following to fix the issue

There are 4 steps for addressing the ORA-20100 error:

1.  utl_file_dir parameter is not set. Run following SQL to check: 

select value from v$parameter where name = 'utl_file_dir';

If no value is returned, make the setup according to Doc ID 2525754.1, sections:

3.1.2: Updating UTL_FILE_DIR in an Oracle E-Business Suite Instance on Oracle Database 19c

OR

3.2: Referencing a Physical Directory Path Without Using UTL_FILE_DIR

 

2.  First value from above SQL should match to value of $APPLPTMP environment parameter.

 

3.  Event 10946 should be set at Container Database (CDB) level, as explained in Note 2525754.1:

alter system set events '10946 trace name context forever, level 8454144';
alter system set event='10946 trace name context forever, level 8454144' scope=spfile;

 Bounce application and database after setting the event.

 

4. There is a concern with the synonyms. If issue persists please restart of the server and follow the steps below:

a. Execute select owner,object_name,object_type,status,created from dba_objects where object_name='FND_FILE'; to verify the synonym details

b. Recreate the synonym that exists for Custom schema
create or replace SYNONYM schema_name.FND_FILE for apps.FND_FILE; (schema_name should replace with custom schema name)

c. Provide grant by executing below command:
grant execute on directory EBS_DB_DIR_UTIL to public;
grant read, write on directory EBS_DB_DIR_UTIL to public;

d. Provide grant to custom schema:
grant execute on fnd_file to custom schema name;

e. Recompile the Custom package that is used in the Custom program.

f.  Retest the issue by submitting the concurrent program.

0 comments :

Post a Comment

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