February 14, 2026

Dealing with the "Stuck" Workflow Mailer in EBS 12.2: A Practical Guide

 

We’ve all been there. You just finished a fresh clone from Production to Test. The post-clone steps are done, the services are coming up, but then you hit a wall: the Workflow Notification Mailer is stuck.

In a recent project for a customer, we observed this exact scenario. After a successful clone, the mailer was perpetually stuck in a "Starting" phase.

When this happens on a freshly cloned instance, it’s rarely a simple service glitch  - it’s usually an "identity crisis" caused by stale configurations and stubborn database locks.

The Problem: New Credentials vs. Old State

After cloning, the Test environment still carries the Production SMTP and IMAP settings. Naturally, you have to update these fields—changing the server name which should point to correct smtp address and a valid credential to match the test mailboxes




The issue? The Mailer tries to initialize using the new credentials you just entered, but it gets tripped up by the "Running" state and old control messages carried over from the Production snapshot. It’s trying to start a new conversation while still holding onto the old one.


The Root Cause: "Identity Crisis"

When you clone EBS, the target database essentially wakes up thinking it is still the source. Even after running adcfgclone and autoconfig, the Workflow Advanced Queues (AQ) can still hold references or "cached" states from the Production environment.

In this case, the mailer was trying to initialize, but it was tripping over old control messages and orphaned process IDs that didn't exist on the new Test server.

The Recovery Strategy: How We Broke the Deadlock

Clearing the Database Block

Our first instinct was to reset the status manually, but the UPDATE statement hung. We realized a blocking session was holding a lock on the fnd_svc_components table.

  • The Fix: We identified the blocking session and killed it at the database level.

Once the lock was cleared, we successfully forced the status to 'STOPPED'


To check workflow mailer status:-

SQL> SELECT component_status

FROM fnd_svc_components

WHERE component_name = 'Workflow Notification Mailer';

 


Find out the session stuck with 'FND_SVC_COMPONENTS' component

SQL> SELECT

    l.session_id AS blocking_session,

    s.username,

    s.osuser,

    s.program,

    s.status,

    s.last_call_et AS seconds_in_wait

FROM v$locked_object l

JOIN v$session s ON l.session_id = s.sid

WHERE l.object_id in (SELECT object_id FROM all_objects WHERE object_name = 'FND_SVC_COMPONENTS');

 


Kill the Session

If the query above returns a row, you need to "kill" that session to release the lock. Replace SID and SERIAL# with the values found from the query:

SQL> Alter system kill session ‘sid , serial#’ immediate;


Update the fnd_svc_components table forcefully as stopped.

SQL> UPDATE fnd_svc_components

SET component_status = 'STOPPED'

WHERE component_name = 'Workflow Notification Mailer';


Reset the main component status

SQL>UPDATE fnd_svc_comp_requests

SET component_status = 'STOPPED'

WHERE component_id = (SELECT component_id FROM fnd_svc_components WHERE component_name = 'Workflow Notification Mailer');

SQL> COMMIT;



Also, you must check the OS level. If there is a "zombie" process, the Mailer will never start correctly even after the SQL update.

ps -ef | grep FNDCPGSC

If a process exists, use kill -9 <PID>.

 


Once above steps are done, try to Workflow notification mailer. It should get started.

September 12, 2025

Datapatch Fails in Oracle 12c on Windows – Root Cause and Step-by-Step Fix

  

Recently, while applying a patch on an Oracle 12c (12.2.0.1) database on Windows, I ran into a frustrating issue: datapatch kept failing with cryptic errors.

D:\oracle\product\12.2.0\dbhome\bin>D:\oracle\product\12.2.0\dbhome\OPatch\datapatch -verbose

SQL Patching tool version 12.2.0.1.0 Production on Fri Sep 12 09:11:37 2025

Copyright (c) 2012, 2021, Oracle.  All rights reserved.

 

Log file for this invocation: D:\oracle\product\12.2.0\dbhome\cfgtoollogs\sqlpatch\sqlpatch_5332_2025_09_12_09_11_37\sqlpatch_invocation.log

 

Connecting to database...

Connection using O/S authentication failed.

Enter userid that can connect as SYSDBA: sys

Enter password for sys:

Connecting to database...OK

 

catconInit failed, exiting

 

Please refer to MOS Note 1609718.1 and/or the invocation log

