Feature Wiki

Information about planned and released features

Tabs

Abandon Oracle Support

1 Requirements

With the migration from MDB2 to PDO we decided not to migrate the Oracle-Classes to PDO since it has been experimental at this stage. Therefore the Oracle-MDB2-Classes do not support PHP7. With ILIAS 5.4 it will only support PHP7 and further, no longer PHP5.x. The Oracle-MDB2-Classes won't be migrated.

We will remove all the MDB2-Classes and with them also the Support for Oracle in ILIAS 5.4.

Request to remove Oracle Support, when migrating to PDO instead of MDB2.

  • Oracle Support in PDO is experimental http://php.net/manual/de/ref.pdo-oci.php
  • It would take significant effort to maintain oracle support with pdo
  • The combination PHP+Oracle is not very common and has some quite noticable performance overhead - other db backends seem to have much better php-implementation, which offer better performance - currently it is not advisable to use ILIAS with oracle, although it is possible
  • There are no known ilias installation with recent ILIAS Versions (>4.1) - correct me, if I am wrong - the 2 known installations still use ILIAS 4.1 and are *not* going to update ILIAS.

2 Additional Information

3 Discussion

Killing, Alexander [alex], 7 May 2015: Since we have already our wrapper (ilDB) around the current "db abstraction" (MDB2), wouldn't it be possible to route our Oracle class to MDB2 and the MySQL one to PDO?

Fred Neumann [fneumann], 19 Mai 2015: I faced the mentioned problems with PDO and Oracle when working for another project with the Yii php framework. For this framework I found a solution that simulates the PDO interface through the native oci8 functions:
http://www.yiiframework.com/extension/oci8pdo/
Additionally I had to take care of the automated uppercase conversion of unquoted table and column names by oracle. And I had to convert clob contents in query results from OCI-LOB objects to strings.

Killing, Alexander [alex], 12 June 2015: We had a virtual meeting on the PDO topic among the developers yesterday. And even if developer struggle with supporting Oracle sometimes, a majority thinks that we should keep the Oracle support, if possible.

Kunkel, Matthias [mkunkel], June 12, 2015: Does it make sense to keep the request open if the majority of developers has voted against abandonning Oracle support? It might lead to misunderstandings...

Schmid, Fabian [fschmid], June 15, 2015: We agree that the oracle-support can be marketing-relevant for the Projekt, but currently ILIAS is not tested with Oracle. Since there is no testing and no test/dev-Environment we still suggest the Oracle-Support as a feature to abandon.

Amstutz, Timon [amstutz], June 15, 2015: In the virtual meeting of the SIG-Performance we agreed that the concept for replacing PDO/MDB2 should handle Oracle databases. It is correct, that the majority of the participating developers spoke out or voted to keep the support for oracle. 

There were also developers that voiced their opinion against supporting oracle in the feature mainly due to issues the additional testing overhead. Maybe a proper solution for this can be found in a future solution (a first step will be sketched out in the concept), but maybe the additional overhead remains the same.

Keeping oracle support or not is a decision that must be made by the JF. The SIG-Performance and it's participants can not do that. Therefore we should keep this request open, until a final decision is made. The concept might be helpful to make this decision.

My personal opinion: If we really want to keep oracle supported, we must have an official oracle test instance. 

Killing, Alexander [alex], 24 Aug 2015: I support the idea to have a test instance that is accessible for all. Setting up an oracle instance seems to be a major obstacle at least for some developers. Running all Testrail cases on an Oracle installation, too, is something I think we should not do without funding by users that are using Oracle. It is a commercial product. "Supporting Oracle" in my opinion just means that Oracle based bugs can be reported in our bug tracker and developers will handle them like all other bug reports. And as Timon wrote, this should be discussed in th JF again.

Kunkel, Matthias [mkunkel], Nov 09, 2015: We will postpone a decision on Oracle support and wait for the result of the PDO feasibility study.

Schmid, Fabian [fschmid], Apr 13, 2018: I updated the request slightly and changed the Metadata to propose this again for ILIAS 5.4. As the Maintainer of the Database-Abstraction I highly appreciate this request.

Seeland, Per Pascal [PerPascalSeeland], Apr 23, 2018: Would removing Oracle support also allow for droping the sequence tables? 

JourFixe, ILIAS [jourfixe], 07 May 2018 : We highly appreciate this suggestion and abandon the support of Oracle with ILIAS 5.4. Removal of sequence tables is a different discussion.

4 Implementation

...

Last edited: 15. Dec 2021, 09:09, Schmid, Fabian [fschmid]