The JobScheduler Master requires a database and/or database schema and a database user.

See the Which Database Management Systems are supported by JobScheduler? article for detailed information about which DBMSs are supported.

Instructions for the creation of the database itself are to be taken from the original database documentation. The JobScheduler setup program will create the necessary database tables if they do not already exist. 

The setup also requires sufficient database permissions for the following statements: DROP, CREATE ROUTINE, ALTER ROUTINE, CREATE VIEW, CREATE TABLE, CREATE INDEX, CREATE TRIGGER, INSERT,UPDATE,DELETE and SELECT.

The database configuration information is saved in the following configuration files:

  • $SCHEDULER_DATA/config/factory.ini (used by JobScheduler) 
  • $SCHEDULER_DATA/config/hibernate.cfg.xml (used by JITL Jobs and JID) 
  • $SCHEDULER_DATA/config/reporting.hibernate.cfg.xml (used by the JobScheduler and JOC Cockpit if a separate Reporting Database is specified ) 
  • $SCHEDULER_DATA/config/sos_settings.ini (used by scheduler_install_tables.(sh|cmd))

The Reporting Database

Up to versions 1.10.x of the JobScheduler, reporting-relevant data such as the task history was stored in the same database(s) as used by the JobScheduler(s) for operating data.

With version 1.11 and the introduction of the JOC Cockpit and JobScheduler Web Services, a separate Reporting Database can be optionally configured to act as central point of storage for the reporting information from a number of JobSchedulers, possibly operating on a number of hosts. The Reporting Database is accessed by the JOC Cockpit and/or another application via the JobScheduler Web Services. See the JOC Cockpit - Architecture article for more information.

The Reporting Database can be operated on a different DBMS to that used by the JobScheduler, within the DBMSs listed in the Which Database Management Systems are supported by JobScheduler? article. 

The Reporting Database should generally be installed before installation of the JobScheduler(s) is/are started as it is specified during the installation of the JobSchedulers that are to use it. However the JobScheduler configuration can be edited manually after installation if required. See the JobScheduler Master Installation - 7 - Manual Configuration article for more information.

Database Drivers

MySql®

Because of licensing restrictions a MySql® JDBC® driver is not provided. Please download a MySql JDBC driver before you start the JobScheduler installer. Alternatively, the MariaDB® JDBC driver, which is delivered with the JobScheduler setup, can be used for MySql.

Microsoft SQL Server and Sybase

Because of licensing restrictions when used with Sybase or Microsoft SQL Server databases, a JDBC driver suitable for the database version being used must be provided by end users themselves. Alternatively, a jTDS JDBC driver, which is delivered with the JobScheduler setup, can be used for Microsoft SQL Server and Sybase databases. Otherwise please download a Microsoft SQL Server or Sybase JDBC driver before you start the JobScheduler installer.

If you want to use a Windows domain user instead of an SQL user for the Microsoft SQL Server connection then please read the How to connect to an SQL Server with a domain account article for more details.

PostgreSQL

PostgreSQL requires PL/pgSQL. Check the languages that are available for your database by using:

createlang -U postgres -l scheduler

where postgres is the user name and scheduler is the database name. createlang is available from the PostgreSQL bin directory. If plpgsql is not be listed in the output of this command then please enable this language using:

createlang -U postgres plpgsql scheduler

The following two PostgreSQL server variables must have the specified values for JobScheduler releases before 1.10.5:

  • standard_conforming_strings = off
  •  bytea_output = 'escape'

For JobScheduler releases starting with 1.10.5 the standard_conforming_strings setting should be "on".

For all those that do not want to change this globally, this setting can be changed on an inidividual user level:

Example: Set standard_conforming_strings and bytea_output per user leve
alter user scheduler set standard_conforming_strings = off; 
alter user scheduler set bytea_output = 'escape';

where scheduler is the user name of the JobScheduler database.

IBM DB2

A license file for the driver is required for IBM® DB2. This driver is copied by the setup into the $SCHEDULER_HOME /lib/user_lib folder as it will also be required by the JobScheduler later on.

Manual Creation of Database Tables

SQL scripts which create the database tables required by the JobScheduler are available if they not have been correctly created by the setup program. These scripts can be run using $SCHEDULER_HOME /install/scheduler_install_tables.(sh|cmd).

Ensure that the database connection is correctly entered in the $SCHEDULER_DATA/config/sos_settings.ini configuration file.