Oracle dSource and VDB operations failing due to UnsatisfiedLinkError (KBA11103)
KBA
KBA#
Issue
Various operations may fail due to the following error(s):
Cannot connect to database: Loading Oracle libraries "/u01/app/oracle/product/19.22.0.0/dbhome_1/lib/libclntsh.so,/u01/app/oracle/product/19.22.0.0/dbhome_1/lib/libocijdbc19.so" failed with an UnsatisfiedLinkError
Cause
Continuous Data Engines access source and target databases using the JDBC libraries from each Oracle home to make a bequeath connection to the instance. Rare combinations of Oracle homes can cause the UnsatisfiedLinkError error when multiple incompatible versions are loaded into the same Delphix client java process.
Prerequisites
This error may occur when a single host (or cluster) has multiple versions of Oracle installed with conflicting shared libraries.
Delphix is unable to provide a comprehensive list of incompatible versions, however the following are known combinations.
Oracle 19.7.x.x | Oracle 19.22.x.x, Oracle 19.22.x.x |
Applicable Delphix Versions
- Click here to view the versions of the Delphix engine to which this article applies
-
Date Release May 22, 2024 23.0.0.0 Apr 17, 2024 | May 8, 2024 22.0.0.0 | 22.0.0.1 Mar 20, 2024 | Apr 2, 2024 21.0.0.0 | 21.0.0.1 Feb 21, 2024 20.0.0.0 Jan 25, 2024 19.0.0.0 Dec 20, 2023 | Jan 10, 2024 18.0.0.0 | 18.0.0.1 Nov 21, 2023 17.0.0.0 Oct 18, 2023 16.0.0.0 Sep 21, 2023 15.0.0.0 Aug 24, 2023 14.0.0.0 Jul 24, 2023 13.0.0.0 Jun 21, 2023 12.0.0.0 May 25, 2023 11.0.0.0 Apr 13, 2023 10.0.0.0 | 10.0.0.1 Mar 13, 2023 | Mar 20, 2023 9.0.0.0 | 9.0.0.1 Feb 13, 2023 8.0.0.0 Jan 12, 2023 7.0.0.0 Releases Prior to 2023 Major Release All Sub Releases 6.0 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1, 6.0.13.0, 6.0.13.1, 6.0.14.0, 6.0.15.0, 6.0.16.0, 6.0.17.0, 6.0.17.1, 6.0.17.2
Resolution
The options for working around this issue currently are:
- Upgrade all databases to the highest Oracle version on the host and remove the old Oracle versions.
- Separate the incompatible Oracle Home versions onto separate hosts.
- Configure a database fallback user. This is a database level user with which the Continuous Data Engine will connect to the database in the case that a bequeath connection fails.
Warning: This is not the recommended approach, as several features require a bequeath connection (such as Multitenant TDE) to operate.
Troubleshooting
This or similar errors may also be encountered due to corrupt Oracle Homes or if the Delphix OS user does not have the appropriate permissions on all required libraries. Before proceeding with any resolution, ensure the prerequisites for this issue apply to the problem environment.
See KBA8428 for troubleshooting general issues with bequeath connections.