compile invalid objects in an APPS (EBS)

You need to know Count of Invalid Object for your APPS :

SELECT COUNT(*)
FROM DBA_OBJECTS
WHERE STATUS = 'INVALID';

For a more detailed query, use the following script :

SELECT OWNER, OBJECT_TYPE, COUNT(*)
FROM DBA_OBJECTS
WHERE STATUS = 'INVALID'
GROUP BY OWNER, OBJECT_TYPE;

To recompile an individual object, connect to SQL*PLUS as the owner of the object (generally apps) and use one of the following depending on the object type :

alter package compile; (package specification)
alter package compile body; (package body)
alter view compile; (view)

If the object compiles with warnings, use either of the following to see the errors that caused the warnings :

show errors

OR

select * from user_errors where name = '';

Another way to correct invalid objects is to run the adadmin utility as follows:

1. Log in as APPS User : /

2. Start the adadmin-Utility from the Unix prompt with this command :

adadmin

The utility will then ask you a series of questions.

3. Under the Maintain Applications Database Objects Menu, select Compile APPS schema(s)

Other Way :
 
Also try running $ORACLE_HOME/rdbms/admin/utlrp.sql ( as sysdba )

Within Applications, there is a script to compile INVALID objects – called ADCOMPSC.pls

 Arguments for ADCOMPSC.pls :

1 – Schema to run in
2 – Password for schema
3 – Check errors for objects starting with #3

NOTE: The order in which to compile Invalid Objects in schemas is SYS, SYSTEM, APPS and then all others. APPS_DDL and APPS_ARRAY_DDL should exist in all schema’s. In case of an ORA-1555 error while running adcompsc.pls, restart the script.

The script can be run as followed :

cd $AD_TOP/sql
sqlplus @adcompsc.pls SCHEMA_NAME SCHEMA_PASSWORD %

Example : SQL> @adcompsc.pls apps apps %

After the script completes, check for invalid objects again. If the number has decreased, but invalid objects still exist, run adcompsc.pls again. Keep running adcompsc.pls until number of invalid objects stops decreasing.

If there are any objects still left INVALID, verify them by using the script ‘aderrchk.sql’ to record the remaining INVALID objects. ‘Aderrchk.sql’ uses the same syntax as ‘adcompsc.pls’. This script is also supplied with the Applications. Send the aderrchk.sql to a file using the spool command in sqlplus.

e.g. sqlplus x/y @aderrchk.sql SCHEMA_NAME SCHEMA_PASSWORD %

For objects which will not compile, try the following :

select text
from user_source
where name = 'OBJECTNAME'
and text like '%Header%';

This script will provide the script that creates the packages/recreates the packages.

SQL>@packageheader
SQL>@packagebody

If recreating the package does not make the package valid, analyze the user_errors table to determine the cause of the invalid package :

select text
from user_errors
where name = '';

Thank You
Osama Mustafa

Oracle EBS installation

Hi all ,
its taking long time for me to write new blog , any way in this article i am gonna talk about how to install oracle EBS on Linux – 64 V5 update 4, take in your consideration there’s no difference oracle ebs installation step,the difference is changing is the prerequisites for platforms .

you can check the prerequisites on meta-link DOC [ID 761566.1]
i will post link in the bottom of this article .

Before we begin the wild ride, there a few modifications that needs to be done to the system, a few packages need to be installed. I’ll assume that you have searched for quite a while and maybe you even tried to install the damn thing and ran into errors, so I’ll get right into the process. Here what we’re going to do:

  1. Install Development Tools
  2. Install required packages
  3. Modify the System Configuration and Kernel (don’t panic)
  4. Create Required Users
  5. Install Oracle Apps

1-install Development Tools

there’s easy way and hard way i prefer hard way since easy way take space on system and some package not needed for oracle

Easy way :

