Saturday, March 27, 2010

Oracle Release 12 : Diagnostic Test errors with HTTP 400 - Bad Request

Dear Readers,

One of my application team compliant about the Diagnostic Test for Assets module failed with HTTP 400 - Bad Request.

As per the oracle note, this is the bug in Release 12 and Patch 8283135 is available for fixing this issue.

Current Version of file in the system,

Q$Header: FACheckSetup.java 120.0.12000000.2 2007/08/03 05:24:37 spooyath noship $
N$Header: FAUtility.java 120.0.12000000.2 2007/08/03 05:49:32 spooyath noship $


Patch provides the following version,

$fa/java/diag/FaCheckSetup.java - 120.0.12000000.3
$Header: FAUtility.java 120.0.12000000.3 2009/07/22 10:05:27 glchen noship $;

Finally issue got fixed by applying the patch.

Yours comments are most welcome !!!

Oracle Release 12 : "Diagnostics: Apps Check" Concurrent Request

Readers,

Yesterday, When I ran " Diagnostics: Apps Check" Concurrent request in our Production Release 12 instance, it failed and found the following error in the log file,

+-----------------------------
| Starting concurrent program execution...
+-----------------------------

Arguments
------------
201

------------
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
/bin/ksh: line 1: f60desm: not found


Concurrent Manager encountered an error while running SQL*Plus for your concurrent request 18203944.

Review your concurrent request log and/or report output file for more detailed information.


+---------------------------------------------------------------------------+


So, the error is " /bin/ksh: line 1: f60desm: not found " and f60desm is not available in Release 12 instance.

When I investigate further, I found the patch 8310984 which will fix this issue as mentioned in the Oracle Support Note : Diagnostics: Apps Check report with parameter Assets error: bin/ksh: f60desm: not found [ID 863890.1]

Because, our current file version in the system is,

strings -a OMCHECK.sql |grep '$Header'
$Header: OMCHECK.sql 120.2.12000000.9 2008/09/30 06:39:10 vybhatia ship $

Note : Script contains host f60desm help=yes >> &output_file

But, Patch provides the following upper version,

$Header: OMCHECK.sql 120.2.12000000.13 2009/05/23 07:55:26 nshah ship $

Note : Script contains host frmbld help=yes >> &output_file

After applying the patch, " Diagnostics: Apps Check" Concurrent request got completed successfully.

Yours comments are most welome !!!

Thursday, March 25, 2010

Oracle Release 12 : Concurrent Programs are failing with ORA-20100

Dear Readers,

Recently we had ORA-20100: Error: FND_FILE failure. Unable to create file when users were submitting the concurrent request.

The following error message occurred in the logfile,

----------------------------------------------------
Error Is : ORA-20100: Error: FND_FILE failure. Unable to create file, l0862319.tmp in the directory, /apps/orarpt/TEST/utl.
You will find more information in the request log.
-----------------------------------------------------

When we checked the directory /apps/orarpt/TEST/utl at database side, the tmp l0862319.tmp file created at the time of program execution.

So, all directory/file system permission settings are perfect.

Later when we tried to write 100 lines ( from Application node as APPS users ) in tmp on /apps/orarpt/TEST/utl directory using UTL_FILE package, we were able to create it.

set serveroutput on
DECLARE
file_location VARCHAR2(256) := '/apps/orarpt/TEST/utl';
file_name VARCHAR2(256) := 'utlfile.lst';

idx number := 1;
file_id UTL_FILE.file_type;
BEGIN
file_id := UTL_FILE.fopen(file_Location,file_name, 'W');
for idx in 1..100 loop
UTL_FILE.put_line(file_id, idx);
end loop;
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;

But when I tried to write 1000 lines, I was getting the following error,

SQL> set serveroutput on
DECLARE
file_location VARCHAR2(256) := '/apps/orarpt/TEST/utl';
file_name VARCHAR2(256) := 'utlfile1.lst';

idx number := 1;
file_id UTL_FILE.file_type;
BEGIN
file_id := UTL_FILE.fopen(file_Location,file_name, 'W');
for idx in 1..1000 loop
UTL_FILE.put_line(file_id, idx);
end loop;
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; SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20 /
Others -29285 ORA-29285: file write error

PL/SQL procedure successfully completed.
SQL>

After doing lot of investigation, I bounced all DB services including the DB Listener and It fixed the issue.

After Bounce :

SQL> set serveroutput on
DECLARE
file_location VARCHAR2(256) := '/apps/orarpt/TEST/utl';
file_name VARCHAR2(256) := 'utlfile3.lst';

