Friday, July 31, 2009

Unable to compile invalid object ORA-04030

Solution from http://oracledbas.blogspot.com/2009/02/ora-04030-out-of-process-memory.html

SQL> alter package apps.XLA_00200_AAD_S_000010_PKG COMPILE BODY;
alter package apps.XLA_00200_AAD_S_000010_PKG COMPILE BODY
*
ERROR at line 1:
ORA-04030: out of process memory when trying to allocate 4108 bytes (PLS
non-lib hp,pdzgM64_New_Link)

Solution
1.SQL>select object_name,object_type from dba_objects where status='INVALID';
OBJECT_NAME OBJECT_TYPE
----------------------------------- -------------------
XLA_00200_AAD_S_000010_PKG PACKAGE BODY
XLA_00200_AAD_S_000011_PKG PACKAGE BODY

2. SQL> alter system set plsql_optimize_level =0;
System altered.

3.SQL> alter package apps.XLA_00200_AAD_S_000010_PKG COMPILE BODY;
Package body altered.

4.SQL> alter package apps.XLA_00200_AAD_S_0000011_PKG COMPILE BODY;
Package body altered.

5.SQL> alter system set plsql_optimize_level =2;
System altered.

Thursday, July 30, 2009

Don't forget to turn SLA: Enable Diagnostic off

If you need to set SLA: Enable Diagnostic to yes, then you must set it back to no right after you run your SLA request. If you forget to do so, your database will grow rapidly. Mine has grown 1.6 Gb in only one day!

Monday, July 27, 2009

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

Applies to:

Oracle Applications Technology Stack - Version: 12.0
This problem can occur on any platform.

Symptoms

On 12.0, trying to connect to the home page (http://<server>.<domain>.<port#>), redirects to http://<server>.<domain>.<port#>/OA_HTML/AppsLocalLogin.jsp 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)

Cause

JSPs need recompilation.


Solution

-- To implement the solution, please execute the following steps:
Either:
A. Set the JSP compilation to Automatic using the following steps:
1. 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)

NOTE
~~~~~
Backup the context file before editing it.

2. Run Autoconfig to propagate the changes to the configuration files.

3. 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>

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

5. 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.

6. Run AutoConfig to propagate the changes.

NOTE
~~~~~

You can always use the next option to compile JSP's manually at any time.

OR
B. Recompile the JSP manually using the following steps:
1. Telnet to your server using applmgr user and source the environment by running the script:

/oracle/apps/apps_st/appl/APPS<SID>_<host>.env

2. 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

3. Restart the Middle Tier services.

Thursday, July 16, 2009

$5 discount coupon

I have a $5 discount coupon from play-asia.com. But I won't use it because it has minimum order value $50 to use. You can use it if you want, the code is: WP-FKV-YIF. This coupon expires on August 30th, 2009. Just click below to visit play-asia.com. Don't forget to leave a comment when you have used it.