D:\oracle\product\12.2.0\dbhome\cfgtoollogs\sqlpatch\sqlpatch_5332_2025_09_12_09_11_37\sqlpatch_invocation.log

for information on how to resolve the above errors.


After verifying the logs pointed to catcon.pl and sqlpatch_catcon_*.log,  the real culprit turned out to be something deceptively simple — the wrong SQL*Plus version was being used.

SQL*Plus: Release 10.1.0.5.0 - Production

ORA-12560: TNS:protocol adapter error

SP2-0640: Not connected

 

 

This was strange because I was patching a 12.2 database — why would it use a 10.1 client?

Root Cause:-

On Windows, datapatch invokes SQL*Plus internally via catcon.pl. It will pick up the first sqlplus.exe it finds in the system PATH.


To verify this I ran in cmd

D:\oracle\product\12.2.0\dbhome\bin>where sqlplus

D:\oracle\product\12.2.0\dbhome\bin\sqlplus.exe  ← correct (12.2)

D:\oracle\developer\BIN\sqlplus.exe  ← wrong (10.1, Oracle Developer 10g)

 

Since the Developer 10g client was earlier in the PATH, datapatch tried to use that. And of course, a 10g SQL*Plus cannot talk to a 12c database.


Solution:-

1. Quick Fix (per session)

Run these commands in your Command Prompt before executing datapatch:

set ORACLE_HOME=D:\oracle\product\12.2.0\dbhome

set ORACLE_SID=ORCL

set PATH=%ORACLE_HOME%\bin;%PATH%

 

cd %ORACLE_HOME%\OPatch

datapatch -verbose

 

 

This forces Windows to use the 12.2 SQL*Plus first and the datapatch was successful.

 

2. Permanent Fix (system-wide)

  • Go to System PropertiesEnvironment Variables
  • Edit the PATH variable


Move

D:\oracle\product\12.2.0\dbhome\bin

above:

D:\oracle\developer\BIN

 

Or remove the old Developer path completely if you no longer need it.

 

June 9, 2025

How to Recreate the Patch File System in Oracle EBS R12.2 – Step-by-Step Guide


Env details:-

EBS Version: R12.2.5

AD/TXK Delta Patch level: 10

OS : OEL 7.9

Step 1: Source the Run Edition Environment

Before beginning, source the environment of the currently active run edition:

[appltest@testapp ~]$ . /apdata/erp/EBSapps.env run

 

 

  E-Business Suite Environment Information

  ----------------------------------------

  RUN File System           : /apdata/erp/fs2/EBSapps/appl

  PATCH File System         : /apdata/erp/fs1/EBSapps/appl

  Non-Editioned File System : /apdata/erp/fs_ne

 

 

  DB Host: testdb.suprajit.com  Service/SID: TEST

 

 

  Sourcing the RUN File System ...

 

Step 2. Verify Admin Server Status:

[appltest@testapp ~]$ $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh status

 

You are running adadminsrvctl.sh version 120.10.12020000.10

 

Enter the WebLogic Admin password:

Enter the APPS Schema password:

 

 The AdminServer is not running

 

 

If not running, start it:

[appltest@testapp ~]$ $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start

Enter the WebLogic Admin password:

Enter the APPS Schema password:

Starting WLS Admin Server...

 

 

 

Step 3. Execute Preclone on Apps Tier:

[appltest@testapp ~]$ cd $INST_TOP/admin/scripts

[appltest@testapp scripts]$ perl adpreclone.pl appsTier

 

 

Step 4: Detach Existing Patch Oracle Homes

Navigate to the OUI Binary Directory:

[appltest@testapp scripts]$  cd $FMW_HOME/oracle_common/oui/bin

 

This step is performed from the RUN file-system which will detach oracle_homes on the PATCH file-system

Replace {oracle_home_path} with the actual paths:

Please note that we are removing ORACLE_HOME registered with patch file system only.

 

./runInstaller -detachhome ORACLE_HOME={oracle_home_path} -silent

 

For example:

[appltest@testapp bin]$ ./runInstaller -detachhome ORACLE_HOME=/apdata/erp/fs1/FMW_Home/Oracle_EBS-app1 -silent

 

[appltest@testapp bin]$ ./runInstaller -detachhome ORACLE_HOME=/apdata/erp/fs1/FMW_Home/webtier -silent

 

