Forum OpenACS Development: Fresh install of OpenACS 5.10 on Oracle 19c

Dear all,

You might have noticed recently various changes on CVS with changes for Oracle. OpenACS core can now be installed on Oracle 19c, which is the Long Term Release of Oracle with a support end date of April 30, 2027.

Since the Oracle setup for is not fully trivial and offers many options, I have saved my installation notes in the wiki.

The installation leads to a development version (acs-core, with locally installed developer support) for performing compatibility tests etc. with Oracle. For getting all application packages fully working is certainly more work. However, one of the intention of this work is to open up a migration path for old Oracle based installations to provide a working acs-core, such these applications can benefit from the recent security, performance and functional improvements in OpenACS. Ideally, these applications have just to care about their "own" packages.

Note that I have mostly worked on new installations under Oracle, and only occasionally added/fixed upgrade scripts. However, legacy installations might find these changes also useful for cherry-picking.

All the best

Posted by Brian Fenton on
Very interesting, Gustaf! Thanks for taking the time to publish this.


Posted by Gustaf Neumann on
Dear all,

one can now install the tip version of the oacs-5-10 branch including the following packages below in Oracle 19c. These are the packages, when "xowiki" is being installed, which also exercises the queries on the database schema substantially.

So far this needed 37 changes. One can search for these changes on Fisheye (thanks Stefan!) by searching for the commits containing "19c":

all the best

acs-admin               ACS Site-Wide Administration  5.10.0
acs-api-browser         ACS API Browser               5.10.0
acs-authentication      ACS Authentication            5.10.0
acs-automated-testing   ACS Automated Testing         5.10.0
acs-bootstrap-installer ACS Bootstrap Installer       5.10.0
acs-content-repository  ACS Content Repository        5.10.0
acs-core-docs           ACS Core Documentation        5.10.0
acs-datetime            ACS Date and Time Utilities   5.10.0
acs-events              ACS Events                    0.6.2d5
acs-kernel              ACS Kernel                    5.10.1d5
acs-lang                ACS Localization              5.10.0
acs-mail-lite           ACS Mail Services Lite        5.10.0
acs-messaging           ACS Messaging                 5.10.0
acs-reference           ACS Reference Data            5.10.0
acs-service-contract    ACS Service Contracts         5.10.0
acs-subsite             ACS Subsite                   5.10.1d1
acs-tcl                 ACS Tcl Library               5.10.1d8
acs-templating          ACS Templating                5.10.1d4
acs-translations        ACS Translation Storage       5.10.0
attachments             Attachments                   0.13
categories              Categories                    1.1.5d4
file-storage            File Storage                  5.10.0
general-comments        General Comments              5.10.0
notifications           Notifications                 5.10.0
oacs-dav                webDAV Support                1.2.0d4
openacs-default-theme   OpenACS Default Theme         5.10.0
ref-countries           Reference Data - Country      5.10.0
ref-language            Reference Data - Language     5.10.0
ref-timezones           Reference Data - Timezone     5.10.0
richtext-ckeditor4      Richtext CKeditor4            0.23
rss-support             RSS Support                   0.5d2
search                  Search                        5.10.0
xotcl-core              XOTcl Core                    5.10.1d4
xowiki                  xowiki                        5.10.1d16

Posted by Gustaf Neumann on
We are now at 47 changes for Oracle, more and more is working. When someone wants to work with this, make sure to get an updated version of nsoracle [1]. The recent changes add timestamps as data types for output columns to the driver. It seems that in the past, the Oracle developers were just returning output fields of type DATE.

Supporting timestamps is necessary when connecting to external databases, and one gets a much better compatibility with the PostgreSQL version. The output format for timestamps can be controlled very similar to DATE via the environment variables NLS_TIMESTAMP_FORMAT and NLS_TIMESTAMP_TZ_FORMAT (see [2](.

all the best