Oracle Database Extensions for .NET Architecture
Introduction to Oracle Database Extensions for .NET 1-3
The extproc process supports the following architectures:
■ Dedicated Agent Architecture
■ Multithreaded Agent Architecture
Dedicated Agent Architecture
In dedicated (that is, single-threaded) agent architecture, an extproc process is
started for each user session. The process terminates when the user session ends. This
architecture can consume an unnecessarily large amount of system resources since,
with every user session, a new extproc process must be started and shut down.
Therefore dedicated agent architecture does not perform well in terms of system
resources and runtime efficiency.
Multithreaded Agent Architecture
A multithreaded extproc process uses a pool of shared threads. The tasks requested
by the user sessions are put on a queue and are picked up by the first available thread.
Multithreaded agent architecture allows more efficient use of system resources than
dedicated architecture.
A separate multithreaded extproc process must be started for each system identifier
(SID). Each TNS listener that is running on a system listens for incoming connection
requests for a set of SIDs. If the SID in an incoming Oracle Net connect string is one
that the listener is listening for, then that listener processes the connection. If a
multithreaded process has been started for the SID, then the listener passes the request
to that process.
Real Application Clusters (RAC) and External Processes The Oracle multithreaded extproc
process is tightly coupled with the Oracle listener. Therefore, each node in a Real
Application Clusters (RAC) environment has an Oracle multithreaded extproc
process associated with the listener on that node.
Multiple Databases Instance and External Processes A single Oracle multithreaded
extproc process is used with multiple database instances associated with a single
Oracle home if a single listener is shared among multiple database instances.
Listener and Tnsnames Files
The following are typical examples of the listener.ora and tnsnames.ora files
configured for Oracle Database Extensions for .NET. By default, Oracle Database
Extensions for .NET uses CLRExtProc as the SID, but this can be changed using the
Database Configuration Assistant (DBCA).
Listener.ora file
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\database_1)
(PROGRAM = extproc)
)
See Also:
■ Oracle Database Application Developer's Guide - Fundamentals
■ Oracle Database Administrator's Guide