[appltest@testapp bin]$ ./runInstaller -detachhome ORACLE_HOME=/apdata/erp/fs1/FMW_Home/oracle_common -silent

 

 

Remove the 10.1.2 Oracle Home

[appltest@testapp bin]$ ./runInstaller -removeHome ORACLE_HOME=/apdata/erp/fs1/EBSapps/10.1.2 -silent

 

 

Step 5: Replicate Run File System to Patch File System

Ensure Run Environment is Down (optional but recommended):

[appltest@testapp bin]$ $ADMIN_SCRIPTS_HOME/adstpall.sh

 

 

 

Copy directories from RUN to Patch filesystem

[appltest@testapp bin]$ cd $RUN_BASE

[appltest@testapp fs2]$ pwd

/apdata/erp/fs2

[appltest@testapp fs2]$ ls

EBSapps  FMW_Home  inst

[appltest@testapp fs2]$ cp -r EBSapps /apdata/erp/fs1/

 

Remove Existing FMW_Home in Patch File System:

[appltest@testapp]$  rm -rf /apdata/erp/fs1/FMW_Home

 

Step 6: Disable ebs_logon Trigger

Connect to the Database:

[oratest@testdb ~]$ sqlplus / as sysdba

 

SQL> ALTER TRIGGER system.ebs_logon DISABLE;

 

Trigger altered.

 

Step 7: Configure the Patch File System

Login to application server and open a new termina.

Unset any application environment file

Navigate to Clone Directory:

[appltest@testapp ~]$ cd /apdata/erp/fs1/EBSapps/comn/clone/bin/

[appltest@testapp bin]$ perl adcfgclone.pl appsTier

 

                     Copyright (c) 2002, 2015 Oracle Corporation

                        Redwood Shores, California, USA

 

                        Oracle E-Business Suite Rapid Clone

 

                                 Version 12.2

 

                      adcfgclone Version 120.63.12020000.60

 

                ***********************************************************

                In AD-TXK Delta 7, we recommend you clone the run and patch

                file systems in a single operation using the 'dualfs' option.

                Separate cloning of the run and patch file systems will be deprecated

                ************************************************************

 

Enter the APPS password :

 

Enter the Weblogic AdminServer password :

 

Do you want to add a node (yes/no) [no] :

 

 

Running: Context clone...

 

Log file located at /apdata/erp/fs1/EBSapps/comn/clone/bin/CloneContext_0607140046.log

 

Target System File Edition type [run] : patch

 

Enter the full path of Run File System Context file : /apdata/erp/fs2/inst/apps/TEST_testapp/appl/admin/TEST_testapp.xml

 

Provide the values required for creation of the new APPL_TOP Context file.

 

Target System Fusion Middleware Home set to /apdata/erp/fs1/FMW_Home

 

Target System Web Oracle Home set to /apdata/erp/fs1/FMW_Home/webtier

 

Target System Appl TOP set to /apdata/erp/fs1/EBSapps/appl

 

Target System COMMON TOP set to /apdata/erp/fs1/EBSapps/comn

 

Target System Instance Top set to /apdata/erp/fs1/inst/apps/TEST_testapp

 

Target System Port Pool [0-99] : 21

  

During the prompts:

  • Add a Node: no
  • Run File System Context File: Provide the absolute path.
  • Port Pool: Choose a value different from the run file system (e.g., if run uses 0, patch can use 10).

Step 8: Verify File System Roles

 

[appltest@testapp bin]$ source /apdata/erp/EBSapps.env patch

 

[appltest@testapp bin]$ echo $FILE_EDITION

Patch

 

 

Step 9: Synchronize File Systems Using fs_clone

[appltest@testapp bin]$ source /apdata/erp/EBSapps.env run

 

[appltest@testapp scripts]$ adop phase=fs_clone force=yes

 

 

This step ensures both file systems are in sync.

 

Step 10: Re-enable ebs_logon Trigger

[oratest@testdb admin]$ sqlplus / as sysdba

 

SQL> ALTER TRIGGER system.ebs_logon enable;

 

Conclusion

Recreating the patch file system in Oracle EBS R12.2 is a meticulous process that ensures the integrity and availability of your application. By following these steps diligently, you can maintain a robust environment ready for online patching and minimal downtime.

 

 

 

