ORDS, SQLcl, APEX via YUM and DNF

TL;DR

BREAKING NEWS!! APEX packages with ORDS and SQLcl now available in Oracle Linux YUM servers and through ULN

The deets

Here is what you need to know. We are releasing three new APEX (a.k.a. “The Artist formerly known as Oracle Application Express”) packages for the following repositories:

  • ol7_oci_included
  • ol8_oci_included
  • ol9_oci_included

NoARCH RPMs

One more update! These RPMs will be packaged as NoArch. This means you will be free to install these on any CPU architecture (Intel x86_64, AMD, and ARM). As a reminder, OCI Always Free tenancy Compute Instances are available with:

  • Micro instances (I’m using a VM.Standard.E2.1.Micro; an AMD processor)
  • Ampere A1 Compute instances (Arm processor)
DOCS: You can review details on our standard Compute Instance shapes as well as those available with an Always Free account.
TIP: These will all be available through both the publicly available Oracle YUM servers and the Unbreakable Linux Network (ULN) channels. 

Fortunately, I was provided advanced copies of the brand-new RPM files that will be included in their respective oci_included repositories. You’ll soon have access to no less than three flavors of APEX (and their dependencies). YUM!

You’ll soon see the following packages:

Oracle Application Express 23.1

NOTE: In this write-up, and the images below, you'll see me reference this as apex-core.

The Oracle Application Express package contains everything you need to install APEX in your database. We also package it with the SQLcl package to simplify installation.

Oracle Application Express Images 23.1

NOTE: In this write-up, and the images below, you'll see me reference this as apex-images.

This Oracle Application Express Images package includes your APEX images (i.e., you may be familiar with this as these are symlinked to your /i/ virtual directory for Oracle APEX images). This package also contains the ORDS package, making it easier to run the APEX image of your choice.

This package will also automatically add a symbolic link (aka symlink) from your APEX images files to your default ORDS doc_root path.

Oracle Application Express Patch Set Bundle 23.1.3

NOTE: In this write-up, and the images below, you'll see me reference this as apex-patch.

The Oracle Application Express Patch Set Bundle provides a means for you to take the latest APEX patch sets, compare them against your existing base APEX images, overwrite those base files with the latest changes, and then place them into their own /opt/oracle/apex/[latest patch]/images directory. Oh, and you’ll also retain the APEX base images in their own /opt/oracle/apex/[apex base]/images directory too!

And when you’re ready, you can update APEX in your database with the latest patches. The package even symlinks the newest patch set images to your APEX installation’s virtual image directory (i.e., the /i/ directory). And finally, we automatically symlink (as mentioned in the Oracle Application Express Images 23.1 section) this folder to your default ORDS doc_root path.

REMEMBER: If you create a Compute Instance in OCI, these repositories will automatically be accessible to you (if you aren't though, check this resource out to get set up)!

A YUM, DNF, and Oracle Linux reminder

A week ago, I had limited (i.e., zero) experience with the Linux package managers Yellowdog Updater Modified (YUM) and Dandified YUM (DNF). But since then, I’ve tinkered around with Oracle Linux (OL) quite a bit. I even successfully installed Oracle Linux 8 (OL8) on an old Raspberry PI 3 Model B V1.2 (which, if you can believe it, was first released in 2016)!

PAUSE: If you want to see a tutorial of I how I did this, let me know in the comments, or @ me on Twitter/X or Threads.

Exploring OL8 and OCI Compute Instances

If you have an OCI Always Free account, you too can get acquainted with Oracle Linux 8 (OL8), as that is provided when creating a new Compute Instance in your OCI tenancy.

reviewing-instance-image-and-shape-yum-ol8-dnf-rpm-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions

After creating that Instance, you can SSH into it and check out what Oracle Linux ships with. Once in, use one of these commands (depending on the version):

# Command for Oracle Linux 7:
yum list *release-el7

# Command for Oracle Linux 8:
dnf list *release-el8

# Command for Oracle Linux 9:
dnf list *release-el9

And here I am checking the packages and repositories (with the dnf list *release-ol8 command) in my Compute Instance:

dnf-list-release-command-for-oracle-linux-info-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions

Since I first created this Compute Instance, I’ve been tinkering with DNF and the repositories, so your output might look different. But at a minimum, you can expect to see the ol8_oci_included and ol8_baseos_latest repositories.

Oracle Database Tools via YUM or DNF

NOTE: This next section WILL NOT apply if you are working with the Oracle Linux that is provided in your OCI Compute Instance!!!

You won’t find a direct link to our Database Tools repository if you do this independently (i.e., not creating an OCI Compute Instance as I did). That is an easy fix; you can manually configure the repositories.

NOTE: If you are doing this through OCI (as in with a newly-created Compute Instance), you won't need to configure this, it will be included in the ol8_oci_included repository (this applies to OL7 and OL9 too)!

But for manual configuration, here are the direct links for the available Oracle Linux versions (you’ll want to use whichever one corresponds to your Linux version):

  • Oracle Linux 7 http://yum.oracle.com/repo/OracleLinux/OL7/oracle/software/x86_64
  • Oracle Linux 8 http://yum.oracle.com/repo/OracleLinux/OL8/oracle/software/x86_64

You can manually configure the repositories like this:

adding-database-tools-repository-via-dnf-on-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions

You can then inspect the packages in this repository with the following command:

dnf repository-packages [the repo id] info --all
inspecting-the-newly-created-repository-and-packages-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions

I can now download our ORDS and SQLcl packages, our two must-haves:

In the above images, you can see these packages are being installed from the ol8_oci_included repository. This is because Compute Instances in OCI automatically have access to the Unbreakable Linux Network (ULN); you can read all about it in the OCI documentation found here.

NOTE: Once again, taking the extra step to configure this additional repository is unnecessary; I'm only demonstrating how to do it if you are working with something other than an OCI Compute Instance.

The big reveal/super secret surprise

If you’ve been working with Linux (and specifically Oracle Linux), then none of this will be much of a surprise to you. And you probably (definitely) know more about this than I do. But what you DON’T know is that we are releasing three new APEX packages for the ol7_oci_included, ol8_oci_included, and ol9_oci_included repositories.

Since I know a guy (thanks, Adrian 🤫), I was provided advanced copies of the brand-new RPM files that will be included in the respective oci_included repositories. You’ll soon have access to three flavors of APEX (and their dependencies):

Oracle Application Express 23.1

The Oracle Application Express package contains everything you need to install APEX in your database. We also package it with the SQLcl package to simplify installation.

Oracle Application Express Images 23.1

The Oracle Application Express Images package includes your APEX images (i.e., you may be familiar with this as these are symlinked to your /i/ virtual directory). This package also contains the ORDS package, making it easier to run the APEX image of your choice.

It will also automatically add a symbolic link (aka symlink) from your APEX image files to your default ORDS doc_root path.

Oracle Application Express Patch Set Bundle 23.1.3

The Oracle Application Express Patch Set Bundle provides a means for you to take the latest APEX patch sets, compare them against your existing base APEX images, overwrite those base files with the latest changes, and then place them into their own /opt/oracle/apex/[latest patch]/images directory. Oh, and you’ll also retain the APEX base images in their own /opt/oracle/apex/[apex base]/images directory too!

And when you’re ready, you can update APEX in your database with the latest patches. The package even symlinks the newest patch set images to your APEX installation’s virtual image directory (i.e., the /i/ directory). And finally, we automatically symlink (as mentioned in the Oracle Application Express Images 23.1 section) this folder to your default ORDS doc_root path.

REMEMBER: If you create a Compute Instance in OCI, these repositories will automatically be accessible to you (if you aren't though, check this resource out to get set up)!

That was a lot of words. But in practice, the following images illustrate what to expect when you issue the dnf install command (for the APEX-CORE or APEX-IMAGES packages).

APEX-CORE

REMINDER: The official package name will be Oracle Application Express 23.1.
rpm-installing-apex-core-package-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions
APEX-CORE install via a local RPM
completing-the-package-installation-for-apex-core-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions
Completing the APEX-CORE package installation, revealing helpful installation information

APEX-IMAGES

REMINDER: The official package name will be Oracle Application Express Images 23.1.

Alternatively, you may also decide to install the APEX-IMAGES packages (if you intend on using many versions of APEX along with its ORDS companion):

completing-the-package-installation-for-apex-images-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions
APEX-IMAGES install via a local RPM
completing-the-package-installation-for-apex-images-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions
Completing the APEX-IMAGES package installation, revealing helpful installation information

Once these packages are available in the ol7_oci_included, ol8_oci_included, and ol9_oci_included repositories, install commands become much more straightforward. You won’t have to bother with the individual RPM files; you can issue either the yum install or dnf install commands.

NOTE: We switched to DNF for OL8 and later but the commands are symlink'd so I believe either will work. You can read about that here.

The only thing you have to do now is decide which packages you’ll want to install!

Check for updates

This last section is just a reminder. If you haven’t done so yet, check for updates to all your repositories (namely the ol7_oci_included, ol8_oci_included, and ol9_oci_included repositories).

TIP: You can issue the yum --help or dnf --help command to refresh your memory on which "update" command to use. 
issuing-dnf-help-command-oracle-linux-8-chris-hoina-senior-product-manager-oracle-database-ords-sqlcl-actions

But once again, I suspect you already know how to do this if you have more than a week’s experience with Oracle Linux, YUM, or DNF. Be on the lookout for updates to the Oracle Linux release notes too!

Other stuff

The end.

Follow

And don’t forget to follow, like, subscribe, share, taunt, troll, or stalk me!

3 thoughts on “ORDS, SQLcl, APEX via YUM and DNF”

    • Hi pnt,

      It looks like we notified the OLN/YUM team of the updated RPMs in early August, and they were in the respective repos in mid-August. It also looks like the OLN/YUM team updates weekly, sometimes multiple times weekly. I’ve contacted that team for further info, but nothing yet. The short answer is, it depends. Probably more so depends on the individual product teams. If I hear back from those guys, I’ll update this reply too.

      Thanks for the question!

      Chris

      Reply
    • Hi again,

      I heard back from the team…it looks like in our case, five days. These patches are done on an “as-requested” basis. So if a team is really “on it”, you can expect to see it in the repo within 7 business days. But it really depends on the team. In fact, the release itself takes less than 24 hours. So if its a popular RPM, then its reasonable to expect it’ll be updated shortly after the patch is live. I hope this helps.

      Thanks again for the question 🙂

      Chris

      Reply

Leave a Comment