Skip to main content
Version: 8.2405.x.x RR

FAQ

List of frequently asked questions and often encountered issues with nevisIDM.

Database problems and errors

List of questions about issues with the database or connectivity to the database.

The Oracle database connection is very slow and the next errors appear randomly in my logs

java.sql.SQLRecoverableException: IO Error: Connection reset by peer, java.io.IOException: Connection reset by peer or java.sql.SQLException: ORA-12592: TNS:bad packet

How can I fix this?

One reason could be a bad connection between nevisIDM and the Oracle database server. Therefore, ensure that you have a steady, good connection between nevisIDM and the Oracle database server, without a firewall that randomly terminates idle connections.

Another reason could be a slow random number generation. Oracle connections require a certain amount of entropy from the Linux kernel. When the pool is drained and there is not enough entropy to generate good random numbers, the Oracle driver is not able to open new connections. This leads to sporadic connection errors. To fix this, apply one of the following solutions:

  1. Ensure that the host does not run out of random entropy. This sometimes happens, especially on virtual machines. To prevent this, follow the guidelines of your VM and Linux OS.

    For example, the nevisAppliance makes use of haveged and rngd to always have enough entropy available.

  2. Use /dev/urandom as random number source for your JVM. To do so, use the JAVA_OPTS expression as shown in the code snippet below. Adjust this expression in the file env.conf :

    # Extend JAVA_OPTS with the following
    JAVA_OPTS="-Djava.security.egd=file:///dev/urandom"

How Can I Drop the nevisIDM Database

Dropping the database is critical in a productive environment. If custom identifiers were used in the initial database setup, adapt the following code snippets accordingly.

Dropping MariaDB

Log in to the MariaDB as root and execute the following steps to drop the nevisIDM database:

DROP USER UIDM01@localhost;
DROP USER UIDM02@$localhost;
DROP DATABASE nevisidm;

Dropping Oracle DB

Log in to the Oracle database as system user and execute the following steps to drop nevisIDM database:

DROP USER UIDM01 CASCADE;
DROP USER UIDM02 CASCADE;
DROP ROLE RL_IDM_APPL;
DROP ROLE RL_IDM_ADM;
DROP TABLESPACE INDEX_IDM INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE DATA_IDM INCLUDING CONTENTS AND DATAFILES;

Dropping PostgreSQL DB

Log in to the PostgreSQL database as root user and execute the following steps to drop nevisIDM database.

DROP DATABASE nevisidm;
DROP USER "UIDM01";
DROP USER "UIDM02";

It is possible to define table spaces for PostgreSQL, but unlike the Oracle configuration, these are not managed by nevisIDM. Please note, that table spaces can only be dropped if they are empty of all objects.

DROP TABLESPACE <name>