June 6, 2025

Fixing adcfgclone.pl Failure in EBS R12.2 Due to Registered Oracle Homes

 

Error Message

While running adcfgclone.pl on the application tier run file system during a fresh EBS R12.2 clone, the following error occurred:

Below Oracle Homes are already registered in the inventory:

/apdata/erp/fs2/FMW_Home/Oracle_EBS-app1

/apdata/erp/fs2/FMW_Home/webtier

/apdata/erp/fs2/FMW_Home/oracle_common

 Exiting Cloning...

 Ensure that the above Oracle Homes are unregistered from the inventory "/apdata/oraInventory/ContentsXML/inventory.xml" and re-run adcfgclone.pl script

 

Root Cause

The error is self-explanatory: the listed Oracle Homes are already registered in the Oracle Inventory (inventory.xml), which conflicts with the clone process.

This often happens when:

  • A previous clone attempt was incomplete.
  • The file system was restored or copied from another instance without unregistering Oracle Homes.

 

Solution: Unregister the Oracle Homes

To resolve the issue, you need to unregister the listed Oracle Homes from the global inventory using runInstaller.

🔹 Step-by-Step Instructions

  1. Log in to the application server as the OS user (e.g., appltest).
  2. Navigate to the oui/bin directory under $FMW_HOME:

Login to application server

 

 [appltest@testapp ]$ cd $FMW_HOME/oui/bin

 

In this example, $FMW_HOME is /apdata/erp/fs2/EBSapps/10.1.2

3.      Run the following commands to remove each of the registered homes from inventory:

[appltest@testapp ]$./runInstaller -silent -deinstall REMOVE_HOMES={"/apdata/erp/fs2/FMW_Home/Oracle_EBS-app1"}

 

[appltest@testapp ]$./runInstaller -silent -deinstall REMOVE_HOMES={"/apdata/erp/fs2/FMW_Home/webtier"}

 

[appltest@testapp ]$./runInstaller -silent -deinstall REMOVE_HOMES={"/apdata/erp/fs2/FMW_Home/oracle_common"}

 

Each command will unregister one Oracle Home from the central inventory without actually deleting the directory or binaries.

 

Final Step

After unregistering the Oracle Homes successfully, re-run the Application Tier clone:

[appltest@testapp ] $COMMON_TOP/clone/bin/adcfgclone.pl appsTier

 

This time, the script should proceed without encountering the registration error.

May 21, 2025

How to Apply WebLogic Server Patch 33494814 (PSU for 12.2.1.4.0) – Step-by-Step Guide

 

Apply WLS Patch Set Update 10.3.6.0.220118 on EBS R12.2

Oracle E-Business Suite R12.2 environments depend on WebLogic Server as a core component of the application tier. Keeping WebLogic up to date with the latest PSU (Patch Set Update) is essential for stability, security, and compliance with Oracle’s support policies.

In this guide, we’ll walk through how to apply WebLogic PSU Patch 33494814 — the April 2025 update for Oracle WebLogic Server 12.2.1.4.0 — in the context of an EBS R12.2 environment.

This step-by-step tutorial covers prerequisites, patch download, backup recommendations, OPatch commands, and post-patch validation — all tailored specifically for Oracle EBS admins managing the WebLogic component.

Environment : EBS R12.2

Download following patches

1. Patch 12426828 (SMARTUPDATE 3.3 INSTALLER PLACEHOLDER)
2. Patch 31136426 (SMART UPDATE TOOL ENHANCEMENT V4)

3. Patch 33528262_R12_GENERIC (EBS REHOSTED: 33494814 WLS PATCH SET UPDATE 10.3.6.0.220118)

First two patches Patch 12426828 and 31136426 is highly recommended to apply to speed bsu utility which is used to apply the patch.

Unzip p12426828_1035_Generic and apply

[appltest@testapp patch]$ java -jar patch-client-installer330_generic32.jar

- Select “Middleware Home” (/apdata/erp/fs2/FMW_Home) you would like Smart Update to be installed to

- Select “Typical Installation”

- Complete the installation

 

Now, Unzip p31136426_1036_Generic and copy it inside  $MW_HOME/utils/bsu directory

Copy following files

[appltest@testapp patch]$ unzip p31136426_1036_Generic

