I recently presented my views on upgrading to Oracle 19c to the DOAG community. As part of that I pointed out how easy it was to deploy the Instant Client on a VM using yum and dnf. I previously wrote about the installation of the Instant Client in an on-premises configuration.
UPDATE 250220: the post has been updated for Oracle Linux 8.10 x86-64
This post describes the (admittedly short) procedure how to deploy the current Instant Client 23ai to an Oracle Linux 8.10 x64-64 installation. The steps in this post should also allow you to deploy the Instant Client in an on-premises environment the same way.
The OCI VM I created is as vanilla as it gets, I didn’t even put it under OS Management control.
Initial Deployment
After the VM has been provisioned, I found the following repositories enabled:
[opc@demohost ~]$ sudo dnf repolist
repo id repo name
ol8_MySQL84 MySQL 8.4 Server Community for Oracle Linux 8 (x86_64)
ol8_MySQL84_tools_community MySQL 8.4 Tools Community for Oracle Linux 8 (x86_64)
ol8_MySQL_connectors_community MySQL Connectors Community for Oracle Linux 8 (x86_64)
ol8_UEKR7 Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8 (x86_64)
ol8_addons Oracle Linux 8 Addons (x86_64)
ol8_appstream Oracle Linux 8 Application Stream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64)
ol8_ksplice Ksplice for Oracle Linux 8 (x86_64)
ol8_oci_included Oracle Software for OCI users on Oracle Linux 8 (x86_64)
A quick search for the Instant Client reveals the following hits:
[opc@demohost ~]$ sudo dnf search instantclient
Last metadata expiration check: 0:00:45 ago on Thu 20 Feb 2025 11:25:51 AM GMT.
============================================= Name Matched: instantclient ==============================================
oracle-instantclient-release-23ai-el8.src : Oracle Software yum repository configuration
oracle-instantclient-release-23ai-el8.x86_64 : Oracle Software yum repository configuration
oracle-instantclient-release-el8.src : Oracle Instant Client yum repository configuration
oracle-instantclient-release-el8.x86_64 : Oracle Instant Client yum repository configuration
That isn’t the actual Instant Client though, as a closer look reveals:
[opc@demohost ~]$ sudo dnf info oracle-instantclient-release-23ai-el8.x86_64
Last metadata expiration check: 0:01:42 ago on Thu 20 Feb 2025 11:25:51 AM GMT.
Available Packages
Name : oracle-instantclient-release-23ai-el8
Version : 1.0
Release : 4.el8
Architecture : x86_64
Size : 17 k
Source : oracle-instantclient-release-23ai-el8-1.0-4.el8.src.rpm
Repository : ol8_baseos_latest
Summary : Oracle Software yum repository configuration
License : GPLv2
Description : This package contains the Oracle Software yum repository configuration.
Rather than the Instant Client, this package contains the metadata required by dnf to install the Instant Client.
Add the Repository
So let’s add the repository:
[opc@demohost ~]$ sudo dnf install oracle-instantclient-release-23ai-el8.x86_64
Last metadata expiration check: 0:02:59 ago on Thu 20 Feb 2025 11:25:51 AM GMT.
Dependencies resolved.
========================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================
Installing:
oracle-instantclient-release-23ai-el8 x86_64 1.0-4.el8 ol8_baseos_latest 17 k
Transaction Summary
========================================================================================================================
Install 1 Package
Total download size: 17 k
Installed size: 18 k
Is this ok [y/N]: y
Downloading Packages:
oracle-instantclient-release-23ai-el8-1.0-4.el8.x86_64.rpm 465 kB/s | 17 kB 00:00
------------------------------------------------------------------------------------------------------------------------
Total 440 kB/s | 17 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : oracle-instantclient-release-23ai-el8-1.0-4.el8.x86_64 1/1
Running scriptlet: oracle-instantclient-release-23ai-el8-1.0-4.el8.x86_64 1/1
Verifying : oracle-instantclient-release-23ai-el8-1.0-4.el8.x86_64 1/1
Installed:
oracle-instantclient-release-23ai-el8-1.0-4.el8.x86_64
Complete!
With the repository configuration in place I should be able to install the Instant Client next.
Installing the Instant Client
The next search for the Instant Client is more successful. The repository configuration is added automatically, refreshed, and dnf presented the following hits:
[opc@demohost ~]$ sudo dnf search instantclient
Oracle Instant Client 23 for Oracle Linux 8 - License Included (x86_64) 76 kB/s | 9.5 kB 00:00
============================================= Name Matched: instantclient ==============================================
oracle-instantclient-basic.x86_64 : Oracle Instant Client Basic package
oracle-instantclient-basiclite.x86_64 : Oracle Instant Client Light package
oracle-instantclient-devel.x86_64 : Development header files for Oracle Instant Client.
oracle-instantclient-jdbc.x86_64 : Supplemental JDBC features for the Oracle Instant Client
oracle-instantclient-odbc.x86_64 : Oracle Instant Client ODBC
oracle-instantclient-release-23ai-el8.x86_64 : Oracle Software yum repository configuration
oracle-instantclient-release-23ai-el8.src : Oracle Software yum repository configuration
oracle-instantclient-release-el8.src : Oracle Instant Client yum repository configuration
oracle-instantclient-release-el8.x86_64 : Oracle Instant Client yum repository configuration
oracle-instantclient-sqlplus.x86_64 : Oracle Instant Client SQL*Plus package
oracle-instantclient-tools.x86_64 : Tools for Oracle Instant Client
I wanted to use SQL*Plus, which should pull the dependent *basic package as well. And it does:
[opc@demohost ~]$ sudo dnf install -y oracle-instantclient-sqlplus
Last metadata expiration check: 0:00:45 ago on Thu 20 Feb 2025 11:29:14 AM GMT.
Dependencies resolved.
========================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================
Installing:
oracle-instantclient-sqlplus x86_64 23.7.0.25.01-1.el8 ol8_oracle_instantclient23 4.6 M
Installing dependencies:
oracle-instantclient-basic x86_64 23.7.0.25.01-1.el8 ol8_oracle_instantclient23 79 M
Transaction Summary
========================================================================================================================
Install 2 Packages
Total download size: 84 M
Installed size: 341 M
Downloading Packages:
(1/2): oracle-instantclient-sqlplus-23.7.0.25.01-1.el8.x86_64.rpm 19 MB/s | 4.6 MB 00:00
(2/2): oracle-instantclient-basic-23.7.0.25.01-1.el8.x86_64.rpm 58 MB/s | 79 MB 00:01
------------------------------------------------------------------------------------------------------------------------
Total 61 MB/s | 84 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : oracle-instantclient-basic-23.7.0.25.01-1.el8.x86_64 1/2
Running scriptlet: oracle-instantclient-basic-23.7.0.25.01-1.el8.x86_64 1/2
Installing : oracle-instantclient-sqlplus-23.7.0.25.01-1.el8.x86_64 2/2
Running scriptlet: oracle-instantclient-sqlplus-23.7.0.25.01-1.el8.x86_64 2/2
Verifying : oracle-instantclient-basic-23.7.0.25.01-1.el8.x86_64 1/2
Verifying : oracle-instantclient-sqlplus-23.7.0.25.01-1.el8.x86_64 2/2
Installed:
oracle-instantclient-basic-23.7.0.25.01-1.el8.x86_64 oracle-instantclient-sqlplus-23.7.0.25.01-1.el8.x86_64
Complete!
Thankfully, sqlplus is in the path, and can be executed without setting PATH, or LD_LIBRARY_PATH.
[opc@demohost ~]$ sqlplus -V
SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.7.0.25.01
Nice! It’s even better to see that all Instant Clients are available on yum.oracle.com, too:
- Instant Client 19c for Linux x86-64
- Instant Client 21c for Linux x86-64
- Instant Client 23ai for Linux x86-64
Have fun!