Oracle
1# Oracle as System Database
2# [engineDir]/configuration/ivy.yaml
3SystemDb:
4
5 # using oracle service name
6 Url: jdbc:oracle:thin:@//localhost:1521/ServiceName
7
8 # using oracle service id
9 Url: jdbc:oracle:thin:@localhost:1521:ServiceId
10
11 # using oracle tns
12 Url: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ServiceName)(SERVER=DEDICATED)))
13
14 UserName: root
15 Password: 1234
If database will be created by the Axon Ivy Engine the collate is set to Latin1_General_CI_AI
.
Tip
On all (reused) oracle database connections the maximum number of open cursors is set to 1000, independently from the default setting that may be set on the database itself. Those cursors are needed to cache all prepared statements and also for PL/SQL blocks.
It may turn out that the number of open cursors is exceeded, which is indicated by an error message similar to the following:
ch.ivyteam.ivy.persistence.PersistencyException: java.sql.SQLException:
ORA-00604: error occurred at recursive SQL level 1
ORA-01000: maximum open cursors exceeded
If this should happen, then you may customize (and increase) the number of
open cursors per connection with the Java system property
ch.ivyteam.ivy.persistence.db.oracle.MaxOpenCursors
. It can be set in the
jvm.options.
Note
Schema Creation
Before you can create the system database tables on a Oracle Database you have to do the following steps:
You may want to create a new Oracle database where the Axon Ivy Engine System Database is located. This is optional you can use an already existing Oracle database.
Create a new user (e.g. AxonIvy) or let the Axon Ivy Engine create one for you with the Setup Wizard. You can use the following script to create a new user with sufficient permissions:
CREATE USER <username> IDENTIFIED BY <password>; GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE TRIGGER, CREATE PROCEDURE, CREATE SEQUENCE, UNLIMITED TABLESPACE TO <username>;
You may want to create a new tablespace (e.g. AxonIvy) where the Axon Ivy Engine System Database can store the table data. This is optional you can use an already existing tablespace.
Warning
Be sure that the configuration of the database connection uses the new database and the Oracle Service ID reflecting the database you want to create the system database tables in.