Using
Microsoft Transaction Server with Oracle8i
A68065-01 |
|
This chapter provides Oracle Service for MTS performance
tuning information:
Specific topics discussed are:
You can improve performance when you:
Placing all your code for a given transaction into one COM component means you do not need to mark that component as transactional. This eliminates the overhead of going through Microsoft Transaction Server and the Oracle Service for MTS. You can then use the Oracle commit or rollback functions to control that transaction in your component. If you are using OCI, you can still use ORAMTSSvcGet(), but you can also use the ORAMTS_CFLG_NOIMPLICIT flag. If you are updating across two or more Oracle8i databases, use database links and connect to one database from your COM component.
When a COM component ends a session with the Oracle8i
database, the connection by default does not immediately terminate. Instead,
the connection remains idle in a connection pool, where it is available
for reuse by another COM component attempting a new connection to the Oracle8i
database.
The idle period during which a connection can be reused reduces
the resource costs associated with opening a new connection. The amount
of time that the connection remains idle and available in the connection
pool is determined by several registry parameter settings that you can
modify on the computers on which the client Microsoft Transaction Server
components and the Oracle Service for MTS are installed. The Oracle Service
for MTS uses a similar connection pool. The connection pool is located
in two places:
The following illustration identifies the connection pool
locations and the registry parameters associated with each pool:
This table describes the client side registry parameters
that you can modify to manage connection pooling:
This table describes the server side registry parameters
that you can modify to manage connection pooling:
:
To edit the connection pool registry settings:
For... | Log on to the computer where the... |
---|---|
Server side parameters |
Oracle Service for MTS is installed |
Client side parameters |
Client Microsoft Transaction Server components are installed |
C:\> REGEDT32
If your transaction requests are timing out before completing,
it may be because the transaction timeout parameter is set too low. Increase
the transaction timeout parameter to ensure that your transactions have
sufficient time to complete.
To increase the transaction timeout parameter:
You may need to set several INIT.ORA initialization parameters
to the values described below in order to use your Oracle8i database
with Microsoft Transaction Server. The values to which to set these parameters
are based upon your database workload environment. See section "Verifying
INIT.ORA File Parameter Values" for information on determining proper
parameter settings.
To set INIT.ORA parameters:
C:\> SQLPLUS
ENTER USER-NAME: INTERNAL
SQL> SHUTDOWN
SQL> STARTUP
SQL> EXIT