[appltest@testapp patch]$ cp -r bsu_update.sh bsu_update.bat bsu_update /apdata/erp/fs2/FMW_Home/utils/bsu

 

[appltest@testapp patch]$ cd /apdata/erp/fs2/FMW_Home/utils/bsu

Run bsu_update.sh to upgrade

[appltest@testapp bsu]$ ./bsu_update.sh install

 

Unzip p33528262_R12_GENERIC to receive p33494814_1036_Generic.zip

Now copy p33494814_1036_Generic.zip inside

/apdata/erp/fs2/FMW_Home/utils/bsu/cache_dir and unzip it

[appltest@testapp bsu]$ cp -r p33494814_1036_Generic.zip /apdata/erp/fs2/FMW_Home/utils/bsu/cache_dir

[appltest@testapp bsu]$ cd /apdata/erp/fs2/FMW_Home/utils/bsu/cache_dir

[appltest@testapp bsu]$ unzip p33494814_1036_Generic.zip

 

[appltest@testapp bsu]$ ./bsu.sh -install -patchlist=HYG5 -patch_download_dir=/apdata/erp/fs2/FMW_Home/utils/bsu/cache_dir -verbose -prod_dir=/apdata/erp/fs2/FMW_Home/wlserver_10.3

Checking for conflicts.......

Conflict(s) detected - resolve conflict condition and execute patch installation again

Conflict condition details follow:

Patch MXLE is mutually exclusive and cannot coexist with patch(es): K25M,KRDE,EQDE,YVDZ,QMJP,YHJK,Z9PC,XNBA,9KCT

 

As we can see, it reports conflicting patches which need to be removed first. These patches need to be removed in this order as they have internal dependencies.

[appltest@testapp bsu]$ ./bsu.sh -remove -patchlist=EQDE,Z9PC,KRDE,9KCT,QMJP -prod_dir=/apdata/erp/fs2/FMW_Home/wlserver_10.3

[appltest@testapp bsu]$ ./bsu.sh -remove -patchlist=K25M,YVDZ,YHJK,XNBA -prod_dir=/apdata/erp/fs2/FMW_Home/wlserver_10.3

 

Now retry to install the patch again

[appltest@testapp bsu]$ ./bsu.sh -install -patchlist=HYG5 -patch_download_dir=/apdata/erp/fs2/FMW_Home/utils/bsu/cache_dir -verbose -prod_dir=/apdata/erp/fs2/FMW_Home/wlserver_10.3

 

This time the patch was installed successfully.

Frequently Asked Questions

Q1: What is PSU in WebLogic?
A PSU (Patch Set Update) in WebLogic is a collection of critical bug fixes and security updates released by Oracle on a quarterly basis.

Q2: Can I apply a PSU while WebLogic is running?
No. You must shut down the WebLogic server instances before applying the patch using OPatch.

Q3: Where can I download WebLogic PSU patches?
You can download PSU patches from Oracle Support using your valid MOS credentials and patch number.

May 17, 2025

Datapatch Failed After applying Oracle 19c PSU Apr 2025? How Disabling WMSYS Triggers Saved the Day

 

Recently we faced one issue while applying DB PSU Apr 2025 patch on oracle database 19c.

The error was like below.

 

$ ./datapatch -verbose

