You'll find that both installation and upgrade go more smoothly if most database-related tasks are done before you begin installing. This is especially true if the database the application will be using is administered separately by a DBA. This section describes the database tasks that are required for a successful installation.
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 application setup 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.
When creating the database user, the user be 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 setup application instances using other schemas in the same database, this can result in erroneous information 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.
To install the driver, place the driver's JAR file in the application file system where it will be on the classpath, such as at /usr/local/jive/applications/template/application/WEB-INF/lib.
| DBMS | Driver Included | Action Needed |
|---|---|---|
| Oracle | OCI driver required, but not included. (Thin driver is included for evaluation purposes only and should not be used under load.) | 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. |
| PosgreSQL | Required driver included. | None. |
| MySQL | Required driver not included. | You'll need to install the correct driver. |
| SQL Server | Required driver not included. | You'll need to install the correct driver. |
MySQL does not have proper Unicode support, which makes supporting postings in non-Western languages difficult. However, the MySQL JDBC driver has a workaround which you can enable by adding <mysql><useUnicode>true</useUnicode></mysql> to the <database> section of your jive_startup.xml file. When using this setting, you should also set the Jive character encoding to utf-8 in the Admin Console.
MySQL 4.1 introduced better support for character encodings than previous versions. This functionality assigns a default character encoding to the database and its tables and columns. It's best to set the default character encoding for your database before installing the Jive schema so that you can be sure that you will not have encoding problems in the future. After creating your database, execute the following line in the MySQL console:
ALTER DATABASE <database name> DEFAULT CHARACTER SET <character set>;
For example, if you plan on using UTF-8 in Clearspace, you should enable the JDBC driver workaround mentioned above and then execute this line in the MySQL console:
ALTER DATABASE <database name> DEFAULT CHARACTER SET utf8;
You can fix the max attachment size problem on a MySQL server by following the directions here: http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html
The easiest way to change the MySQL server setting on Windows is to add a line to your my.ini file (you'll find this file in a location such as C:\database\mysql\5.0.19); on Linux, look for the my.cnf file instead. Add the following line after the [mysqld] section heading:
max_allowed_packet = 500M
After you add the line, restart MySQL.
When you have the database running on a dedicated server, you should increase the InnoDB buffer pool size from the default (8 MB) to up to 80 percent of the computer's available memory. If the computer has 2 GB of RAM or less, you should think about setting the buffer to something less than 80 percent to ensure that the operating system has enough memory to avoid swapping.
See the MySQL documentation for more on configuration.
SQL Server is case insensitive by default, creating special case sensitivity issues for Jive SBS, which requires a DBMS that matches strings with case sensitivity. The SQL Server issues differ between versions 2005 and 2008.
SQL Server 2005: Switching to case sensitivity in SQL Server 2005 causes Jive SBS to fail because the database also applies the case sensitivity rules to the queries themselves. Therefore, the application can only support SQL Server 2005 with case insensitivity set. However, this also creates a limitation in which the application does not support multiple usernames in which the only difference is case -- such as "Gladys" and "gladys".
SQL Server 2008: You can set SQL Server database and/or server collation (the character set used to store data in text fields) to support case sensitivity. If database collation is not specified, server collation will be used. The collation value you'll need to use is SQL_Latin1_General_CP1_CS_AI.
You'll find more information on adjusting SQL Server settings in the SQL Server documentation: