Monday, 14 February 2011

ORA-20011: Approximate NDV failed: ORA-00600: internal error code, arguments


Windows 2008 Enterprise
Oralce 11.2.0.2
After upgrade from 11.1.0.7 to 11.2.0.2 release, as part of R12 dbtier post-installation procedure, required to run adstats.sql and getting the following error

ERROR at line 1:
  ORA-20011: Approximate NDV failed: ORA-00600: internal error code, arguments:
  [1350], [1], [23], [], [], [], [], [], [], [], [], []
  ORA-06512: at "SYS.DBMS_STATS", line 24098
  ORA-06512: at "SYS.DBMS_STATS", line 24629
  ORA-06512: at line 3
  ORA-06512: at line 33

Finally found the cause of the error, environment variable ORA_NLS10 not set even though successfully completed the  $ORACLE_HOME/nls/data/old/cr9idata.pl executed to create $ORACLE_HOME/nls/data/9idata from upgrade notes

set ORA_NLS10=%ORACLE_HOME%\nls\data\9idata

Retest the issue by running adstats.sql again .

adstats.sql should run successfully now.


Cheers!!!
SocialTwist Tell-a-Friend

Sunday, 13 February 2011

Blank Page Accessing R12 - 'Missing class: _RF' in OACore application.log


On 12.0, trying to connect to the home page, which shows a blank page.

Further more, the application.log file of the OACore OC4J shows the following error stack:

javax.servlet.ServletException: oracle.classloader.util.AnnotatedClassNotFoundException:

Missing class: _RF

Dependent class: oracle.jsp.runtimev2.JspPageInfo
Loader: oc4j:10.1.3
Code-Source: /oracle/apps/tech_st/10.1.3/j2ee/home/lib/ojsp.jar
Configuration: code-source in META-INF/boot.xml in /oracle/apps/tech_st/10.1.3/j2ee/home/oc4j.jar

This load was initiated at oacore.web.html.jsp8892557:0.0.0 using the loadClass() method.

The missing class is not available from any code-source or loader in the system.
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:387) 
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[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) 
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) 
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:299) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:187) 
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) 
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230) 
at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33) 
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831) 
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) 
at java.lang.Thread.run(Thread.java:595)

To solve this issue, there are two ways
1. Set the JSP compilation to Automatic
2. Recompile the JSP manually

How to set the JSP compilation to Automatic
Use the vi editor to edit the $CONTEXT_NAME.xml context file used by AutoConfig and change the value for "s_jsp_main_mode" from "justrun" to "recompile" (without the double quotes)

Backup the context file before editing it.

Run Autoconfig to propagate the changes to the configuration files.

Verify that now the
$INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml has

init-param
[param-name]main_mode[/param-name]
[param-value]recompile[/param-value]
/init-param

Restart the Middle Tier services and access the applications to load JSP's which will cause them to be recompiled on the run.

After successfully accessing the applications, use the vi editor to edit the $CONTEXT_NAME.xml context file used by AutoConfig and revert the value for "s_jsp_main_mode" to "justrun" (without the double quotes) in order not to hamper the performance of your system.

Run AutoConfig to propagate the changes.

How to recompile the JSP manually

You can always use the this option to compile JSP's manually at any time.
Connect application tier using applmgr user and source the environment by running the script:

/oracle/apps/apps_st/appl/APPSSID_host.env

Run the commands
UNIX 
cd $FND_TOP/patch/115/bin
perl ojspCompile.pl --compile --flush -p 2

Windows
cd %FND_TOP%\patch\115\bin
- perl -x ojspCompile.pl –compile –flush

Restart the Middle Tier services.


Cheers!!!
SocialTwist Tell-a-Friend