/u01/oracle/cfgtoollogs/sqlpatch/37642901/27123174/37642901_apply_NONPROD_2025May17_03_54_30.log (errors)

  -> Error at line 27817: script rdbms/admin/owmcvws.plb

      - ORA-04088: error during execution of trigger 'WMSYS.NO_VM_DDL'

      - ORA-00604: error occurred at recursive SQL level 2

      - ORA-04061: existing state of  has been invalidated

      - ORA-04061: existing state of package body "WMSYS.LT_CTX_PKG" has been

      - invalidated

      - ORA-04065: not executed, altered or dropped package body "WMSYS.LT_CTX_PKG"

      - ORA-06508: PL/SQL: could not find program unit being called: "WMSYS.LT_CTX_PKG"

      - ORA-06512: at "WMSYS.LTADM", line 9800

      - ORA-04061: existing state of package body "WMSYS.LT_CTX_PKG" has been

      - invalidated

      - ORA-04065: not executed, altered or dropped package body "WMSYS.LT_CTX_PKG"

      - ORA-06508: PL/SQL: could not find program unit being called: "WMSYS.LT_CTX_PKG"

      - ORA-06512: at "WMSYS.LTADM", line 9532

      - ORA-06512: at "WMSYS.OWM_DYNSQL_ACCESS", line 549

      - ORA-06512: at line 17

      - ORA-06512: at line 7

      - ORA-06512: at line 7

  -> Error at line 28420: script rdbms/admin/owmcvws.plb

      - ORA-04088: error during execution of trigger 'WMSYS.NO_VM_DDL'

      - ORA-00604: error occurred at recursive SQL level 1

      - ORA-04068: existing state of packages has been discarded

      - ORA-04061: existing state of package body "WMSYS.LTUTIL" has been invalidated

      - ORA-04065: not executed, altered or dropped package body "WMSYS.LTUTIL"

      - ORA-06508: PL/SQL: could not find program unit being called: "WMSYS.LTUTIL"

      - ORA-06512: at "WMSYS.LTADM", line 9437

      - ORA-06512: at "WMSYS.OWM_DYNSQL_ACCESS", line 544

      - ORA-06512: at line 15

Please refer to MOS Note 1609718.1 and/or the invocation log

/u01/oracle/cfgtoollogs/sqlpatch/sqlpatch_30994_2025_05_17_03_52_45/sqlpatch_invocation.log

for information on how to resolve the above errors.

 

SQL Patching tool complete on Sat May 17 03:55:35 2025

Solution:-

To resolve the issue we did following

Step 1: Disable WMSYS Triggers

Run this as SYS:

SQL> BEGIN

  EXECUTE IMMEDIATE 'ALTER TRIGGER WMSYS.NO_VM_DDL DISABLE';

  EXECUTE IMMEDIATE 'ALTER TRIGGER WMSYS.REFRESH_ON_ALTER DISABLE';

  EXECUTE IMMEDIATE 'ALTER TRIGGER WMSYS.ADD_OBJ_TRIGGER DISABLE';

EXCEPTION

  WHEN OTHERS THEN

    DBMS_OUTPUT.put_line(SQLERRM);

END;

/

 

 

Step 2: Recompile WMSYS Schema

SQL> BEGIN

  DBMS_UTILITY.compile_schema(schema => 'WMSYS', compile_all => TRUE);

END;

/

 

Step 3: Rerun datapatch

 

cd $ORACLE_HOME/OPatch

./datapatch -verbose

 

This time we didn’t face the error as mentioned above. So disable the triggers mentioned above fixed the issue.

 

Step 4: Re-enable the Triggers

SQL>BEGIN

  EXECUTE IMMEDIATE 'ALTER TRIGGER WMSYS.NO_VM_DDL ENABLE';

  EXECUTE IMMEDIATE 'ALTER TRIGGER WMSYS.REFRESH_ON_ALTER ENABLE';

  EXECUTE IMMEDIATE 'ALTER TRIGGER WMSYS.ADD_OBJ_TRIGGER ENABLE';

EXCEPTION

  WHEN OTHERS THEN

    DBMS_OUTPUT.put_line(SQLERRM);

END;

/

 

 

Now when we checked dba_registry_sqlpatch we could see the patch application was successful.



May 14, 2025

LsInventorySession failed: Oracle Home inventory cannot be loaded.

Error:-

LsInventorySession failed: Oracle Home inventory cannot be loaded.

 

Recently , while trying to get output from opatch lsinventory we faced following error.

[oratest@non-prod-db OPatch]$ ./opatch lsinventory

Oracle Interim Patch Installer version 12.1.0.1.10

Copyright (c) 2025, Oracle Corporation.  All rights reserved.

 

 

Oracle Home       : /dbtest/dbdata/erp/12.1.0

Central Inventory : /dbtest/dbdata/oraInventory

   from           : /dbtest/dbdata/erp/12.1.0/oraInst.loc

OPatch version    : 12.1.0.1.10

OUI version       : 12.1.0.2.0

Log file location : /dbtest/dbdata/erp/12.1.0/cfgtoollogs/opatch/opatch2025-05-14_14-03-27PM_1.log

 

List of Homes on this system:

 

Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

Possible causes are:

   Oracle Home dir. path does not exist in Central Inventory

   Oracle Home is a symbolic link

   Oracle Home inventory is corrupted

