Monday, January 21, 2019

Upgrading of Oracle APEX 18.x and future

Late September 2018 Oracle Application Express (APEX) 18.2 was released.

Since 2018, Oracle adopts a new versioning for their software, and APEX is following that. The plan of the Oracle APEX development team is to do two releases a year which carry the year and the release number of that year e.g. 18.1, 18.2, 19.1.

I like this new way of providing us with new releases. You don't know the exact timing of the releases, but you know the development team will be close to release version 1 in March/April and version 2 in September/October timeframe. In between you can download one-of patches or patch set releases through Oracle Support.

However there's one important change compared to before you have to be aware of:
every new version of Oracle APEX will be a complete install, with its own schema.

The biggest benefit of this approach is that the downtime to upgrade an Oracle APEX instance can be very minimal and the install is fast. You can read more about it in Maximizing Uptime During an Application Express Upgrade. I believe the Oracle Cloud is a big driver for this, but it benefits us all.

Another benefit is that if you can download and install all APEX releases in Oracle XE more easily. Before if you had installed APEX 5.1.0 and wanted to upgrade to APEX 5.1.2, 5.1.3, 5.1.4 you had to download the software from Oracle Support. But you could only do that with a valid support contract. If you wanted a complete free system with Oracle XE, you could download the latest version of APEX and do a new install and migrate over the workspaces and apps. Since APEX 18 you can always install those versions and APEX itself is doing the migration for you.

Now the biggest disadvantage of this approach is that you can't easily export and import your apps and plug-ins to a different version. Before when you might have Oracle APEX 5.1.0 (released Dec. 2016) in one environment and Oracle APEX 5.1.4 (released Dec. 2017) in another (or anything in between) and you could easily export and import between those environments. Oracle APEX exports have always been compatible till the second dot, so you could export import from any 5.1.x to another 5.1.x. You can import an APEX 18.1 version in an APEX 18.2 environment, but not the other way.

We typically move fast to a new version of APEX as we have to support those versions for APEX Office Print. I also blogged how we upgrade major releases by running multiple PDBs. With APEX 5.0, released in April 2015 and APEX 18.1 released in May 2018, we covered over 3 years in 3 PDBs (1 PDB for every major release of APEX 5.0, 5.1, 18.1). With the new version numbers, with 3 PDBs we cover a maximum of 1.5 years.

If you are aware of this, you can plan your application releases with it. And these new release numbers will make customers probably want to upgrade faster, or at least once a year as numbers go up fast :) As developers it's not only nice to work with new technology, it's also more productive for everyone.

Oracle APEX is not the only software in our stack right? ORDS, SQL Developer, Oracle Database, they follow the new release numbers. ORDS released a few days ago 18.4. The ORDS/SQL Developer/SQLcl team releases every quarter and typically use the quarter of development in their release number.

Tim Hall wrote a nice article on his thoughts on the new release numbers for the Oracle Database.

I love getting new versions and play with the new features or not wait long on bug fixes. We release frequently with APEX Office Print (AOP) too, 10 days ago we released AOP 19.1, but that is for another blog post!

Happy upgrading :)


Sufi House said...

Hello Dimitri,
In our company, some admin upgraded the Apex version from 5.2 to 18.2, now my Favicon is gone my logo is gone, my background images are gone, my carousel image is gone my customized theme is not working, and plug-ins not functioning. What can i do on my side since looks like he doesn't know how to fix it. Thanks

Dimitri Gielis said...

It looks like during the installation of APEX a step was not done; namely, configure ORDS.
Can the admin person run the apex_rest_config.sql

Anonymous said...

Are there any special steps w/ installing APEX 19 on Oracle18XE with specific regards to the CDB/PDB containers? I've installed the DB, run the APEX install scripts, installed ORDS and Tomcat...and I can't it to work. This is a fresh install rather than an upgrade on a Windows 10 platform. I've noticed that not one of the APEX users that get created can connect to the DB via SQL*plus w/o first issuing an alter session to set the container to the PDB where everything is installed. The error I'm getting when trying APEX via the URL is that user APEX cannot connect and the account is either locked (it's not) has a bad password (which works via SQL*Plus) or is expired (it's not)...I'm left scratching my head.

Rather enjoyed your sessions at ODTUG, Seattle...hope to see you in Baltimore / Nashville!


Anonymous said...

Just wanted to drop you a line to let you know the above problem I ran into apparently doesn't exist for the 20.1 version of APEX. Only issue I ran into there was having to point both APEX and ORDS to the CDN site for the static images.