Showing posts with label ORACLE APPLICATIONS. Show all posts
Showing posts with label ORACLE APPLICATIONS. Show all posts

Monday, 2 June 2014

FDPSTP failed due to ORA-20100

FDPSTP failed due to ORA-20100: Error: FND_FILE failure. Unable to create file, oXXXXXXXX.tmp in the directory, /usr/tmp


A TEST instance was already up and running and I created another production clone on the same server/machine. Once the services of both the instances  

The concurrent programs were completing in error and when checked the log files, the following error message was there:

ORACLE error 20100 in FDPSTP

Cause: FDPSTP failed due to ORA-20100: Error: FND_FILE failure. Unable to create file, o0031866.tmp in the directory, /usr/tmp.

You will find more information in the request log.
ORA-06512: at "APPS.FND_FILE", line 417

When investigated, I found that both the instnaces were creating .tmp files in /usr/tmp directory with the same name. This error was being thrown when one instance was trying to create .tmp file and a file with the same name was already created by the other instance.

  • To resolve the issue I shutdown both the apps and db services of one instance.
  • Created a directory 'temp' in '/usr/tmp' and changed the ownership of this dir to user owner of this instance 
  • Logon to database as sysdba
  • Create pfile from spfile
  • modified UTL_FILE_DIR parameter's first entry from '/usr/tmp' to '/usr/tmp/temp'
  • Created spfile from pfile
  • Brought up the db and listener
  • Now modified the $APPLPTMP variable in TEST_oratest.xml file from '/usr/tmp' to '/usr/tmp/temp'
  • Run the autoconfig on apps tier/node
  • Brought up the apps services
  • Retested the issue and it was resolved 

Sunday, 25 May 2014

Post Clone Steps In Oracle Applications

Post Clone Steps In Oracle Applications

The cloning process has traditionally been a manual process performed by DBAs. This process involves copying over the database files – preferably using RMAN DB duplicate, the tech stack, and the application tier to the non-production servers, converting them to DEV or TEST, and then performing a number of post clone steps such as disabling workflow emails from going to end users, scrambling financial information, updating the clone date and the instance name within the apps heading, editing the custom top, changing passwords, and others.  Depending upon the size and configuration the cloning process can take from 12 hours to 48 hours on average.

The number of post clone steps can get to be quite numerous and even with the best of documented procedures; one or two steps can easily be missed.

Note:-  the following is a list of steps in one particular cloning environment, It may vary based on environment.


1. Once the cloned database is renamed, add all the temp datafiles to the TEMP tablespace.

2. All key passwords need to be updated from their production values to the appropriate values for the DEV environment. (ie: sys,system, sysadmin,apps)

3. Custom database directories need to be re-created with the correct paths for the DEV server.

4. Specific Profile options need to be re-defined – like the apps heading naming the instance and the date stamp of the clone.

5. End-dating specific users so that only the desired developers have access to the instance.

6. Removing/scrambling specific private HR data.

7. Nulling out specific email addresses to prevent workflow from emailing end-users from the DEV instance.

8. Putting a hold on all regularly scheduled production concurrent requests in the DEV instance.

9. Updating all profile option values, swapping out the prod instance name for the DEV instance name. Additional updates for the server names also run.

10. Updates for all custom environment code paths and settings.


11. Updates for any and all printer setting changes.

Retrieve complete INST_TOP in Oracle Applications when lost

When complete INST_TOP is lost in Oracle Applications R12 we can retrieve it using below steps.


As context file also resides in INST_TOP first we have to regenerate Context file using adclonectx.pl under $COMMON_TOP/clone/bin.

1)First create necessary directory structure  for context file

$ mkdir -p /u01/applmgr/inst/Context_Name/appl/admin

2)Move your directory to $COMMON_TOP/clone/bin


$ cd $COMMON_TOP/clone/bin

3)Run adclonectx.pl script to regenerate contextfile

$ perl adclonectx.pl retrieve

Respond to Prompts as required

4)Check your Context file.

5)Now run adconfig.pl under $AD_TOP/bin

$ cd $AD_TOP/bin
$ perl adconfig.pl contextfile <Full path of contextfile>

6)Check whether all files are created under INST_TOP.



Note:- When we run adclonectx.pl script which resides under $AD_TOP/bin, this script may through an error "Please ensure that Classpath is set properly"

Friday, 9 May 2014

