Permission and Collation requirements for databases


SQL Server

The user with which the application should connect to the database needs the following roles in order to run the database correctly:

USE [<databasename>] GO CREATE USER [<username>] FOR LOGIN [<username>] GO USE [<databasename>] GO ALTER ROLE [db_owner] ADD MEMBER [<username>] GO

The collation for the database has to be set to SQL_Latin1_General_CP1_CI_AS.

USE [master] GO ALTER DATABASE [<database>] COLLATE SQL_Latin1_General_CP1_CI_AS GO

Oracle Server

The user with which the application should connect to the database needs the following roles in order to run the database correctly:

GRANT CREATE SESSION,ALTER SESSION,CREATE TABLE,CREATE VIEW,CREATE SYNONYM,CREATE PROCEDURE,CREATE SEQUENCE,CREATE MATERIALIZED VIEW,CREATE TRIGGER,CREATE ANY CONTEXT,CREATE JOB,EXECUTE ON SYS.DBMS_LOCK TO <username>;

The collation for the database has to be set to AL32UTF8.

The Oracle implementation relies on DBMS_LOCK. The Oracle database user that executes liquibase must have EXECUTE privilege on DBMS_LOCK.

grant execute on SYS.DBMS_LOCK to <user>;

To read lock information, the user needs permissions to read from GV$LOCK and GV$SESSION.

grant select on SYS.GV_$LOCK to <user>;
grant select on SYS.GV_$SESSION to <user>;


MySQL Server

Lower case table names needs to be active:

MySQL Server needs to be set to:

MySQL :: MySQL 8.4 Reference Manual :: 7.1.8 Server System Variables

The user with which the application should connect to the database needs the following roles in order to run the database correctly:

The collation for the database has to be set to UTF8: