Thinking Anew

Keep Your APEX Images Updated

Spider Web

As Uncle Ben would say, “Remember, with great power, comes great responsibility.” With the release of Oracle REST Data Services (ORDS) version 19.4.6, many of us were eager to deploy a customer-managed ORDS solution in order to support vanity URLs with Oracle Application Express (APEX), myself included. It has worked well for me until a few days ago, I noticed that my Oracle JET charts weren’t loading any more.

A quick check showed multiple HTTP 404 errors were triggered. APEX was referencing a newer Oracle JET version, 8.3.0 insted of the stock 8.0.0.

One of the key benefits of running APEX on an Oracle Autonomous Database is auto-patching, and clearly something got updated in the recent days. True enough, an updated Patch Set Bundle (PSE) was released on July 20, 2020 (Source: https://apex.oracle.com/download).

On the Known Issues page, it states:

With 20.1, we integrated the following third party libraries: Oracle JET 8.0.0, jQuery 3.4.1, jQuery Migrate 3.0.1, and jQuery FullCalendar 3.10.0. Upgraded versions of these libraries have been made available: Oracle JET 8.3.0, jQuery 3.5.1, jQuery Migrate 3.3.0, and jQuery FullCalendar 3.10.2.

Here’s what I did to get my server updated.

  1. Login to Oracle Support and search 30990551, or simply click here

  2. Download the patch. The file name should be p30990551_2010_Generic.zip.

    Important

    You will need an active support contract in order to download the PSE.

  3. Upload the patch to the Compute instance hosting ORDS. Place the file in the /tmp directory.

  4. Login to the server as the user opc, using SSH.

  5. Set the environment variables:

    1
    2
    3
    RELEASE=20.1.0.00.13
    PATCHNUM=30990551
    PATCHFILE=p30990551_2010_Generic.zip
  6. Execute the following:

    1
    2
    3
    4
    mkdir -p /tmp/$RELEASE
    unzip /tmp/$PATCHFILE "$PATCHNUM/images/*" -d /tmp/$RELEASE
    cp -R /tmp/$RELEASE/$PATCHNUM/images/* /opt/oracle/apex/images/$RELEASE
    rm -rf /tmp/$RELEASE

That’s it!

Photo Credits

Photo by ArtTower