Concurrent Connections and Hosted Oracle
A concurrent connection is the number of connections available to your
database in any given second.
How are database connections different from ssh/ftp/telnet connections?
There are two types of database connections: OLTP and Persistent.
An OLTP database connection is the standard connection type for web
transactions, and lasts only as long as a transaction takes to complete,
and then disconnects. So, you can have a limit of 10 transactions in a
single second, but a transaction takes a fraction of a second to complete.
A persistent database connection uses a single connection to conduct
multiple transactions. With either type of connection, you'll find it
requires a lot of traffic to exceed the maximum number of connections in
any given second.
Why do we limit concurrent connections?
By setting limits on concurrent connections, we ensure your transactions
get through, and other users don't hinder your use of the system.
Oracle in a shared environment is much different than running Oracle on a
dedicated server. In a shared environment, concurrent connections to the
database become a key limitation. This is because a separate Oracle
process is required to handle each connection in an Oracle database, and
each process may require up to 2 MB of memory. All database
installations-even Dedicated installations of Oracle and others-limit the
number of concurrent connections based on the upper limit of memory and
For example, consider an shared Oracle server with 30 customer accounts at
100 concurrent connections per account. If each customer averaged only 30%
of their maximum-or 33 connections per customer-the total number of
concurrent connections would average 990. At 2 MB per process, the machine
would be using 1980 MB RAM. This does not include shared memory for
database buffering, or any memory for core OS/DB processes. In addition,
at 990 concurrent connections, a great deal of processor time is burned
just handling context switches. Under these circumstances, the server
would slow to a crawl very quickly.
Limiting concurrent connections enables us to dedicate more memory to each
individual process to dramatically increase the performance of your
queries. Because of these precautions, complex transactions run much
faster than with other databases. More dedicated memory is available to
each process, and a high amount of system memory is dedicated to
If there are limits on concurrent connections, why would I want Oracle
instead of other databases?
Oracle offers a lot of benefits over other databases. But it's not for
everyone. Consider the following benefits of Oracle:
- High data integrity
- Better Web performance
- True scalability, including the ability to move from Shared, to Dedicated, to Clustered servers as your needs grow
- Mission-critical recovery services such as Point-In-Time Recovery of any data object