yum groupinstall "Development Tools"
Hard Way :
you need to check every package on OS if its installed or not

  • gcc-4.1.2-14.el5.x86_64
  • gcc-c++-4.1.2-14.el5.x86_64
  • glibc-2.5-18.i686 (32-bit)
  • glibc-2.5-18.x86_64
  • glibc-common-2.5-18.x86_64
  • glibc-devel-2.5-18.i386 (32-bit)
  • glibc-devel-2.5-18.x86_64
  • libgcc-4.1.2-14.el5.i386
  • libgcc-4.1.2-14.el5.x86_64
  • libstdc++-devel-4.1.2-14.el5.i386
  • libstdc++-devel-4.1.2-14.el5.x86_64
  • libstdc++-4.1.2-14.el5.i386
  • libstdc++-4.1.2-14.el5.x86_64
  • make-3.81-1.1.x86_64
  • gdbm-1.8.0-26.2.1.i386
  • gdbm-1.8.0-26.2.1.x86_64
  • libXp-1.0.0-8.1.el5.i386
  • libXp-1.0.0-8.1.el5.x86_64
  • libaio-0.3.106-3.2.i386
  • libaio-0.3.106-3.2.x86_64
  • libgomp-4.1.2-14.el5.x86_64
  • sysstat-7.0.0-3.el5.x86_64
  • util-linux-2.13-0.45.el5.x86_64
  • compat-libstdc++-296-2.96-138.i386
  • compat-libstdc++-33-3.2.3-61.i386

Additionally, the following RPMs are required for an 11gR1 Database (which is bundled with the 12.1.1 release) on the database tier:

  • compat-libstdc++-33-3.2.3-61.x86_64
  • elfutils-libelf-devel-0.125-3.el5.x86_64
  • elfutils-libelf-devel-static-0.125-3.el5.x86_64
  • libaio-devel-0.3.106-3.2.x86_64
  • unixODBC-2.2.11-7.1.i386
  • unixODBC-devel-2.2.11-7.1.i386
  • unixODBC-2.2.11-7.1.x86_64
  • unixODBC-devel-2.2.11-7.1.x86_64
  • kernel-headers-2.6.18-8.el5.x86_64
  • openmotif21-2.1.30-11.EL5.i3861
  • xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386

Check Package by command : rpm -qa | grep “package name”
Ex:
rpm -qa | grep kernel-headers

if its installed the name of package will appear as result but if its not you need to install like the following :

rpm -ivh “package name that you need to install”.

* after install package called ” openmotif” you need to make the following command :

unlink /usr/lib/libXtst.so.6
ln -s /usr/X11R6/lib/libXtst.so.6.1 /usr/lib/libXtst.so.6

Modify the System Configuration and Kernel

Open /etc/sysctl.conf as root
then add the following lines at the end of the file :

#Oracle EBS R12.1.1 Kernel Settings
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 256 32000 100 142
fs.file-max = 327679
net.ipv4.ip_local_port_range = 10000 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=4194304

Now lets apply the new settings
/sbin/sysctl –p

Add the following lines to the /etc/security/limits.conf file:

* hard nofile 65535
* soft nofile 4096
* hard nproc 16384
* soft nproc 2047

Add the following lines to the /etc/resolv.conf file:

options attempts:5
options timeout:15

Create Required Users

we need two Groups : groupadd oinstall groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
useradd -g oinstall -G dba apps
passwd apps

Create Oracle Base Folder

mkdir -p /u01/oracle/PROD
chown -R oravis:oinstall /u01
chmod -R 775 /u01/

Before installation make sure all media (STAGE) owned by Oracle:oinstall and permission is 775 .
before installation you need to change permission for ./rapidwiz like Following
chmod u+x STAGE_PATH/startCD/DISK1/rapidwiz/

Apply patch number 6078836 before installation becuase if you don’t the Post installation check will fail on HTTP error : RW-50015 , you find this patch in the bottom .

Start the installation and Good luck : ./rapidwiz


If you need patch or any thing please contact me here .

Downloadable Files :
Package May you will need : Redhat 5.4
Patch 6078836