Using PSUB in a RAC Environment

Oracle Clinical is certified on an Oracle Real Application Cluster (RAC) configuration to support multiple nodes with failover capabilities. Oracle recommends installing the Oracle Clinical Database Server, which includes the PSUB Server, on at least two RAC nodes. If PSUB goes down on one node, or if the node itself goes down, you can start PSUB on the other node with little interruption of service.

One and only one PSUB process (service) per database is required and can run on any RAC node where the Oracle Clinical database server is installed. Oracle Clinical cannot detect whether multiple PSUB services are running, so results are unpredictable if this is the case.

If the PSUB service fails, there is no notification of it. You must start PSUB manually for that database on the same or a different server and change the value of the SERVER_NAME setting in the OCL_STATE Local Codelist to the new PSUB server.

Tip:

Create the same directory structure for PSUB files on each computer where PSUB may run. That way you do not have to change the OCL_STATE reference codelist value for the five PSUB directories for jobs that use input files; see Creating Directories for Input and Output Files of Certain Job Types.

If you use NFS to share the files, users will still be able to access files for jobs performed on the other node unless the node itself fails.

In the event of a PSUB failure, current PSUB jobs are affected differently based on their state at the time of PSUB failure:

  • SCHEDULED or ENTERED jobs are picked up by the new PSUB service when it is started

  • SUBMITTED jobs must be re-submitted

  • STARTED jobs continue to run if the server is still running, regardless of PSUB status

If the database instance on the PSUB server goes down, but its server is still active, PSUB continues to process jobs for the other database instances in the RAC environment.

PSUB continues to work when nodes are added or removed except when the node running PSUB is removed. In that case, you can start PSUB manually on a different node.