Database requirements

2 minute read

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

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

Refer to the following sections for required and recommended CloudBees CD/RO database specifications.

Built-in database

CloudBees CD ships with a demo license, which limits the software to two concurrent job steps and the CloudBees CD-provided built-in database. Running CloudBees CD 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 CD configuration.

In a production configuration, connect CloudBees CD to a database. If CloudBees CD is installed with the built-in database, you can reconfigure it to use an external database at any time. For more information and configuration instructions, see External database configuration.

Using an external database requires a CloudBees CD 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

For a complete list of officially supported databases for CloudBees CD/RO, refer to:

Database configuration recommendations

Refer to the table below for database configuration recommendations, based on the size of your deployment. Databases must be configured to use UTF-8 encoding and they must allow up to 200 open connections. These recommendations are applicable to both traditional and Kubernetes installations.

The following guidelines are a recommended starting point. You may need to scale up, based on your environment and needs.
Small to mid-range deployments Large deployments Very large deployments
  • <1K jobs per day

  • <10 pipeline runs per day

  • < 50K job steps

  • ~ 10K jobs per day

  • ~ 20 pipeline runs per day

  • ~ 500K job steps per day

  • ~ 100K jobs per day

  • ~ 200 pipeline runs per day

  • ~ 5M job steps per day

Recommended database:

Any supported database type - Mysql, MS SQL Server, Oracle

Recommended database:

Oracle or MS SQL Server

Recommended database:

Oracle or MS SQL Server

Processor (CPU): 4 core processor

Processor (CPU): 8 core processor

Processor (CPU): 16 core processor

Available RAM: 16 GB

Available RAM: 20 GB or more

Available RAM: 20 GB or more

Specific database requirements

Refer to the sections below for specific requirements for Oracle and Microsoft SQL databases.

Setting the Oracle Database Open Cursors Parameter

In an Oracle database, set the OPEN_CURSORS parameter to at least 1000 to prevent CloudBees CD from running out of open cursors. But depending on your CloudBees CD 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 CD 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 CD server attempts to enable snapshot isolation to create the schema. This is a know issue with SQL Server as documented in the article SQL Server session hangs when you try to enable snapshot isolation .

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