Concurrent Manager troubleshooting part 1



Last updated on November 23rd, 2015 at 03:40 pm

Concurrent Manager troubleshooting part 1

If a PL/SQL Concurrent Program can’t write to an external file, you will receive an error message similar to:

MSG-00102: Error Message :ORA-20100: File o0000071.tmp creation for FND_FILE failed.
You will find more information on the cause of the error in request log.
ORA-06512: at “APPS.FND_FILE”, line 378
ORA-06512: at “APPS.FND_FILE”, line 473
ORA-06512: at “APPS.AP_XXXX”, line 192
REP-1419: ‘beforereport’: PL/SQL program aborted.

NOTE: Applications also produces temporary PL/SQL output files used in concurrent processing. These files are written to a location on the database server node specified by the APPLPTMP environment setting. The APPLPTMP directory must be the same directory as specified by the utl_file_dir parameter in your database initialization file.
.
Rapid Install sets both APPLPTMP and the utl_file_dir parameter to the same default directory. As the temporary files placed in this directory may contain context sensitive information, it should be a secure directory on the database server node with read and write access for the database server owner. In a multi-node system, the directory defined by APPLPTMP does not need to exist on the application tier servers. During an upgrade with AutoUpgrade, you must provide the utl_file_dir parameter value for the APPLPTMP environment setting.

To isolate where the problem is, verify the following:

1) Make sure that the name of the file is valid (the file name should not include characters like “^”)

2) Make sure that APPLPTMP is set to a valid directory and that BOTH the applmgr user and the database user have read and write permissions on that directory (normally, it can be set to the same directory as APPLTMP)

3) Make sure that the file does not exit on the directory pointed by APPLPTMP

4) Make sure the directory pointed by APPLPTMP is the first entry on the utl_file_dir. Also, verify that all the entries on the utl_file_dir are valid and that the applmgr has read/write permissions.

If using an spfile, verify the proper syntax to set utl_file_dir:

Ex.

ALTER SYSTEM SET UTL_FILE_DIR=’directory1′,’directory2′ scope=spfile;
5) If still having problems, check if you can write a file directly using FND_FILE, which is the package used by the Application. From sqlplus, connected as the apps user, run:

SQL> exec FND_FILE.PUT_LINE(FND_FILE.LOG, ‘THIS IS A TEST’);
This should dump a file on APPLPTMP.

If this test works, it would indicate that FND_FILE is ok and the problem is possibly with the Application.

You may want to leave only one entry on utl_file_dir for this test.

6) If still having problems, check if you can write a file using UTL_FILE, which is used by FND_FILE.

Run the PL/SQL below, changing to the first entry on utl_file_dir (you may want to leave just one entry on utl_file_dir for this test).
set serveroutput on
DECLARE file_location VARCHAR2(256) := ”;
file_name VARCHAR2(256) := ‘utlfile1.lst’;
file_text VARCHAR2(256) := ‘THIS IS A TEST’;
file_id UTL_FILE.file_type;
BEGIN
file_id := UTL_FILE.fopen(file_Location,file_name, ‘W’);
UTL_FILE.put_line(file_id, file_text);
UTL_FILE.fclose(file_id);
EXCEPTION
WHEN UTL_FILE.INVALID_PATH
THEN
dbms_output.put_line(‘Invalid path ‘ || SQLERRM);
WHEN OTHERS
THEN
dbms_output.put_line(‘Others ‘|| SQLCODE || ‘ ‘ || SQLERRM);
END;
/
This program should dump a file on the requested directory. If the test fails, the problem is probably on the Database side.


Leave a Reply