Database Prerequisites

Make sure your database is ready before you install or upgrade Jive.

You'll find that an installation or upgrade goes more smoothly if you complete the database-related tasks first. This is especially true if the database the application will be using is administered separately by a DBA. This section describes the required database tasks. For database best practices, be sure to read Database Issues and Best Practices. To understand typical configurations, see Jive Architecture and Hardware Requirements

  1. Make a backup of your existing database.
  2. Ensure that the target database allows the Jive application's setup tool access to create tables. After you install the Jive application, you'll finish installation (or upgrade) by using Jive's admin tool to connect to the target database. The admin tool will create or upgrade the tables it needs. So ensure that permission to create tables is granted at least until that process is completed.

    For example, if you'll be using an Oracle database for a new installation, you'll be creating a user representing a schema. That schema will be empty until the Jive application's admin tool creates tables in it. Here's an example script for creating such a user:

    create user jiveuser identified by changeme default tablespace jivedata;
    grant create session, create table, create view, create sequence, create procedure, create synonym to jiveuser;
    alter user jiveuser quota unlimited on jivedata;

    The username can be any legal Oracle identifier -- "jiveuser" is just an example. The application does not require a dedicated tablespace, but many DBAs have that practice. The tablespace must be created separately. For more on the create user statement, see the Oracle documentation.

    The database user must not be granted view access to any schema other than the one it owns. During upgrades, the application will read metadata about its tables defined in the database. Since the application does not know what the default schema is, it may inadvertently retrieve information about its tables defined in other schemas. If you have set up application instances using other schemas in the same database, this can result in erroneous information being passed to the application.

    If you absolutely must use a database user with access to other schemas, ensure that there is only one set of application tables defined across all schemas to prevent this object name conflict.

  3. Create or migrate your application database. See Database Upgrades for instructions on migrating an existing database. If you're installing a new instance, create the empty target database before you begin installing the application. Ensure that the new database allows the application setup tool to create tables. After you install, and during setup, the application will connect to your existing database and create the necessary tables.
  4. Confirm that the drivers required for the DBMS you'll be using are installed. Due to licensing restrictions, Jive is unable to ship and install all the drivers for supported DBMSes. Use the following table to determine whether the driver you need is included, and install the driver if it's not.

    To install the driver, add its JAR file path to the CLASSPATH and LD_LIBRARY_PATH variables used in the application's environment. Do this by modifying the /usr/local/jive/applications/<appname>/bin/instance file. Your path to the JAR file may vary depending on which database you're using. Note that you may need to create this directory in your node's file system and place the JAR in it. Here is an example of the variables updated with the path to the JAR file:

    export LD_LIBRARY_PATH=/usr/lib/database_vendor/version/client#/lib:$LD_LIBRARY_PATH
    export CLASSPATH=/usr/lib/database_vendor/version/client#/lib/thejarfile.jar:$CLASSPATH
    DBMS Driver Action Needed
    Oracle Required driver not included. For the web application database(s), use OCI driver version 11.1.0.7.0. For the Activity Engine database, use OCI driver version 11.2.0.2.0. For more information on installing the OCI driver, see the Oracle Instant Client page. Please consult the Oracle documentation to choose the version of the JDBC driver best for you.
    PostgreSQL Required driver included. None.
    MySQL Required driver not included. You'll need to install the correct driver.
    SQL Server Required driver not included. Use the JTDS database driver, available at http://jtds.sourceforge.net.
  5. If you are using a non-PostgreSQL database for the Activity Engine, you will need to install the driver as described above, and also add the driver to the classpath in the /usr/local/jive/services/eae-service/bin/instance file. You need to add this only to the Activity Engine service node. Here is an example:
    export LD_LIBRARY_PATH=/usr/lib/database_vendor/version/client#/lib:$LD_LIBRARY_PATH
    export CLASSPATH=/usr/lib/database_vendor/version/client#/lib/thejarfile.jar:$CLASSPATH