Integrating Oracle E Business Suite with Oracle Access manager(OAM) and Oracle Identity Management(OID)

Integrating Oracle E Business Suite with Oracle Access manager(OAM) and Oracle Identity Management(OID)


Requirements:- 2 local machines

Machine 1:-ebs.learnapps.com                                                 Machine 2:-fmw.learnapps.com


Steps to Integrate EBS with OAM and OID(Only high Level Steps are Given)

1)Install Oracle E Business Suite R12.1.3 in one machine(Here in our case  ebs.learnapps.com)

Note:-Before Installing perform all prerequisite tasks specific to linux bit version. For example setting kernel parameters, installing required rpms...

2)Install Oracle Database Software in another machine (Here in our case fmw.learnapps.com) and Create Database using DBCA.
Here I used database name as OIDDB.

Note:-Before Installing perform all prerequisite tasks specific to linux bit version. For example setting kernel parameters, installing required rpms...

3)Create Listener for OIDDB database and name listener as OIDDB.

4)Download latest RCU(Repository Creation Utility) and copy it to server 2(fmw.learnapps.com) 
Here I have downloaded Oracle Fusion Middleware 11g RCU which comes via patch 16471709.

5)Unzip RCU patch and Invoke RCU and load required schemas to OIDDB database (fmw.learnapps.com)
While selecting schemas make sure you have only selected ODS schema. Dont select any other schema.

6)Create one user in server 2 and Install Weblogic Server in server2(fmw.learnapps.com)

7)Install OID software in server 2(fmw.learnapps.com) 

8)Configure OID software to run OID on managed server.

9)Integrate OID software with EBS using following syntax.
$FND_TOP/bin/txkrun.pl -script=SetSSOReg -registerinstance=yes
Execute this  command in server1(ebs.learnapps.com)

10)Create one more user in server 2 and Install Weblogic Server in server2(fmw.learnapps.com)

11)Install OAM software in server 2(fmw.learnapps.com) 

12)Configure OAM software to run OAM on managed server.


Not yet completed......


Monday, 14 October 2013

important Concurrent manager scripts

Non Destructive Script to Clean Concurrent Manager TablesCMCLEAN.sql(<– Click here for details & download)
This script re-sets the flags for requests to completed to allow the Managers to come up

How To Re-create Concurrent Manager Views
How To Re-create Concurrent Manager Views
(<– Click here for details & download)
This script details how to Re-create the Concurrent Manager Views

Concurrent Manager Check Script
CCM.sql
(<– Click here for details & download)
This script will diagnose Concurrent Managers and Concurrent Requests

Concurrent Manager Check Script
FNDCCMDiagnostic115.sh
(<– Click here for details & download)
This script will diagnose Concurrent Managers and Concurrent Requests

Internal Manager Log Script
ICMLOG.sql
(<– Click here for details & download)
This script will provide the location for Retrieving the Internal Manager Log file
Concurrent Request Log ScriptCMLOGS.txt(<– Click here for details & download)
Script for Retrieving Log Files Associated to a Concurrent Request

Concurrent Request Check Script
REQCHECK.sql
(<– Click here for details & download)
Script for diagnosing problematic Concurrent Requests

Analyze Pending Requests Script
ANALYZEPENDING.sql
(<– Click here for details & download)
Script for diagnosing Pending Concurrent Requests

Analyze Request Script
ANALYZEREQ.sql
(<– Click here for details & download)
Script for Providing a Detailed Analysis of One Concurrent Request

Who Can Run which Requests
WHOCANRUN.sql
(<– Click here for details & download)
Script that lists Responsibilities that can Run a Given Concurrent Program

Concurrent Request Diagnostic Script
FNDCCMDiagnostic115.sh
(<– Click here for details & download)
This script will diagnose Concurrent Managers and Concurrent Requests

Concurrent Request Diagnostic Script
bde_request.sql
(<– Click here for details & download)
Process and Session info for one Concurrent Request
Printing ScriptFNDPrinterValidation115.sh(<– Click here for details & download)
This script checks a customer’s Printer configuration/setup within Oracle Applications.
Report Review Agent ScriptFNDValidateFNDFS115.sh(<– Click here for details & download)
This script checks basic setup of the concurrent processing tier report review agent.

Monday, 15 July 2013

oracle apps disable or enable maintenance mode in non interactive mode in oracle applications R12