idx number := 1;
file_id UTL_FILE.file_type;
BEGIN
file_id := UTL_FILE.fopen(file_Location,file_name, 'W');
for idx in 1..10000 loop
UTL_FILE.put_line(file_id, idx);
end loop;
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; SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20 /

PL/SQL procedure successfully completed.

SQL>


And users confirmed that the concurrent programs are completing successfully.

So, Not sure what is the Root cause for this issue, I just simply bounced DB services including listener.

Comments are most welcome.

Thanks for reviewing our blog...

Wednesday, March 24, 2010

Oracle Release 12 : Autconfig failed when executing the adgentns.pl

Issue :

Last week, we had the following autoconfig issue on one of our development instance,

##########################################################################
Generate Tns Names
##########################################################################
ERROR: apps/bin/jre and apps/bin/java not found
Pass option 'java' on command line

Error in getting ClassPath
Logfile: /apps/local/SID/inst/apps/SID_hostname/admin/log/03222220/NetServiceHandler.log
Classpath :

Updating s_tnsmode to 'generateTNS'
UpdateContext exited with status: 1
Unrecognized option: -contextfile
Could not create the Java virtual machine.
Error generating tnsnames.ora from the database, temporary tnsnames.ora will be generated using templates
Instantiating Tools tnsnames.ora
Error in instantiating tools tnsnames.ora:
Error in instantiating web tnsnames.ora:

adgentns.pl exiting with status 256
ERRORCODE = 256 ERRORCODE_END
.end std out.
Exception in thread "main" java.lang.NoClassDefFoundError: /apps/local/SID/inst/apps/SID_hostname/appl/admin/SID_hostname/xml
Unrecognized option: -e
Could not create the Java virtual machine.
Unrecognized option: -e
Could not create the Java virtual machine.

.end err out.


Result : FAILED
===========================================================================


Solution :

As per the Oracle Doc : Autoconfig fails when running Adgentns.Pl with ERROR: apps/bin/jre and apps/bin/java not found [ID 731685.1], We performed the following,

Replace current adgentns.pl by adgentns.pl version120.4.12000000.3

1.1 Download patch 7207440 TXK - 12.0.4 Consolidated Patch 1 from Metalink
Do not apply it
1.2 Extract the file adgentns.pl 120.4.12000000.3 from patch 7207440
1.3 Backup your current adgentns.pl
1.4 Replace your current file by this file adgentns.pl 120.4.12000000.3
1.5 Retest autoconfig.

Finally it fixed our issue.

Thanks.

Friday, March 19, 2010

Oracle Release 12 File System Changes : R12 Vs 11i

Dear Readers,

Here are the differences on file systems level between Oracle Release 12i and Oracle Application 11i,

File

Oracle Applications 11i

Release 12

Environment Source file APPSORA.env APPS_.env
Context File (middle tier) $APPL_TOP/admin/$TWO_TASK.xml $INST_TOP/appl/admin/$TWO_TASK_.xml

tnsnames.ora (OH)

$ORACLE_HOME/network/admin/ $INST_TOP/ora/10.1.2/network/admin
listener.ora $ORACLE_HOME/network/admin/ $INST_TOP/ora/10.1.2/network/admin
appsweb.cfg

$OA_HTML/bin

$INST_TOP/ora/10.1.2/forms/server
tnsnames.ora (Apache)

$IAS_ORACLE_HOME/network/admin/

$INST_TOP/ora/10.1.3/network/admin
zone.properties $IAS_ORACLE_HOME/Apache/Jserv/etc

$ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployments/oacore/oa_servlets/orion-web.xml and .../oacore/html/orion-web.xml
(Same file located in both directories)

jsev.properties $IAS_ORACLE_HOME/Apache/Jserv/etc

$INST_TOP/ora/10.1.3/opmn/conf/opmn.xml

httpd.conf $IAS_ORACLE_HOME/Apache/Apache/conf $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf
apps.conf $IAS_ORACLE_HOME/Apache/Apache/conf $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf
formservlet.ini

$IAS_ORACLE_HOME/Apache/Jserv/etc

$ORACLE_HOME/forms/server/default.env

topfile.txt

$APPL_TOP/admin

$APPL_CONFIG_HOME/admin

adovars.env

$APPL_TOP/admin

$APPL_CONFIG_HOME/admin

adjborg2.txt

$APPL_TOP/admin

$APPL_CONFIG_HOME/admin

SSL Certificates

$COMMON_TOP/admin/certs

$INST_TOP/certs

AD scripts logs

$COMMON_TOP/admin/log/

$LOG_HOME/appl/admin/log

Concurrent Request logs

$APPLCSF

