Database Requirements

You cannot log into CloudBees Flow until a database is configured. During the CloudBees Flow server installation, you can select the built-in (default) CloudBees Flow database (MariaDB) or an alternate database.

If you are using two different CloudBees Flow servers in a non-HA configuration, they cannot point to the same database.

Built-In Database

CloudBees Flow ships with a demo license, which limits the software to two concurrent job steps and the CloudBees Flow-provided built-in database. Running CloudBees Flow on a single machine with the demo license is not recommended for a production environment. Also, the built-in database is not supported in a clustered CloudBees Flow configuration.

In a production configuration, connect CloudBees Flow to a database. If CloudBees Flow is installed with the built-in database, you can reconfigure it to use an external database at any time. For a list of alternate databases supported by CloudBees Flow, see Supported Alternate Databases. For more information and configuration instructions, see External Database Configuration.

Using an external database requires a CloudBees Flow enterprise license. You must configure an external database at the same time as you install your enterprise license to prevent error messages about an unsupported configuration or a license requirement.

Supported Databases

CloudBees Flow supports the following external databases in a production environment:

  • MySQL 5.5.12, 5.6, 5.7 or later

  • Clean installations of the CloudBees Flow server require the MySQL JDBC driver. See Installing the MySQL JDBC Driver .

  • For upgrades, additions to my.cnf/my.ini are required. See Installing the MySQL JDBC Driver .

  • MS SQL Server 2012 (2012 R4 is recommended), 2014, 2016, and 2017

    As of version 9.2, CloudBees Flow has ended support for HTTPS connection types older than TLS 1.2. If you are using MS SQL Server 2012 or 2014, you must update it to support TLS1.2. For details, see the Microsoft TLS 1.2 support for Microsoft SQL Server web page.

  • Oracle 12c, 18c, and 19c

Database Requirements

Configuring UTF-8 Encoding

Databases must be configured to use UTF-8 encoding.

Setting the Open Connections Allowance

Databases must be configured to allow up to 200 open connections.

Setting the Oracle Database Open Cursors Parameter

In an Oracle database, set the OPEN_CURSORS parameter to at least 1000 to prevent CloudBees Flow from running out of open cursors. But depending on your CloudBees Flow server usage, the OPEN_CURSORS value of 1000 might not be sufficient, and you might see java.sql.SQLException: ORA-01000: maximum open cursors exceeded " in the <DATA_DIR>/logs/commander.log file. In this case, you must increase the value of OPEN_CURSORS to one that is optimal depending on your usage.

Disabling SQL Server Database Audit for the First-Time Database Connection

When using Microsoft SQL Server as the alternate database, turn off SQL Server Database Audit before CloudBees Flow connects to the database for the first time to create the user schema. Failing to do so can cause the server startup to be stuck in the “Making any necessary pre-schema-creation database setting changes” step while the CloudBees Flow server attempts to enable snapshot isolation to create the schema. This is a know issue with SQL Server as documented in https://support.microsoft.com/en-us/help/4090966/sql-server-session-hangs-when-you-try-to-enable-snapshot-isolation .

After CloudBees Flow finishes creating the schema and you have verified that you can log in to CloudBees Flow, turn on the SQL Server Database Audit as per your company policy.