To enable maintenance mode:

$ cd $AD_TOP/patch/115/sql
$ sqlplus apps/apps
$ @adsetmmd.sql enable;

To disable maintenance mode :

$ cd $AD_TOP/patch/115/sql
$ sqlplus apps/apps
$ @adsetmmd.sql disable;

To enable or disable maintenance mode  using adadmin

http://learnappsdbaskills.blogspot.in/2013/04/disable-maintenance-mode.html


Saturday, 13 July 2013

How to speedup utlrp.sql script after catupgrd.sql scripts

How to compile invalid objects faster:-


To know Invalid objects issue

select count(*) from dba_objects where status like 'INVALID';

To compile these invalid objects faster than normal case then issue following command in sql prompt

SQL>@?/rdbms/admin/utlrp.sql n;

Where n= no of CPU's + 2

This will compile your invalid objects faster than normal case.

Tuesday, 9 July 2013

how to add customization to apache configuration file.

Overview

As we know AutoConfig is a tool that simplifies and standardizes configuration management tasks in an Oracle Applications environment.
The configuration generated by AutoConfig may not always meet your specific requirements and it may be necessary to customize AutoConfig to get your environment up and running.

Steps to preserve autoconfig:


First find template file for apache configuration file using adtmplreport.sh script located in $AD_TOP/bin



[applmgr3@fed01 ~]$ cd $AD_TOP/bin
[applmgr3@fed01 bin]$ ls adtmplreport.sh
adtmplreport.sh
[applmgr3@fed01 bin]$ adtmplreport.sh
Usage:
        adtmplreport.sh [help]
        adtmplreport.sh contextfile=<contextfilepath> [log=<logfilepath>]
                [[listcustom] | [product=<product>[listcustom] ]]|
                [target=<targetfilepath>|template=<templatefilepath>]
                [verbose]

Valid arguments for adtmplreport.sh:
        help            : prints usage information
        contextfile     : Complete path to Applications context file.
        log             : Complete path to the Log file to log the
                          information. If not specified, the file will
                          be created automatically in
                          [apps tier]
                          $INST_TOP/admin/log directory
                          [db tier]
                          $ORACLE_HOME/appsutil/log/<s_contextname> directory
        product        : Product to be reported
        template       : Location of template file to be reported on
        target         : Location of target file to be reported on
        verbose        : Displays the output on the screen.
        listcustom     : Lists customizations.

[applmgr3@fed01 bin]$ adtmplreport.sh contextfile=$CONTEXT_FILE target=/u03/applmgr3/inst/apps/PROD_fed01/ora/10.1.3/Apache/Apache/conf/httpd.conf

#########################################################################
          Generating Report .....
#########################################################################
For details check log file: /u03/applmgr3/inst/apps/PROD_fed01/admin/log/07102203.log

[applmgr3@fed01 bin]$ cat /u03/applmgr3/inst/apps/PROD_fed01/admin/log/07102203.log
=================================================================
Starting Utility to Report on Templates and their  Targets  at Wed Jul 10 22:03:28 IST 2013
Using ATTemplateReport.java version 120.0


[ INFO_REPORT ]

[FND_TOP]
TEMPLATE FILE   : /u03/applmgr3/apps/apps_st/appl/fnd/12.0.0/admin/template/httpd_conf_1013.tmp
TARGET FILE     : /u03/applmgr3/inst/apps/PROD_fed01/ora/10.1.3/Apache/Apache/conf/httpd.conf



Modify the configuration file(target file - httpd.conf) as per requirement.For xample add some lines to conf file
“RedShore Technologies---Ameerpet”

Now change the customisation in template file


Key points:-
 Sometimes patch brings new version of template files. Template files will be copied to Standard
template file location rather than Custom template file location. So, in these conditions AutoConfig
fails with conflicts error.

 Whenever we are getting AutoConfig version conflicts, we need to take a backup of existing custom
directory template file and we have to copy new Standard template file to custom directory and we
can add customizations to the file.

 You cannot customize all AutoConfig template files. The AutoConfig templatefile cannot be customized if the “LOCK” keyword appears in the template file’s entry in the

product driver file.

 AutoConfig ignores custom template files that are marked with “LOCK”.


Monday, 1 July 2013

How to find out Apps password when we dont know the old password.

How to find out Apps password when we dont know the old password.


The below methog helps us to find out when we lost the Apps password, Please note you need have system password to perform the below actions.The below method is not suggested for Production or Critical systems.

Login to Middle Tier as ap user.
-------------------------------

$cd $FND_TOP/patch/115/sql

$cp AFSCJAVS.pls AFSCJAVS.pls.orig

Add following lines to the AFSCJAVS.pls file

CREATE OR REPLACE PACKAGE apps.fnd_web_sec AS

/*--------------------------------------------------------------*/

function decrypt(key in varchar2, value in varchar2)
return varchar2;

/*--------------------------------------------------------------*/

$sqlplus system/ @AFSCJAVS.pls

Package created.

Commit complete.

as system excute the following to find out if anything marked as invalid.

SQL> show user
USER is "SYSTEM"

SQL>col OBJECT_NAME for a30;
set line 200;
select object_name,object_type,status,owner from dba_objects where object_name='FND_WEB_SEC';


SQL>col OBJECT_NAME for a30;
set line 200;
select object_name,object_type,status,owner from dba_objects where object_name='FND_WEB_SEC';

OBJECT_NAME OBJECT_TYPE STATUS OWNER
------------------------------ ------------------ ------- ------------------------------
FND_WEB_SEC PACKAGE VALID APPS
FND_WEB_SEC PACKAGE BODY INVALID APPS

SQL> alter PACKAGE apps.FND_WEB_SEC compile body;

Package body altered.

If there are any invalids compile them.

Obtain Guest user ID and password.

as system excute the following.

SQL> show user
USER is "SYSTEM"

SQL> select profile_option_value from apps.fnd_profile_option_values where
profile_option_id = (select profile_option_id from apps.fnd_profile_options where
profile_option_name='GUEST_USER_PWD');
2 3
PROFILE_OPTION_VALUE
----------------------------------------------------------------------------------------------------
GUEST/ORACLE

SQL> show user
USER is "SYSTEM"

SQL>create synonym FND_WEB_SEC_TEST for apps.FND_WEB_SEC;

Synonym created.

SQL> show user
USER is "SYSTEM"
SQL> create synonym FND_WEB_SEC_TEST for apps.FND_WEB_SEC;

Synonym created.

-- Now Obtain Apps password using the below sql :)

SQL> SELECT(
SELECT
fnd_web_sec_test.decrypt('GUEST/ORACLE',encrypted_foundation_password)
FROM dual
)AS APPS_PASSWORD
FROM
apps.fnd_user
WHERE
user_name like 'GUEST'; 2 3 4 5 6 7 8 9


APPS_PASSWORD
----------------------------------------------------------------------------------------------------
APPS

-- WOW we got the Apps password now


SQL> drop synonym FND_WEB_SEC_TEST;

Synonym dropped.

-bash-3.2$ sqlplus apps/ @AFSCJAVS.pls

Package created.

Commit complete.

Please find the below explanation for the above steps:
---------------------------------------------------------------

A)
We know in Oracle Applications passwords are stored in FND_USER and FND_ORACLE_USERID tables,The FND_USER table stores application user account passwords and
the FND_ORACLE_USERID table stores internal Oracle Applications database account passwords,Both tables use the same encryption algorithm to protect the passwords.

The FND_USER table contains all the application accounts.There are two password columns in this table: ENCRYPTED_FOUNDATION_PASSWORD and ENCRYPTED_USER_PASSWORD.

====================================================
Column Value Encryption Key
===================================================
ENCRYPTED_FOUNDATION_PASSWORD APPS username/password
ENCRYPTED_USER_PASSWORD user APPS password


The 2 columns as...

a)If we know the username/password we can get the Apps Password (ENCRYPTED_FOUNDATION_PASSWORD)
b)If we know the Apps password we can get any users password (ENCRYPTED_USER_PASSWORD)

B)

To decrypt and verify user passwords Oracle Apps uses FND_WEB_SEC package in Apps.The DECRYPT function in the FND_WEB_SEC package is a local function and cannot be called from outside the package.

So to make the function available outside the package,we have altered the AFSCJAVS.pls above.

Thursday, 20 June 2013

Cloning SSO-Enabled Environments in E-Business Suite


This is already discussed in Steven Chan's Blog article http://blogs.oracle.com/stevenChan/2006/05/11/ and much of this note is a straight copy from this article.  Please review this blog article in it's entirety before proceeding.

