Wednesday, April 8, 2009

Determine release dates for Oracle Critical Patch Updates

Hi,

If you are trying to find out about the Critical Patch Updates (CPU) patches for various oracle products, here are some useful links:

http://www.oracle.com/technology/deploy/security/securityfixlifecycle.html

The above link gives you overview view of the program. The link below gives you the dates / schedule.

http://www.oracle.com/technology/deploy/security/alerts.htm

- Aravind Kamath Posral

Friday, April 3, 2009

Clicking on a Specific Self-Service Responsibility throws unexpected error

Hi,

Few days back, one of the developers reported an issue they encountered while clicking on a self-service responsibility (customized territory management responsibility):

You have encountered an unexpected error. Please contact the System Administrator for assistance.

The error stack was as follows:

Error Page
Exception Details.
oracle.apps.fnd.framework.OAException: Could not load application module 'oracle.apps.jtf.territory.manageTerritory.server.NonNATerritoryAM'.
at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:279)
at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:78)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1280)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:533)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:421)
at _OA._jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:416)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:270)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:204)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322)
at _RF._jspService(_RF.java:225)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:416)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
## Detail 0 ##
oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = java.sql.SQLException: ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.INIT, N, ERRNO, -20001, N, REASON, ORA-20001: SQL_PLSQL_ERROR: N, ROUTINE, MO_GLOBAL.SET_ORG_ACCESS, N, ERRNO, -20001, N, REASON, ORA-20001: APP-FND-02938: Multi-organization routine failed to initialize a session for the product: &PRODUCT. Please inform your support representative.
ORA-06512: at "APPS.FND_MESSAGE", line 509
ORA-06512: at "APPS.MO_GLOBAL", line 36
ORA-06512: at "APPS.MO_GLOBAL", line 757
ORA-06512: at "APPS.MO_GLOBAL", line 700
ORA-06512: at line 1
;

FIX:


FND_MO_PRODUCT_INIT_PKG.register_application('XX_CUSTOM','SEED','Y');
COMMIT;

select application_short_name,status from FND_MO_PRODUCT_INIT where application_short_name like 'XX%';

The result should return XX_CUSTOM and the flag should be Y.

- Aravind Kamath

Thursday, April 2, 2009

Concurrent Managers Crashing and FNDLIBR processes going defunct

Hi,

We observed an issue in one of our R12 instances where the concurrent managers were crashing and going defunct. There were no notable error messages in Internal Concurrent Manager log. The log indicated that all the concurrent queues were started up correctly as per the workshift definition.

However, the logs of the custom concurrent managers which were crashing had the following error:

APP-FND-00362: Routine afpbep cannot execute request &REQUEST for program &PROGRAM, because the environment variable &BASEPATH is not set for the application to which the concurrent program executable &EXECUTABLE belongs.

I had no reason to suspect any relinking issues even if we had patches applied to this system prior to this issue because the relink log did not show any failures. Also, there were other managers which use the FNDLIBR executable that were working fine without issues.

Further investigation revealed that in the log of the concurrent managers which were crashing, ahead of the aforesaid error, there was one concurrent request that was picked up by the manager for execution. Each of the crashed managers had tried to execute the request before they crashed.

I cancelled the identified custom concurrent request and looked up for similar requests and cancelled one more of such a request which was scheduled.

Then bring up the concurrent managers - they work like charm!

Further investigation revealed that the concurrent program definition was incorrect. Rather, the custom top under which this program was registered was not defined correctly. At the shell level, the custom top was defined as $XXCUST_TOP where as in
the custom application registration within apps, it was defined as CUST_TOP (Base Path).

I think the straight forward way of fixing this issue with the custom top is to update the base path in application registration to XXCUST_TOP.

- Aravind Kamath Posral

Wednesday, April 1, 2009

adopmnctl.sh: exiting with status 206

Hi,

Of late, I faced an issue while starting up the oacore component in our R12 environment. There were no errors logged in any of the log files except the error status code of 206 returned by opmnctl.sh .

ias-component/process-type/process-set:
OC4J/oacore/default_group/

Error
--> Process (index=1,uid=32979870,pid=13697)
failed to start a managed process after the maximum retry limit
Log:
/apps/local/INSTANCE_NAME/inst/apps/INSTANCE_NAME_SERVER_NAME/logs/ora/10.1.3/opmn/OC4J~oacore~default_group~1

ias-component/process-type/process-set:
OC4J/oafm/default_group/

Error
--> Process (index=1,uid=32979871,pid=13716)
failed to start a managed process after the maximum retry limit
Log:
/apps/local/INSTANCE_NAME/inst/apps/instance_name_server_name/logs/ora/10.1.3/opmn/OC4J~oafm~default_group~1


03/31/09-07:12:49 :: adopmnctl.sh: exiting with status 206



FIX:

- cd $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/persistence/
- rm -rf *
- repeat the above step for oafm. The path will be cd $ORA_CONFIG_HOME/10.1.3/j2ee/oafm/persistence/

Troubleshooting Tips:

- use any command like lsof to see what files are being accessed to get an idea.

On the side lines, if you navigate to $IAS_ORACLE_HOME/opmn/bin and try to use opmnctl to check status or to set log levels, you will see an issue that says unable to read the opmn.xml file. For this, you need to set the $ORACLE_CONFIG_HOME to point to 10.1.3 instead of 10.1.2.

- Aravind Kamath