Oracle Database Packages are widely used in EBS R12. We have thousands of Packages in the Apps schema. These packages are loaded and modified in the Oracle database using adpatch or adop using the files in the $PRODUCT_TOP/patch/115/sql/*pls
Sometimes, we have different versions between Database and the filesystem and that could be causing an invalid in the database. Let’s see how to find the version on both the database and Filesystem
How to check the version in the Database
we can find this using the below sql
select text from dba_source where name ='&package' and text like '%Header:%';
Example
select text from dba_source where name ='AD_ZD_PREP' and text like '%Header:%'; ------------------------------------------------------------------- /* $Header: ADZDPRPS.pls 120.11.12020000.10 2022/06/13 04:39:28 rsatyava ship $ */ /* $Header: ADZDPRPB.pls 120.16.12020000.38 2022/06/13 04:38:52 rsatyava ship $ */
Here ADZDPRPS.pls is the package spec file and ADZDPRPB.pls stands for the Package Body
How to check the version on the filesystem
Now that we know about the files for the package, we can check the version on the filesystem using adident
Login to Application node
Source the EBS environment
cd $AD_TOP/patch/115/sql
adident Header ADZDPRPS.pls
adident Header ADZDPRPB.pls
We should be having the same version between database and filesytem
How to make it same in both the places
You can compile it from the filesystem
sqlplus apps/<apps pass>
@ADZDPRPS.pls
sqlplus apps/<apps pass>
@ADZDPRPB.pls
And you can again the check the version in both the Database and file system
I hope you find this article useful
Related Articles
Oracle apps queries for APPS DBA
Leave a Reply