If you're willing to experiment a bit, the following are general guidelines to point you in the right direction.  Some customers and Oracle Consultants have used the following approaches to get the job done but have reported that there was some trial-and-error involved.

These are neither detailed nor comprehensive instructions.  The following should be attempted only by system administrators who have a solid understanding of the principles outlined in Metalink Note 261914.1.

If you're going to experiment with these approaches, I strongly recommend that you take all sensible precautions, including backing up your environments at multiple stages, taking careful notes, and doing things in small, incremental steps to control your risk.

There is no single stop, supported or documented method to create a clone of your eBiz instance when integrated with SSO.   Please use this note with caution and make sure you thoroughly test any procedure you decide to use to ensure it fits with all aspects of your specific setup.

1- Use Rapid Clone to create a clone of your E-Business Suite, including the application-tier and database-tier.
   For 11i, please use:
     Note 230672.1 Cloning Oracle Applications Release 11i with Rapid Clone
 
   For R12 ,please use:
     Note 406982.1   Cloning Oracle Applications Release 12 with Rapid Clone

2- In the  newly-cloned E-Business Suite instance, set the APPS_SSO_LDAP_SYNC profile option to "Disabled" at the site level (since there's no new Oracle Internet Directory instance to synchronize with yet).

3 -  In your newly-cloned E-Business Suite instance, unlink all E-Business Suite users that were linked to the original Oracle Internet Directory 10g users (i.e. where FND_USER.USER_GUID is populated), since the those old links are no longer valid. Those E-Business Suite users will need to be linked to their corresponding accounts in the as-yet non-existent new Oracle Internet Directory instance.

To Unlink EBS users, you should execute the following Command for each individual user (For both 11i and R12):

$FND_TOP/patch/115/sql/fndssouu.sql

See Note 429375.1 for more information on this utility

4 -  In your newly-cloned E-Business Suite instance, remove all reference to the original OID/SSO instance

Use the “removereferences” to cleanup the previous registration information of SSO & OID

For R12 this is described in Note 376811.1 "Section 3: Remove References"

For 11i :  Note 233436.1  "Appendix D:  Advanced Configuration - Manual SSO/OID Registration" - Option 6

5 -  Create a fresh install of Single Sign-On and Oracle Internet Directory 10g on your new server.

6 - Assuming that you enabled bidirectional provisioning between the E-Business Suite and Oracle Internet Directory, do one of the following (but not all three):

a) Redo your bulkload from the E-Business Suite into Oracle Internet Directory.
   On Release 12, please refer to "System Administrator's Guide - Security" on Section 6 (Oracle Single Sign-On Integration )

Then  Reregister your E-Business Suite environment using the Bidirectional Provisioning Profile, and enable the APPS_SSO_AUTO_LINK_USER profile option, and set the profile option APPS_SSO_LDAP_SYNC back to Enabled at site level.

b) Export your LDAP namespace from your original Oracle Internet Directory instance into an LDIF file, and then import the LDIF file into the new Oracle Internet Directory instance. Reregister your E-Business Suite environment using the Bidirectional Provisioning Profile, and (assuming that the Oracle Internet Directory accounts are identical to the E-Business Suite accounts) enable the APPS_SSO_AUTO_LINK_USER profile option, and set the profile option APPS_SSO_LDAP_SYNC back to Enabled at site level.

c) Connect the original Oracle Internet Directory instance to your new Oracle Internet Directory instance via a connector, synchronizing the namespaces. Reregister your E-Business Suite environment using the Bidirectional Provisioning Profile, and (assuming that the Oracle Internet Directory accounts are identical to the E-Business Suite accounts) enable the APPS_SSO_AUTO_LINK_USER profile option, and set the profile option APPS_SSO_LDAP_SYNC back to Enabled at site level.

Is it Possible to Clone an SSL Enabled E-Business Suite Middle Tier?



The Rapidclone utility does not support like for like cloning of an SSL enabled E-business suite middle tier.
Note 230672.1 Cloning Oracle Applications Release 11i with Rapid Clone
Note 406982.1 Cloning Oracle Applications Release 12 with Rapid Clone

The problem can be broken down into 3 issues

1:- File system changes.

The location of the SSL files on the clone is different to that from the source. From the bug we can see the following were not the same between source and target.

s_frmWalletDir
s_web_ssl_directory
s_web_ssl_keyfile
s_web_ssl_certfile
s_web_ssl_certchainfile


