# Oracle Database

[](https://help.qlik.com/talend/en-US/talend-data-catalog/Content/deployment-guide/database-server-setup/oracle-database.htm)

## Database Requirements

The supported versions are Oracle 12c, 18c, 19c and 23ai - 64 bit

Information note

[Oracle Real Application Clusters (RAC)](https://www.oracle.com/database/real-application-clusters/) is only supported in failover mode but not the server side load balancing. So the application would need to connect to a single node.

* The character set of the database must be AL32UTF8 (UTF8).

* In order to find out what exact Oracle edition/version is actually installed:   
  `sqlplus.exe SYS@<DB-NAME> as SYSDBA select banner from v$version where BANNER like '%Edition%';`

* In order to find out how much memory is actually available to the Oracle database, it is important to first understand [how Oracle's memory is configuration and used](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgdba/database-memory-allocation.html#GUID-E9265077-B296-485A-BC2C-0AF55762D1EC):

  * The actual available [System Global Area (SGA)](https://www.orafaq.com/wiki/SGA) memory can be found using:   
    `sqlplus.exe SYS@<DB-NAME> as SYSDBA show sga; select * from v$sga; select * from v$sgainfo;`

  * The actual available [Program Global Area (PGA)](https://www.orafaq.com/wiki/PGA) memory can be found using:   
    `sqlplus.exe SYS@<DB-NAME> as SYSDBA select * from v$pgastat;`

* In order to find out how much processing CPU/Cores is actually available to the Oracle database, query the table [v$parameter](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/V-PARAMETER.html#GUID-C86F3AB0-1191-447F-8EDF-4727D8693754) for the value of [cpu_count](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/CPU_COUNT.html#GUID-78CDCDE7-5A1D-4AC1-B5BD-B185CB296416), or query the table [v$license](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/V-LICENSE.html#GUID-5C7B9E29-5964-4DD7-B0A8-6FF62474C60B) as follows:   
  `sqlplus.exe SYS@<DB-NAME> as SYSDBA select * from v$license;`

## Database Setup

Create a user `MM` and a database `MM` with the following privileges:

`sqlplus.exe SYS@<DB-NAME> as SYSDBA   -- Delete previous user and database if needed -- DROP USER MM CASCADE;   CREATE USER MM IDENTIFIED BY MM123!;   GRANT CONNECT TO MM;   GRANT CREATE TABLE TO MM; GRANT CREATE VIEW TO MM; GRANT CREATE SEQUENCE TO MM; GRANT CREATE TRIGGER TO MM; GRANT CREATE PROCEDURE TO MM; GRANT CREATE TYPE TO MM;   GRANT EXECUTE ON DBMS_LOB TO MM;   -- If you get the error "Database exception occurred: ORA-01950: no privileges on tablespace 'USERS'" -- ALTER USER MM QUOTA UNLIMITED ON USERS;`