Skip to main content
Version: 8.6

Use an alternative database for Identity OIDC

Use an alternative database for Identity OIDC if your internal policies or compliance requirements prevent the use of PostgreSQL.

Database versions

Identity is tested against the following alternative relational databases:

Camunda versionDatabase versionDriver version
8.6.13Oracle 19C21.3.0.0
8.6.13SQL Server 201912.10.0.jre11

Oracle database configuration

Driver provision

As the Oracle driver is not provided by default in each of the Camunda 8 distributions, you must download the driver and supply it for the application to load.

  1. Download the appropriate Oracle driver: https://download.oracle.com/otn-pub/otn_software/jdbc/237/ojdbc17.jar.

  2. When starting the application, set -cp "/app/ojdbc.jar:/app/identity.jar" in the java command during startup. This is only required for Oracle.

  3. If you are using docker or kubernetes, ensure that the folder with the library is properly mounted as a volume.

SPRING_DATASOURCE_URL="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=${IDENTITY_DATABASE_HOST:})(PORT=${IDENTITY_DATABASE_PORT:}))(CONNECT_DATA=(SERVICE_NAME=${IDENTITY_DATABASE_NAME:}))(SECURITY=(SSL_SERVER_CERT_DN=\"CN={CERT_CN}, O={CERT_ORG},L={..},ST={..},C={..}\")))"
SPRING_DATASOURCE_DRIVER_CLASS_NAME=oracle.jdbc.OracleDriver
SPRING_JPA_DATABASE=oracle
JAVA_TOOL_OPTIONS=$JAVA_OPTS

MSSQL database configuration

Driver provision

As the driver for MSSQL is provided by default in identity, you do not need to download it or supply it in the classpath.

SPRING_DATASOURCE_URL="jdbc:sqlserver://${IDENTITY_DATABASE_HOST:}:${IDENTITY_DATABASE_PORT:};databaseName=${IDENTITY_DATABASE_NAME:};encrypt=true;hostNameInCertificate={CACERT_/CN};trustServerCertificate=false"
SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.microsoft.sqlserver.jdbc.SQLServerDriver
SPRING_JPA_DATABASE=sql_server
JAVA_TOOL_OPTIONS=$JAVA_OPTS

Troubleshooting

The following troubleshooting tips are provided to help you with common issues:

TipDescription
Check Keystore pathAccess (or "exec into") the running container where the application is deployed and confirm that the Java process running inside the container is configured with the correct keystore path.
Check certificatesConfirm that any SSL/TLS certificate required for secure communication with the database exists in the mounted location on the filesystem.
Test database connectionTest and verify the connection from the pod to the database using simple tools and utilities, such as JDBC tool, ping, curl, and so on.