Skip Headers
Oracle® Database Platform Guide
10g Release 2 (10.2) for Microsoft Windows Itanium (64-Bit)

Part Number B14305-05
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
PDF · Mobi · ePub

1 Oracle Database Architecture on Windows

This chapter describes how Oracle Database architecture takes advantage of some of the more advanced services in Windows operating systems.

This chapter contains these topics:

Oracle Database on Windows Architecture

Oracle Database on Windows is a stable, reliable, and high performing system upon which to build applications. Each release of the database provides new platform-specific features for high performance on Windows.

Oracle Database operates the same way on Windows as it does on other platforms. The architecture offers several advantages on Windows, such as:

Automatic Storage Management

Automatic Storage Management (ASM) is an integrated file system and volume manager expressly built for Oracle Database files. ASM provides the performance of raw I/O with the easy management of a file system. It simplifies database administration by eliminating the need for you to directly manage potentially thousands of Oracle Database files. It does this by enabling you to divide all available storage into disk groups. You manage a small set of disk groups and ASM automates the placement of the database files within those disk groups.

See Also:

"Using Automatic Storage Management" in Oracle Database Administrator's Guide

Thread-Based Architecture

The internal process architecture of Oracle Database is thread-based. Threads are objects within a process that run program instructions. Threads enable concurrent operations within a process so that a process can run different parts of its program simultaneously on different processors. A thread-based architecture provides the following advantages:

  • Faster context switching

  • Simpler System Global Area allocation routine, because it does not require use of shared memory

  • Faster spawning of new connections, because threads are created more quickly than processes

  • Decreased memory usage, because threads share more data structures than processes

Internally, the code to implement the thread model is compact and separate from the main body of Oracle Database code. Exception handlers and routines track and de-allocate resources. They add robustness, with no downtime because of resource leaks or an ill-behaved program.

Oracle Database is not a typical Windows process. On Windows, an Oracle Database or Automatic Storage Management instance (threads and memory structures) is a Windows service: a background process registered with the operating system. The service is started by Windows and requires no user interaction to start. This enables the database to open automatically at startup.

When running multiple Oracle Database or Automatic Storage Management instances on Windows, each instance runs its own Windows service with multiple component threads. Each thread may be required for the database to be available, or it may be optional and specific to certain platforms. The background processes read and write from various datafiles, depending on your configuration. Oracle Database architecture on Windows is illustrated in Figure 1-1. Examples of optional and required threads on Windows are listed in Table 1-1.

Figure 1-1 Oracle Database Architecture on Windows

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle Database Architecture on Windows"

Table 1-1 Required and Optional Oracle Database Threads

Oracle Database Thread Description Required/Optional


database writer



log writer



memory manager process



process monitor



process spawner process



system monitor



checkpoint process (thread on Windows) that runs by default on Windows



archive process (or thread on Windows)



distributed recovery background process



You can view running background processes by issuing the following query:
SQL> select * from v$bgprocess where paddr <> '00'; 

Oracle Database for Windows is supplied as a set of executables and dynamic link libraries (DLLs). Executable images can be modified using ORASTACK to change the size of the stack used by the threads of the Oracle Database process. Oracle recommends you use this tool only under the guidance of Oracle Support Services.

File I/O Enhancements

Oracle Database supports 64-bit file I/O to allow use of files larger than 4 gigabytes (GB). In addition, physical and logical raw files are supported as data, log, and control files to support Oracle Real Application Clusters (Oracle RAC) on Windows and for those cases where performance needs to be maximized.

Raw File Support

Oracle recommends that you use Automatic Storage Management instead of raw files. It provides the performance benefits of raw files with much better manageability. Automatic Storage Management is available for both single instance and Oracle RAC databases.

See Also:

"Using Automatic Storage Management" in Oracle Database Administrator's Guide

Raw files are unformatted disk partitions that can be used as one large file. Raw files have the benefit of no file system overhead, because they are unformatted partitions. Windows supports raw files, similar to UNIX. Using raw files for database or log files can have a slight performance gain. Windows Server 2003 has a disk manager (diskmgmt.msc) to manage all volumes. Windows Server 2003 also includes command line utilities (diskpart.exe) to manage volumes including raw. Oracle recommends that you use Windows volume mount points for addressing raw volumes.

To Oracle Database, raw files are no different from other Oracle Database files. They are treated in the same way by Oracle Database as any other file and can be backed up and restored through Recovery Manager or OCOPY.

Oracle Database Scalability on Windows

Several features allow Oracle Database to support an increasingly large number of database connections on Windows:

Oracle Database Integration with Windows

Oracle Database is increasingly integrated with Windows, easing maintenance and improving enterprise-level deployment in security, directory, and transaction services. Integration features in Oracle Database include:

Oracle PKI Integration with Windows

Oracle Advanced Security includes Oracle PKI (public key infrastructure) integration for authentication and single sign-on. You can integrate Oracle-based applications with the PKI authentication and encryption framework, using Oracle Wallet Manager.

Oracle Services for Microsoft Transaction Server

Oracle Services for Microsoft Transaction Server (MTS) allow Oracle databases to be used as resource managers in MTS - coordinated transactions, providing strong integration between Oracle databases and MTS. The Oracle Services for MTS act as a proxy for the Oracle database to the Microsoft Distributed Transaction Coordinator (MSDTC). As a result, these services provide client-side connection pooling and allow client components that leverage Oracle to participate in distributed transactions. Oracle Services for MTS can operate with Oracle databases running on any operating system, given that the services themselves are run on Windows.

Oracle Database takes advantage of a native implementation and also stores recovery information in Oracle Database itself. Oracle Services for Microsoft Transaction Server allows development in all industry-wide data access interfaces, including Oracle Call Interface (OCI), ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). The Oracle OCI API offers greatest efficiency.


Windows Server 2008 and Windows Server 2008 R2 introduce new MSDTC changes that do not interoperate with older versions of Oracle Services for MTS. Oracle Services for MTS and later, support these new changes on Windows Server 2008 or later.

Oracle Fail Safe Integration with Windows

Oracle Fail Safe ensures that Oracle Database (and also other Oracle and third-party applications) can be configured and managed for high availability on Windows clusters. An instance runs on only one node at a time.

A cluster is a group of independent computing systems that operates as a single virtual system, eliminating individual host systems as points of failure. Oracle Fail Safe works with Microsoft Cluster Server to ensure that if a failure occurs on one cluster system, then workloads running on that system fail over quickly and automatically to a surviving system. Oracle Database combined with Oracle Fail Safe on a Windows cluster ensures protection from both hardware and software failures.

For well-configured solutions, Oracle Fail Safe ensures a surviving system to be operational in less than a minute, even for heavily-used databases.

See Also:

Your Oracle Fail Safe documentation set, available on separate media in the Oracle CD-ROM package

Oracle Real Application Clusters Integration with Windows

Oracle Real Application Clusters are integrated with Microsoft Cluster Server clusters deployed on all Windows operating systems that support clustering. This enhances high availability features of Oracle Real Application Clusters by offering:

  • Optional automatic restarts of a failed instance or listener in a cluster

  • Detection and resolution of instance hangs

  • Elimination of connect-time failover TCP/IP timeout delays for new connection requests

  • Use of user-written scripts after database state (online/offline) changes

Other Sources of Information

See Also: