How to configure Oracle 12c for Rhythmyx

Introduction to Oracle 12c


Oracle database 12c is claimed to be the world’s first database designed for the cloud. Major changes in Oracle 12c Release 1 are

  1. Multitenant Architecture - enables an Oracle database to function as a multitenant container database (CDB). A CDB includes zero, one, or many customer-created pluggable databases (PDBs).
  2. Multiprocess and multithreaded Oracle Database - uses several processes to run different parts of the Oracle Database code and additional Oracle processes for the users—either one process for each connected user or one or more processes shared by multiple users. More details available in “Process Architecture

Along with these, there are a bunch of new features that are introduced in Oracle 12c Release 1 viz Advanced Index Compression, Attribute clustering, Automatic Big Table Caching and more. This document will focus on the multitenant architecture of Oracle 12c. For details on new features please check references below.

Pluggable database do not start automatically when the Oracle Database 12c server starts up. Although a trigger would help to achieve this. To start the pluggable database otherwise, following sql can be used:


ALTER PLUGGABLE DATABASE <pdb> OPEN;


Rhythmyx Configuration for Oracle Database 12c


Given to the tremendously different architecture used in Oracle Database 12c, there are certain configuration changes that need to be made in Rhythmyx to have it working smooth with Oracle Database 12c.
Following are the steps required:

1. Update the Oracle drivers - Oracle 12c requires ojdbc7.jar. There are two locations in Rhythmyx, that would need to have the previous jar file replaced with this one.
           a. <Rhythmyx_Home>/jdbc/oracle
           b. <Rhythmyx_Home>/AppServer/server/rx/lib

2. Modify <Rhythmyx_Home>/AppServer/server/rx/deploy/rx-ds.xml to now point to the Oracle Database 12c. Please use the following in this configuration:

<datasources>
      <local-tx-datasource>

           <jndi-name>jdbc/RhythmyxData</jndi-name>
           <connection-url>
                           jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<Oracle Database 12c Host>)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<PDB Name>)))
           </connection-url>
           <driver-class>oracle.jdbc.OracleDriver</driver-class>
           <security-domain>rx.datasource.jdbc_RhythmyxData</security-domain>
           <min-pool-size>5</min-pool-size>
           <max-pool-size>100</max-pool-size>
           <idle-timeout-minutes>15</idle-timeout-minutes>
           <background-validation>true</background-validation>
           <background-validation-millis>60000</background-validation-millis>
           <validate-on-match>true</validate-on-match>
           <valid-connection-checker-class-name>
                 org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
           </valid-connection-checker-class-name>
           <exception-sorter-class-name>
                 org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
           </exception-sorter-class-name>
           <metadata>
                 <type-mapping>Oracle8</type-mapping>
           </metadata>
      </local-tx-datasource>
</datasources>

3. It is assumed that the data has been migrated from a previous version of Oracle. If not, then please contact Customer Success to have the correct configuration to use in server-beans.xml file. This file is located at <Rhythmyx_Home>/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring. The bean that would need correct configuration is “<bean class="com.percussion.services.datasource.PSDatasourceConfig" id="RhythmyxData">”.

4. The password which was used with the previous database should NOT be changed. This is because the password is encrypted and stored in Rhythmyx configuration during installation. However, if you choose to change the user name, please modify the login-config.xml file. This file is located at <Rhythmyx_Home>/AppServer/server/rx/conf. Please change the username under the section “<application-policy name="rx.datasource.jdbc_RhythmyxData">”.

5. Rhythmyx needed to undergo some code change to have MSM work with Oracle Database 12c. Please make sure that Patch “730_20141208” is installed while working in Rhythmyx 7.3 with Oracle Database 12c.

      


References

General documentation on Oracle Database 12c
Oracle 12c New Features
Common Users in a CDB