2:- SSL Port is wrong in the clone.

s_webssl_port - Gets Defaulted to 443, ideally it should take Apache Port given during adcfgclone run.

3:- SSL certificates are the same on the clone as they are on source.

This might be a security issue depending on your security requirements.
 

However
 Rapidclone will create a clone of an SSL enabled middle tier, but the target will require additional configuration to allow it to function correctly. To progress the issue further you must decide if

A:- You want the middle tier clone to be SSL enabled.

Re-implement SSL on the clone following the note below.

Note 123718.1 11i: A Guide to Understanding and Implementing SSL for Oracle Applications

B:- You want the middle tier clone to be HTTP only.

Remove the SSL configuration added in


Note 123718.1 11i: A Guide to Understanding and Implementing SSL for Oracle Applications


Thursday, 30 May 2013

License Manager in oracle applications



License Manager:

After purchasing a license for an Application Product/Module, the first thing is to use license  manager to register that the product/module is now licensed.

·         Register Products
·         Register Language
·         Register Country specific functionalities
·         Create Reports about the Products, Languages, Country specific functionalities already registered

NOTE: License Manager does not set up license agreements or determine pricing.  It only registers products etc

How To License A New Product in Oracle Applications

Step 1 :  Login to  oracle applications home page as SYSADMIN user.

Navigate through --- > System Administrator-- >Oracle Applications Manager--- >License Manager--- >Site Map
Then click on License Manager in Administration Tab to get the below screen,

1234.png

License Manager is a web based utility in Oracle Applications Manager .It consists of License  Manager home page , a group of licensing pages and report pages, as shown in below screenshot







Step 2:-Click on Products link to get below screen

123.png

License E-Business Suite: Select this option to register the predefined E-Business Suite of products.
License Component Application: Select this option to register products by component applications.
License Applications Products: This option becomes visible when Show More Options is selected. Select this option to register Oracle Applications products individually.(This option is under SHOW MORE OPTIONS)

Step 3:-Click on License Component Application and Click on Continue to get below screen

23.png

In this screen License Manager displays the list of Application modules. To see individual components of each module click on module name.
Notice that component Applications that are already registered are grey in color  and checked. Applications that are grayed without a check are for display only and cannot be selected.

Step 4:-Now click on Products what you want register and click next and click on submit to get below screen

jfddfs.png

Click on ok to complete registering product

Step 5:- The Products are now licensed but not ready to be used as none of the Forms/Packages etc would have been compiled and loaded into the Database for these new Products. Use adadmin to generate the files for the new Product

a)Run adadmin and select Generate Application Files Menu and run all the options for the product.
b) Select Compile/Reload Applications Database Entities menu and run all the options for the product.


Wednesday, 15 May 2013

Overview of Inventory





The inventory is a very important part of the Oracle Universal Installer. This is where OUI keeps all information regarding the products installed on a specific machine.

There are two ypes of inventories

1)Global or Central Inventory:- The Global Inventory records the physical location of Oracle products installed on the machine, such as ORACLE_HOMES (RDBMS and IAS) or JRE. It does not have any information about the detail of patches applied to each ORACLE_HOMEs.

The Global Inventory gets updated every time you install or de-install an ORACLE_HOME on the machine, be it through OUI Installer, Rapid Install, or Rapid Clone.

Note: If you need to delete an ORACLE_HOME, you should always do it through the OUI de-installer in order to keep the Global Inventory synchronized.

If  Global Inventory  is lost or corrupted we can regenerate it using runInstaller tool .
There will be only one Global Inventory per machine. Its location is defined by the pointer file

Pointer File:-Pointer File is user to know the location of Global Inventory.Location of pointer file is /etc/oraInst.loc. By looking into the contents of pointer file we can know the  location of global inventory.

2)Local Inventory:- Local inventory contains information of installed softwares which are specific to single ORACLE_HOME.There is one Local Inventory per ORACLE_HOME. It is physically located inside the ORACLE_HOME at $ORACLE_HOME/inventory and contains the detail of the patch level for that ORACLE_HOME.

The Local Inventory gets updated whenever a patch is applied to the ORACLE_HOME, using OUI.

If the Local Inventory becomes corrupt or is lost, this is very difficult to recover, and may result in having to reinstall the ORACLE_HOME and re-apply all patchsets and patches.