Beruflich Dokumente
Kultur Dokumente
OVERVIEW
The multithreading capabilities of Oracle’s database server significantly increases the scalability of
applications and the number of clients simultaneously connected to the database. It can enable
existing applications to scale up without making any changes to the application itself. In addition,
applications can use the multithreaded database server to access the new Oracle8i™ object-oriented
features including Java™ Virtual Machine, Enterprise Java Beans™, and protocols such as IIOP.
The multithreaded database server architecture has been optimized to work seamlessly with important
functionality including Oracle® Parallel Server, Advanced Queuing, and parallel query. In the Oracle
Parallel Server case, the multithreaded database server enables node-level load balancing and
simplifies configuring of failover support.
Applications benefiting most from the multithreaded database server are those that need to minimize
memory and processing power on the database server or need large user scalability. Examples of such
applications are OLTP applications with a high transaction volume and web-based, thin-client
applications that use IIOP and have a Java-based architecture. Database administrators will find that
fine tuning multithreaded server parameters provide more control over their hardware and
database resources.
MULTITHREADED DATABASE SERVER ARCHITECTURE
Figures 1 and 2 show the basic difference between the traditional dedicated server model and the
multithreaded server model. In the dedicated server model, there is one server process for each client.
When using the multithreaded database server, the clients do not communicate directly with the
server processes. Instead, client requests are routed to one or more dispatchers. The dispatchers then
place the client requests on a common queue. An idle shared server process from the shared pool of
server processes picks up and processes a request from the queue. This means a small pool of server
processes can serve a large number of clients. This sharing is possible because all the state information
associated with each client session is stored in session state, which the shared server processes can
access and update. Different shared server processes can serve requests from the same database session
over time in an efficient manner. For the UNIX operating system, each shared server is a separate
process. On Windows NT, each shared server is a separate thread instead of a separate process.
client 1 sr 1
sr 2
client 2
sr 3
client 3
sr n
The memory usage pattern is different when an application uses Oracle’s multithreaded database
server. Large amounts of the state information related to the user session are moved from user
memory to shared memory, thus requiring less overall user memory. The total memory used with a
multithreaded database server is much less than the dedicated server model as the number of
users increases.
client 1
Shared Servers
client 2 sr 1
Dispatcher
sr 2
client 3
KEY BENEFITS
Oracle8i contains the following key performance enhancements and new multithreaded database
server related functionality:
• Asynchronous Network IO
Worldwide Inquiries:
+1.650.506.7000
Fax +1.650.506.7200
http://www.oracle.com/