Installing a Database
Overview
Universal Data Mover Gateway 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.
Database Permissions
In order to install Universal Data Mover Gateway, the database user configured for the UDMG Server requires DDL (Data Definition Language) permission in the database during the install and during the migration steps for release upgrade.
Once the install has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions for running the UDMG Server.
Database Management Systems
The following database management systems are supported:
MySQL | 8.0.x |
---|---|
PostgreSQL | 12, 13, 14, 15 |
Oracle | 19c, 21c |
Microsoft SQL Server | 2019, 2022 |
Note
Databases that are compatible with and use the same drivers as the supported databases are also supported, for example, AWS RDS (MySQL), MariaDB (MySQL), AWS RDS (Oracle). We recommend that customers periodically review the database documentation for incompatibilities and feature differences as these may change over time.
Below are the generic steps for the preparation of a database instance for UDMG and how this can be done for the different database types.
- database server
- database instance
- database user
Depending on the exact flavor, database type, environment topology, and other performance or security requirements, more advanced configuration parameters or procedures may be needed that are not in scope for this guide.
Once the database user is ready, the database parameters can be setup in UDMG Server configuration. The database content is initialized on the first execution and further maintained during release upgrades (see the "Upgrading UDMG Server" in the Linux and Windows installation guides)
MySQL
Note
MySQL versions 8.0.x are supported.
Install MySQL server for Linux
Step 1 | Download MySQL installation instructions. |
---|---|
Step 2 | Download the installation package from the official MySQL site.
|
Step 3 | Install MySQL as per the instructions.
|
Install MySQL server for Windows
Step 1 | Download MySQL installation instructions. |
---|---|
Step 2 | Download the installation package from the official MySQL site.
|
Step 3 | Install MySQL as per the instructions. |
Common configuration
Step 1 | Create a blank database on the server. An already existing database can be used, but this is not recommended. mysql> CREATE DATABASE udmg; Note Depending on the database flavor and version, the default encoding may not be fit for the language and the characters that will be used in the file names. MariaDB [(none)]> CREATE DATABASE udmg DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; |
---|---|
Step 2 | Add the user that will be the owner of the UDMG database objects and the operation user which which the UDMG Server connects to the database. The username name and password will be written in the UDMG Server configuration file. To install or perform upgrades, this database user requires DDL (Data Definition Language) permission in the database during the installation or upgrade. mysql> CREATE USER 'udmg_user'@ IDENTIFIED BY 'udmg_password'; |
Step 3 | UDMG Server requires the ability to create functions and triggers during the initial installation and release upgrades MySQL has several limitations regarding the creation of stored procedures and triggers which usually require the owner to have the SUPER privilege. This can be relaxed by enabling the system variable log_bin_trust_function_creators. Either permanently by adding the following to the mysql.ini configuration file and restarting the database service:
Or by setting the global variable only for the duration of the UDMG Server installation or upgrade:
Note Depending on the MySQL version and the database configuration (binlog_format), a deprecated warning message may appear. More specifically, bin_log_format and the related variables are deprecated as of MySQL 8.0.34: |
PostgreSQL
Note
PostgreSQL versions 12, 13, 14, and 15 are supported.
PostgreSQL for Linux
Create a blank database on the server. An already existing database can be used, but this is not recommended.
Add a user that will be used as the owner of the related tables but also to authenticate with the server.
In order to install or perform upgrades, this database user requires DDL (Data Definition Language) permission in the database during the installation or upgrade.
Once the installation or upgrade has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions.
Here is how to configure the database for a local installation where the database server is on the same host. For multi-node installation, please refer to your database administrator.
Note
The following steps require administrative privilege, be sure that you have the correct access before continuing.
Install a PostgreSQL database server.
Once the installation is complete, initialize the PostgreSQL database.
Enable and start the PostgreSQL Server:
#
systemctl enable postgresqlsudo
#
systemctl start postgresqlsudo
- Create a user for UDMG Server.
Login as a PostgreSQL administrative user, start the PostgreSQL Console (psql), and create the database user for UDMG:
# sudo su - postgres
$ psql
psql (14.3)
Type "help" for help.
postgres=#
CREATE DATABASE udmg;
CREATE USER udmg_user WITH ENCRYPTED PASSWORD 'udmg_password';
GRANT ALL PRIVILEGES ON DATABASE udmg TO udmg_user;
Note
For PostgreSQL 15, the default user permissions have changed, see https://www.postgresql.org/about/news/postgresql-15-released-2526 and the following is also required:
ALTER DATABASE udmg OWNER TO udmg_user;
- Finally, change the
pg_hba.conf
, to allow database connection with a password. For example, for a system where the database server is on the same host as the UDMG Server, by changing this line from:
host all all 127.0.0.1/32 ident
to:
host all all 127.0.0.1/32 md5
The exact configuration depends on the OS and database version, on the preferred security settings, and on the system architecture.
The location of the pg_hba.conf can be returned by psql:
$ sudo su - postgres
$ psql
postgres=# SHOW hba_file;
PostgreSQL for Windows
Create a blank database on the server. An already existing database can be used, but this is not recommended.
Add a user that will be used as the owner of the related tables but also to authenticate with the server.
To install or perform upgrades, this database user requires DDL (Data Definition Language) permission in the database during the installation or upgrade.
Once the installation or upgrade has been completed successfully, the configured database user requires only DML (Data Manipulation Language) permissions.
Here is how to configure the database for a local installation where the database server is on the same host. For multi-node installation please refer to your database administrator.
The following steps require Administrator privilege, be sure that you have the correct access before continuing.
Install a PostgreSQL database server.
Once the installation is complete, initialize the PostgreSQL database.
Start the PostgreSQL Server:
For example, from the Service Management Console management:
Create a user for UDMG Server.
Login as a PostgreSQL user, start the PostgreSQL Console (psql), and create the database user:
postgres=# create database udmg;
CREATE DATABASE
postgres=# create user udmg_user with encrypted password 'udmg_password';
CREATE ROLE
postgres=# grant all privileges on database udmg to udmg_user;
GRANT
Finally, change the pg_hba.conf
, to allow database connection with a password.
For example, for a system where the database server is on the same host as the UDMG Server, by changing this line from:
host all all 127.0.0.1/32 ident
to:
host all all 127.0.0.1/32 scram-sha-256
For a system where the database server is on the same subnet as the UDMG server, change it to:
host all all samenet scram-sha-256
The exact configuration depends on the OS and database version, preferred security settings, and system architecture.
The location of the pg_hba.conf
can be returned by PostgreSQL Console (psql):
postgres=# SHOW hba_file;
The current password encryption method can be returned by PostgreSQL Console (psql):
postgres=# SHOW
password_encryption;
Oracle
Note
Oracle versions 19c and 21c are supported.
Universal Data Mover Gateway requires the Oracle client libraries for connectivity to the Oracle database.
Step 1 | Download and install Oracle Database Server software as per the Oracle documentation. |
---|---|
Step 2 | Create the UDMG database. You can use any legal name, but we recommend the name udmg. |
Step 3 | Create the user that will be used as the owner of the tables but also to authenticate with the server.
Make a note of the user and password to be used later when installing the UDMG Server. |
Step 4 | Download and install Oracle Client on the node where UDMG Server is to be installed. Detailed installation procedure can be found on the Oracle documentation:
As an example, the installation on a RHEL Linux system would be:
|
Microsoft SQL Server
Note
Microsoft SQL Server versions 2019, and 2022 are supported.
Step 1 | Download and install MS SQL Server as per the Microsoft documentation. |
---|---|
Step 2 | Create the UDMG database and the application user. You can use any legal name, but we recommend the names udmg and udmg_user. Here is an example of a simple database creation script. USE [master] |
Step 3 | Make a note of the userid and password to be used later when installing the UDMG Server. |