Installing Oracle OCI Drivers for Jive SBS

Version 11

    We recently had to go through this exercise, and seeing that there wasn't much guidance on this...thought i'd drop off some steps that worked for us.  We've been running Jive Clearspace/SBS since version 2.5, and recently added a new SBS 4.x instance based on our previous knowledge.  While functional, we missed the recommendations in the documentation that were added.  What used to be provided as THE MEANS of connecting to Oracle DB, is now considered only for evaluation.  Per updated documentation in the Jive SBS 4.0.x Reference Library (in regards to the use of Oracle).

     

    Here are the steps we followed:

     

    Download  the appropriate OCI drivers from Oracle's website:

    • Version 11.2.0.2.0 - Basic Lite - Download ZIP/RPM (login required) - 08/01/2011
      • Web App Node - Same Core Dump Issue (uses Proxool, instead of c3p0) (as of 5.0.1)
      • EAE Service Recommended Version (uses c3p0, instead of Proxool) (as of 5.0.1)
        • Thin Driver is OK to Use
    • Version 11.1.0.7.0 - Basic Lite - Download the ZIP/RPM. (login required) - 08/01/2011
      • Web App Node - (uses Proxool, instead of c3p0) (as of 5.0.1)
        • OCI Driver should be used to bypass issues with Proxool Pooling
      • EAE Service Recommended Version (uses c3p0, instead of Proxool) (as of 5.0.1)
        • Requires fixes in 11.2 regarding named parameters in JDBC.

     

    Quick Guide:

    Version
    Component
    Oracle OCI Version
    4.5.x, 5.0.xCore11.1.0.7.0 - Basic Lite
    5.0.x+EAE11.2.0.2.0 - Basic Lite

     

    Install the RPM or unzip files to their desired directory, make sure that the jive OS user has at least READ access to all files:

    For purposes of this document, we will assume, /usr/lib/oracle

     

    /usr/local/jive/applications/sbs/bin/instance

    Added the following variables so Oracle could locate it's OS libraries and such that the JARs would be on the classpath

    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/oracle"
    export CLASSPATH="$CLASSPATH:/usr/lib/oracle/ojdbc6.jar"

     

    As of Jive 5, you will also need to do this to the /usr/local/jive/services/eae-services/bin/instance, since it acts as its own service ... it has its own DB configuration.

    Note:  Per the above issue, you will need this to be on 11.2.0.2.0 to avoid issues.

     

    /usr/local/jive/applications/sbs/home/jive_startup.xml

    Updated our JDBC Connection String from oracle:thin to oracle:oci

    Updated 04/28/2011:

    Recently migrated from TNS Listeners to Oracle Services as part of a RAC migration, in doing so the JDBC Connection URI format changes.

    According to this document:  http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/urls.htm

    the connection string should look like this (below) when using OCI + Oracle Services:


    jdbc:oracle:oci:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=YOUR.HOST.ADDRESS)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=YOUR_SERVICE_NAME.world)))

    Started the SBS instance, and everything appears to be working fine.

     

    Hopefully, this will help those that find previous discussions, such as this:

    How to change Oracle driver from 'thin' to 'OCI' in Jive