In this Document
Applies to:
Oracle Transportation Management - Version 5.5.04.02 to
5.5.06.03 [Release 5.5]
Information in this document applies to any platform.
***Checked for relevance on 13-Jan-2014***
Symptoms
-- Problem Statement:
Starting after the release of OTM 5.5 CU4 RU2 clients have reported
OALL8 errors are being seen in the application and console log
files.
ERROR:
java.sql.SQLException: OALL8 is in an inconsistent
state
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:352)
at
oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:201)
at
oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.ja
va:965)
at @
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1
170)
at @
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedState
ment.java:3339)
at @
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.jav
a:3445)
at @
oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.jav
a:4394)
at
oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.execute(PreparedStatementBCEL
Proxy.java:333)
You may also see the following errors generated in the
console log.
java.sql.SQLException: Protocol violation
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:766)
at
oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:218)
at
oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:969)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1285)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3376)
at
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3482)
at
oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4400)
at
oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.execute(PreparedStatementBCELProxy.java:333)
at glog.util.jdbc.SqlCall.execute(SqlCall.java:60)
Cause
OALL8 errors within OTM are known to be generated for a
number of different reasons.
1. Installing a RU patch - In some of the RU patches that were
previously released for OTM 5.5 we needed to make changes to the
Oracle driver we use. This caused problems with many clients
running OAS which required clients to copy the required driver file
from their DB server.
2. Other clients have reported the OALL8 errors after changing the
CURSOR_SHARING parameter on the DB to SIMILAR, instead of EXACT. If
you experience this you should change the parameter back and open a
support request with the Oracle Database Group to investigate
further. Unlike issue number 1, this can occur on both OAS and
Weblogic instances.
3. Unknown - If none of the above two conditions exist, a new patch
was installed or the DB parameter was not changed an SR may need to
be logged with the DB Support Group to investigate further. In
previous issues we have investigated with that group they have
recommended clients install the latest Oracle Drivers that are
available.
Solution
Options:1. Copy the required 10g drives from your DB server. For Weblogic
and OAS instances the files can be found in the following directory
on the DB server.
/jdbc/lib
Note: If your DB server is running the 64 bit version of
Oracle 10g be sure and copy the files from the /jdbc/lib32
directory instead of /jdbc/lib.
2. Download the latest 10g drivers from the following link.
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html
Instructions:
For OTM 5.5 instances running OAS use the following steps to update
the Oracle Driver.
1. The file you need is the following, copy it from your DB server
or from the link mentioned above.
ojdbc14dms.jar - same as ojdbc14.jar, except that it contains
additional code`to support Oracle Dynamic Monitoring Service.
2. Log onto the OTM Application server and go to the /oas/jdbc/lib
directory
3. Make a backup directory called oc4j_backup
4. Move the existing ojdbc14dms.jar into the oc4j_backup
directory
5. Copy the new ojdbc14dms.jar into the /oas/jdbc/lib
directory
6. Verify the permissions on the files are correct
7. Restart the instance and test to see if the issue is
resolved.
For OTM 5.5 instances running Weblogic use the following steps to
update the Oracle Driver.
1. The files you need are the following, copy them from your DB
server or from the link mentioned above.
ojdbc14.jar - classes for use with JDK 1.4 and 1.5
ojdbc14_g.jar - same as ojdbc14.jar, except that classes were
compiled with "javac -g" and contain some tracing
information.
2. Log onto the OTM Application server and go to the < OTM Home
>/glog/gc3webappp/WEB-INF/lib/3rdparty directory
3. Make a backup directory called oc4j_backup
4. Move the existing ojdbc14.jar and ojdbc14_g.jar in the
oc4j_backup
5. Copy the new ojdbc14.jar and ojdbc14_g.jar into the < OTM
Home >/glog/gc3webappp/WEB-INF/lib/3rdparty directory
6. Go to the /server/lib
7. Make a backup directory called oc4j_backup
8. Move the existing ojdbc14.jar in the oc4j_backup
9. Copy the new ojdbc14.jar into the /server/lib directory
10. Log into the OTM Webserver and go the < OTM Home
>/glog/gc3webappp/WEB-INF/lib/3rdparty directory
11. Make a backup directory called oc4j_backup
12 Move the existing ojdbc14.jar and ojdbc14_g.jar in the
oc4j_backup
13. Copy the new ojdbc14.jar and ojdbc14_g.jar into the < OTM
Home >/glog/gc3webappp/WEB-INF/lib/3rdparty directory
14. Verify the permissions on the files are correct
15. Restart the instance and test to see if the issue is
resolved.