Oracle database support in LMS deprecation

Oracle database support in LMS deprecation

by Matt Porritt -
Number of replies: 0
Picture of Core developers Picture of Moodle HQ

Hi All,

We are making a change to Oracle DB support in Moodle LMS. The next LMS LTS release, version 4.5 (due for release 7 October 2024) will be the last version that supports Oracle as a database architecture. Oracle has not been a recommended database for Moodle installs for quite a while.

There are two main reasons why we are ceasing Oracle support now. The first reason is that PHP has recently voted to unbundle pdo_oci and ext/oci from PHP in version 8.4 (scheduled for release November 2024) and put them into PECL. The only “maintenance” that has been performed on the Oracle libraries in PHP by its current maintainer over the past few years is the removal of tests, removing support for Oracle 10.1, and to fix one segfault 2 years ago. Therefore, it is likely that the PHP support once unbundled from core PHP will sit, and eventually “die” when some breaking change is made to PHP.

The second reason is the lack of use of Oracle as a database for Moodle LMS coupled with the support overhead. Currently there are approximately 43,000 registered LMS sites reporting database architecture, (reporting was only added for this in 4.2). Out of these sites there are zero using Oracle. However, the support burden is not zero, we still test against Oracle instances as part of our manual and automated testing. Developers also have to make sure any custom queries they use are compatible with all the database types that LMS supports.

The removal of Oracle database support from Moodle will involve the following steps:

Moodle 4.4 & Moodle 4.5 LTS:

  • Oracle will still be supported as a Database
  • An environment check will issue a warning for sites on Oracle, stating that is not recommended, and version 4.5 will be the last version offering Oracle compatibility.
  • Only patches for Oracle bugs will be accepted, not new functionality. Code where custom SQL queries are required, will still need to support all databases.
  • Testing activities will continue.

Moodle 4.6 (version after LTS)

  • Environment check will error if Oracle is being used
  • Oracle libraries and Oracle-specific libraries will be removed from core
  • There are no plans to include the removed libraries as plugins.

There is further information related to this change in our tracker: MDL-80166

If the PECL library does become adequately maintained between now and the release of Moodle 4.5 then we may consider keeping it in core LMS. 

If you currently use Oracle for your Moodle LMS instance we encourage you to reach out to Oracle via your support contract and request them to engage with the PHP community, and to start maintaining the PECL library. If you need assistance with migrating away from Oracle to another database we encourage you to reach out to one of our Moodle Certified Partners for assistance.

Finally, we encourage everyone to check and make sure your site is registered. The more sites that are registered the better understanding we have on how Moodle LMS is used globally.

Kind Regards,

Matt Porritt
Platform Manager, LMS

Average of ratings: Useful (8)