LsInventorySession failed: Oracle Home inventory cannot be loaded.

 

OPatch failed with error code 73

 

The Common Causes of above issues are

  1. Oracle Home is not registered in the Central Inventory
  2. Corrupt or missing inventory.xml
  3. Oracle Home is a symbolic link
  4. File permissions issues
  5. Incorrect oraInst.loc path or content

 

 

 

 

Verify oraInst.loc

Check the content of the file:

[oratest@non-prod-db OPatch]$ cat /dbtest/dbdata/erp/12.1.0/oraInst.loc

inventory_loc=/dbtest/dbdata/oraInventory

inst_group=oinstall

 

So the content of oraInst.loc looks fine and pointing to correct Central Inventory directory which actually exists and accessible.

 

Check for the Inventory File

[oratest@non-prod-db OPatch]$ ls -l /dbtest/dbdata/oraInventory/ContentsXML/inventory.xml

ls: cannot access /dbtest/dbdata/oraInventory/ContentsXML/inventory.xml: No such file or directory

 

So while checking the inventory.xml we found that the file is missing. which confirms the central inventory is broken or uninitialized, which is why opatch lsinventory is failing.

 

We will need to re-register Oracle Home with the central inventory using the runInstaller tool.

·         Backup Inventory Directory (Optional but Recommended)

$mv /dbtest/dbdata/oraInventory /dbtest/dbdata/oraInventory_backup_$(date +%Y%m%d)

 

·         Create a Fresh Inventory Directory:-

mkdir -p /dbtest/dbdata/oraInventory/ContentsXML

chown -R oratest:oinstall /dbtest/dbdata/oraInventory

chmod -R 775 /dbtest/dbdata/oraInventory

 

·         Re-register the Oracle Home

[oratest@non-prod-db OPatch]$ /dbtest/dbdata/erp/12.1.0/oui/bin/runInstaller -silent -attachHome ORACLE_HOME="/dbtest/dbdata/erp/12.1.0" ORACLE_HOME_NAME="OraHome1"

Starting Oracle Universal Installer...

 

Checking swap space: must be greater than 500 MB.   Actual 32700 MB    Passed

The inventory pointer is located at /etc/oraInst.loc

'AttachHome' was successful.

 

Now , lets try opatch lsinventory

[oratest@non-prod-db OPatch]$ ./opatch lsinventory

Oracle Interim Patch Installer version 12.1.0.1.10

Copyright (c) 2025, Oracle Corporation.  All rights reserved.

 

Oracle Home       : /dbtest/dbdata/erp/12.1.0

Central Inventory : /dbtest/dbdata/oraInventory

   from           : /dbtest/dbdata/erp/12.1.0/oraInst.loc

OPatch version    : 12.1.0.1.10

OUI version       : 12.1.0.2.0

Log file location : /dbtest/dbdata/erp/12.1.0/cfgtoollogs/opatch/opatch2025-05-14_14-08-28PM_1.log

 

Lsinventory Output file location : /dbtest/dbdata/erp/12.1.0/cfgtoollogs/opatch/lsinv/lsinventory2025-05-14_14-08-28PM.txt

 

--------------------------------------------------------------------------------

Local Machine Information::

Hostname: non-prod-db.com

ARU platform id: 226

ARU platform description:: Linux x86-64

 Installed Top-level Products (2):

 

Oracle Database 12c                                                  12.1.0.2.0

Oracle Database 12c Examples                                         12.1.0.2.0

There are 2 products installed in this Oracle Home.

 

 Interim patches (35) :

 

Patch  25305405     : applied on Tue Feb 13 16:12:11 IST 2018

Unique Patch ID:  21701443

   Created on 9 Nov 2017, 03:39:35 hrs PST8PDT

   Bugs fixed:

     25305405

 

Patch  25906117     : applied on Tue Feb 13 16:05:01 IST 2018

Unique Patch ID:  21296770

   Created on 26 May 2017, 03:18:37 hrs PST8PDT

   Bugs fixed:

     25906117

 

--------------------------------------------------------------------------------

 

OPatch succeeded.

 

So, this is how issue was resolved.


Dealing with the "Stuck" Workflow Mailer in EBS 12.2: A Practical Guide

  We’ve all been there. You just finished a fresh clone from Production to Test. The post-clone steps are done, the services are coming up, ...