$APPLCSF

Apache logs

$IAS_ORACLE_HOME/Apache/Apache/logs

$LOG_HOME/ora/10.1.3/Apache

Jserv logs $IAS_ORACLE_HOME/Apache/Jserv/logs $LOG_HOME/ora/10.1.3/j2ee
javacache.log $COMMON_TOP/rgf/ $LOG_HOME/appl/rgf

Environment variables :

Variable

Oracle Applications 11i

Release 12

APPL_TOP $HOME/appl $HOME/apps/apps_st/appl

COMMON_TOP

$HOME/comn $HOME/apps/apps_st/comn
ORACLE_HOME (applmgr) $HOME/ora/8.0.6 $HOME/apps/tech_st/10.1.2
IAS_ORACLE_HOME $HOME/ora/iAS $HOME/apps/tech_st/10.1.3
ORACLE_HOME (oracle) $HOME/db/10.2.0 $HOME/db/tech_st/10.2.0
ORADATA $HOME/data $HOME/db/apps_st/data
JAVA_TOP, OA_JAVA $COMMON_TOP/java $COMMON_TOP/java/classes
OA_HTML $COMMON_TOP/html $COMMON_TOP/webapps/oacore/html
FND_SECURE $FND_TOP/secure/ $INST_TOP/appl/fnd/12.0.0/secure
ADMIN_SCRIPTS_HOME $COMMON_TOP/admin/scripts/ $INST_TOP/admin/scripts
LOG_HOME - $INST_TOP/logs
FORMS_WEB_CONFIG_FILE - $INST_TOP/ora/10.1.2/forms/server/appsweb.cfg
AF_JLIB - $COMMON_TOP/java/lib
JAVA_BASE - $COMMON_TOP/java
INST_TOP - $HOME/inst/apps/

ORA_CONFIG_HOME

-

$INST_TOP/ora

APPLCSF

$COMMON_TOP/admin

$LOG_HOME/appl/conc


Thanks.

Tuesday, March 2, 2010

RPM Dependency Loop

I had to install that dependency package for 11g R1.

When applying the necessary RPM , I came accross this dependency loop situation.
In general it is a loop of the dependency i.e, when you first install a package it will ask for another package and when trying to apply the requested package the dependency checks ask for the parent package.

[root@skrajend rpm]# rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm
error: Failed dependencies:
        elfutils-libelf-devel-static-i386 = 0.137-3.el5 is needed by elfutils-libelf-devel-0.137-3.el5.i386
[root@skrajend rpm]# rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
error: Failed dependencies:
        elfutils-libelf-devel-i386 = 0.137-3.el5 is needed by elfutils-libelf-devel-static-0.137-3.el5.i386
[root@skrajend rpm]#


I tried with yum but no success.
[root@skrajend rpm]# yum install elfutils-libelf-devel-0.137-3.el5.i386.rpm
Loaded plugins: security
Setting up Install Process
Examining elfutils-libelf-devel-0.137-3.el5.i386.rpm: elfutils-libelf-devel-0.137-3.el5.i386
Marking elfutils-libelf-devel-0.137-3.el5.i386.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package elfutils-libelf-devel.i386 0:0.137-3.el5 set to be updated
--> Processing Dependency: elfutils-libelf-devel-static-i386 = 0.137-3.el5 for package: elfutils-libelf-devel
--> Finished Dependency Resolution
elfutils-libelf-devel-0.137-3.el5.i386 from /elfutils-libelf-devel-0.137-3.el5.i386 has depsolving problems
  --> Missing Dependency: elfutils-libelf-devel-static-i386 = 0.137-3.el5 is needed by package elfutils-libelf-devel-0.137-3.el5.i386 (/elfutils-libelf-devel-0.137-3.el5.i386)
Error: Missing Dependency: elfutils-libelf-devel-static-i386 = 0.137-3.el5 is needed by package elfutils-libelf-devel-0.137-3.el5.i386 (/elfutils-libelf-devel-0.137-3.el5.i386)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
[root@skrajend rpm]#


Solution is to use wild cards in the rpm command.

[root@skrajend rpm]# rpm -ivh elfutils-libelf-devel-*
Preparing...                ########################################### [100%]
   1:elfutils-libelf-devel-s########################################### [ 50%]
   2:elfutils-libelf-devel  ########################################### [100%]
[root@skrajend rpm]#

[root@skrajend rpm]# rpm -qa|grep -i elfutils-libelf-devel
elfutils-libelf-devel-static-0.137-3.el5
elfutils-libelf-devel-0.137-3.el5
[root@skrajend rpm]#

Finally got those loop dependency patches installed.