Apps DBA Concepts

Just another WordPress.com weblog

Archive for August, 2007

CPU patch and Opatch

Posted by vasselva on August 28, 2007

Today I am going to give little insight about Opatch and CPU patch.Opatch is a tool is used to patch all oracle homes for oracle applications. CPU is stands for Critical patch updates, in other way its a security patches for Apps. Is Apps DBA responsibility to keep CPU patches up-to-date to avoid security vulnerabilities.

In Apps we need to use Opatch and adpatch for patching oracle apps. Why we need to use two utility to patch oracle apps.opatch is used to patch all oracle homes (for R12..10.1.2,10.1.3 and 10.2.0.2 oracle homes). Apps patches we need to use to adpatch.

How to use Opatch?

Opatch is one of the easiest and safest for patching oracle apps because you can rollback opatch if you find any issues applying the patches

  1. From the opatch read me make sure which oracle home you want to patch
  2. Shutdown the instance related to particular oracle home.
  3. Set the oracle home in the env .Set the opatch in the path.
  4. Follow the readme whether opatch needs up gradation.
  5. cd to the patch area and opatch apply
  6. Proceed the post install steps
  7. Run cpu_root.sh to give some permissions to the executables.
  8. For rollback use opath rollback –id
  9. “opatch lsinventory “ is used to list all the patches
  10. “opatch lsinventory –details” is used to find the version belongs to particular oracle home.

CPU patch

CPU patch has to keep uptodate. Use opatch to apply CPU patches. Follow the opatch steps to apply the CPU patch. As part of post installation step run catcpu.sql and utlrp.sql

Issues will face

  1. When you are applying CPU patch you will get conflict with some patches .Report to Oracle Corporation they will provide a new merged patch if its actually a conflict.

Posted in Database | Leave a Comment »

Compilation and Translation error when compiling JSP on R12

Posted by vasselva on August 24, 2007

This error will occur on R12 environment and AS 10.1.3.0 (Windows instance not sure about unix instance)

Error:
——–
[5424] !!TRANSLATION ERROR(0) ahlapprCreateSpaceARMain.jsp:
java.io.IOException: The filename, directory name, or volume label syntax is
incorrect

Problem:
———
In windows environment,after new installation i tried to compile JSP and i used to below command to compile.
———————————————————————-
perl -x %fnd_top%\patch\115\bin\ojspCompile.pl –compile –flush –quiet
—————————————————————————————————
Note in windows env you need to mention perl -x in the prefix.After hard days breaking my head whats gone wrong with the installation.After i find out drive letter for jsp_dir in ojspCompile.conf is small.JSP class files is class sensitive .So its unable to determine the path.

Location of ojspCompile.conf : %INST_TOP%\appl\admin\

solution:
——–
1. Change the drive letter to Upper case in the ojspCompile.conf
For e.g.
jsp_dir = e:\VIS\apps\apps_st\comn\webapps\oacore\html
to
jsp_dir = E:\VIS\apps\apps_st\comn\webapps\oacore\html

2.Raise an SR ask for new ojspCompile.pl

3.Add a following piece of code in ojspCompile.pl (Use it at your own risk )
----------------------------------------------------
if($ISWINNT) {
my $jsp_dir_nt = ucfirst($jsp_dir);
$jsp_dir = $jsp_dir_nt;
}
----------------------------------------------------

Posted in Uncategorized | Leave a Comment »

Apps login error

Posted by vasselva on August 3, 2007

Error :-
——-
Unable to login: &REASON has been detected in &ROUTINE

Problem:
———
log file -OACoreGroup.0.stderr f
[fnd.common.logging.DebugEventManager.handlerException]:

java.sql.SQLException: ORA-01000: maximum open cursors exceeded

Solution:
——–
ORA-01000: maximum open cursors exceeded

– Increase the SGA_TARGET parameter to 1GB

– Increase the OPEN_CURSORS parameter in init.ora file present in database

To see if you’ve set OPEN_CURSORS high enough, monitor v$sesstat for the maximum opened cursors current. If your sessions are running close to the limit increase the value of OPEN_CURSORS parameter in init.ora file as per your requirement. You can run the following query which has a sample output

SQL> select max(a.value) as highest_open_cur, p.value as
 max_open_cur from v$sesstat a, v$statname b, v$parameter p
where a.statistic# = b.statistic#and b.name = 'opened cursors current'and
p.name= 'open_cursors'  group by p.value;

Posted in Uncategorized | Leave a Comment »