Middle-tier database connection pooling

The IFS middle-tier makes use of three separate pools of database connections. Such connections are shared between multiple users. The three connection pools serves different use cases and have very different behavior.


Overview of IFS Applications three separate pools of database connections

Contents

Data Sources

Two of the database connection pools are managed by the application server as Data Sources:

Both connection pools can be monitored using IFS System Monitoring and configured using the Installer.

PL/SQL Access

This type of connection pool is used by interactive clients when accessing database business logic directly. The behavior of this connection pool is very different from the two application server managed connection pools. All connections are created as user IFSSYS, but rather than temporarily switching only the Foundation1 user identity when a connection is in use the Oracle database user is also switched using Oracle proxy authentication. Connections are shared between clients, but the pool will attempt to reuse an already switched connection (where the database user identity matches that of the current user) as a way to minimize the cost and impact of database user switching. If no such idle connection is available the database identity will be switched to that of the current user.

There are two scenarios where connections are reserved for a particular client session - when the client keeps an open cursor (this typically happens when scrolling in a table window with a large result set) or when the client keeps a database transaction active between client-server calls. In both these scenarios is absolutely vital that the same database connection is used for all database calls.

The state of the connection indicates whether the connection is currently:

(Other transient connection states exists.)

There are three important configuration parameters which can be changed using the Installer:

The behavior of this pool can be monitored using IFS System Monitoring and configured using the Installer.

When monitoring database sessions, connections from this pool are identified as category PL/SQL Access.