For best results and to optimize the features of the Jive installation, configure and maintain the Oracle database based on the vendor's requirements and apply these Jive best practices.
Jive best practices with Oracle database:
- If setting up new Jive systems, the Core and Activity Engine databases can be set up as typical OLTP databases. Set up the Analytics database using the OLAP template.
- Oracle JDBC Drivers must be installed on the application services before the Jive installation. For more information, see Oracle database drivers.
- To ensure good performance, set the following jvm property on each of the web application nodes:
Ensure that the target database allows the Jive application's Setup wizard access to create tables. After installing the Jive application, finish the installation (or upgrade) by using Jive's Setup wizard to connect to the target database. The Setup wizard creates or upgrades the tables it needs. So, ensure that permission to create tables is granted, at least until the upgrade or installation is completed and the application has been restarted.For example, if using an Oracle database for a new installation, a user will be created representing a schema. That schema will be empty until the Setup wizard creates tables in it. Here's an example of a script for creating such a user:
CREATE USER coredb IDENTIFIED BY changeme DEFAULT TABLESPACE jivedata; GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE, CREATE SYNONYM, CREATE TYPE to coredb; ALTER USER coredb QUOTA UNLIMITED ON jivedata;
The username can be any legal Oracle identifier —
coredbis 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 information about the
CREATE USERstatement, refer to 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 reads 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 application instances were set up by using other schemas in the same database, this can result in erroneous information being passed to the application.
If a database user with access to other schemas must be used, ensure that there is only one set of application tables defined across all schemas to prevent this object name conflict.