Oracle Database

Important

Oracle DB server support is only available to large enterprise deployments of Canopy. A Premium/Enterprise license for Canopy is required, and an additional support fee is also applicable. This allows us to ensure we can maintain and support this feature for the small number of clients that require it.

Steps

This guide replaces the canopy-setup postgresql step from the main installation guide, all other steps are the same.

Attention

Unlike with PostgreSQL, the database must be provisioned before the installation of Canopy.

  1. Ensure an Oracle Database and credentials have been provisioned. database name, user name, password, hostname, port, etc.

  2. Install Oracle DB client, obtained from Oracle. See Dependencies

  3. Follow the Platform installation guides until the Configuration step.

  4. Configure Canopy’s DATABASE_URL setting for the new database. See Canopy DATABASE_URL Configuration as the bottom of this page.

  5. Continue the Configuration section, skipping the PostgreSQL step.

After all these steps you should have:

  • Installed Canopy, its dependencies (libtidy, rabbitmq, docserver, etc) and license file.

  • Edited canopy.ini to update DATABASE_URL

  • Installed nginx

  • Executed the setupdb step.

  • Created the first admin user.

  • Restarted all the services.

Supported versions

  • Oracle DB 12.2+

Dependencies

Manual download and installation of the Oracle DB client is required as Oracle Corporation does not allow the redistribution of their software.

Please obtain the Oracle instantclient basic 12.2.0.1.0 (oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm) from https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html and install it according to the instructions located at the bottom of the downloads page.

Here is a summary of the steps, please see the link above for the full details.

Firstly download oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm, then as the root user:

  1. yum install ./oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

  2. echo /usr/lib/oracle/12.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig

If that was successful then the following command will give this output:

[root@localhost ~]# ldconfig -p|grep -i clntsh libclntshcore.so.12.1
(libc6,x86-64) => /usr/lib/oracle/12.2/client64/lib/libclntshcore.so.12.1
libclntsh.so.12.1 (libc6,x86-64) =>
/usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1

Note

If Canopy fails to connect to the Oracle DB stating that

libclntsh.so.12.1 cannot be found, then the installation instructions were not followed successfully.

The filenames and directories may vary if a different version is being installed.

Canopy DATABASE_URL Configuration

  1. Open /etc/canopy/canopy.ini in a text editor

  2. Replace the DATABASE_URL line with

DATABASE_URL=oracle://USERNAME:PASSWORD@/DSN

example:

DATABASE_URL=oracle://canopy:canopy@/(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orclpdb1)))
  1. Save and exit the text editor.