Installing a Database
- 1 Overview
- 2 Database Management Systems
- 2.1 MySQL
- 2.2 Microsoft SQL Server
- 2.3 Oracle
- 2.3.1 Oracle Options
- 2.3.1.1 Setting open_cursors Value for Large Imports
- 2.3.1.2 Checking the Current Value of open_cursors
- 2.3.1.3 Setting a New Value for open_cursors
- 2.3.1.4 Character Sets
- 2.3.1.5 Block Size
- 2.3.1 Oracle Options
Overview
Universal Controller can use a database space of an existing database or you can install a database specifically for the Controller.
We recommend an initial size of 100MB.
Note
In a High Availability environment, each cluster node connects to the same database.
Database Permissions
In order to install Universal Controller, the database user configured for the Controller will require DDL (Data Definition Language) permission in the database during the install.
Once the install has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions for running the Controller.
Database Management Systems
The following database management systems are supported:
Databases that are compatible with and use the same JDBC drivers as the supported databases are also supported, for example AWS RDS (MySQL), MariaDB (MySQL), or Azure SQL Database (SQL Server). We recommend that customers periodically review the database documentation for Incompatibilities and Feature Differences as these may change over time.
MySQL
Info
MySQL 8.0.x is supported.
Step 1 | Download MySQL installation instructions. |
|---|---|
Step 2 | Download MySQL (Windows only).
|
Step 3 | Install MySQL as per the instructions. |
Step 4 | Make a note of the user ID and password to be used later when installing the Controller. |
Step 5 | The database will be created automatically when you select MySQL during the Controller installation process. |
MySQL Options
The following enhancements can be made to your MySQL database.
Speeding Up MySQL Performance
For Windows installations, you can speed up MySQL performance by adding the following parameter to the appropriate MySQL.ini file:
innodb_flush_log_at_trx_commit=0
For more information about this parameter, see the MySQL documentation:
Setting the MySQL max_allowed_packet Configuration Variable
A communication packet is a single SQL statement sent to the MySQL server, a single row that is sent to the client, or a binary log event sent from a master replication server to a slave.
If you want the Controller to handle big packets, you must increase the MySQL max_allowed_packet configuration variable on the database server.
For detailed information about this variable, refer to:
MySQL SSL/TLS Configuration
If you use SSL/TLS for JDBC communication to your MySQL environment, some additional configuration is required (depending on your needs).
The MySQL configuration property sslMode can be used to control the SSL behavior for database connections.
By default, network connections are SSL encrypted; the sslMode property permits secure connections to be turned off or different levels of security to be selected.
The following sslMode values are allowed:
sslMode Value | Description |
|---|---|
"DISABLED" | Establish unencrypted connections. |
"PREFERRED" | Establish encrypted connections if the server enabled them, otherwise fall back to unencrypted connections. (Default value) |
"REQUIRED" | Establish secure connections if the server enabled them, fail otherwise. |
"VERIFY_CA" | Similar to REQUIRED; but additionally, verify the server TLS certificate against the configured Certificate Authority (CA) certificates. |
"VERIFY_IDENTITY" | Similar to VERIFY_CA; but additionally, verify that the server certificate matches the host to which the connection is attempted. |