This chapter describes how Oracle Database architecture takes advantage of some more advanced services in Microsoft Windows operating systems.
This chapter contains these topics:
Oracle Database on Windows is a stable, reliable, and high-performing system upon which you can 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:
Oracle Automatic Storage Management (Oracle ASM) is an integrated file system and volume manager expressly built for Oracle Database files. Oracle 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 enables you to divide all available storage into disk groups. You manage a small set of disk groups, and Oracle ASM automates the placement of the database files within those disk groups.
Oracle recommends that you use Oracle ASM instead of raw files to store data files. It provides the performance benefits of raw files with much better manageability. Oracle ASM is available for both single instance and Oracle Real Application Clusters (Oracle RAC) databases.
You can store Oracle Cluster Registry and voting files in Oracle ASM disk groups and store database data files in the data
disk group. The voting files and Oracle Cluster Registry are two important components of Oracle Clusterware.
Note:
You must be logged on either as Administrator or a user name that is a member of the Administrators group.
To open Disk Management console, click Start, Run, and then enter: diskmgmt.msc
.
Storing data files on raw devices is no longer supported. You must use a file system or Oracle Automatic Storage Management.
NFS or Direct NFS cannot be used for Oracle Clusterware files.
See Also:
"Oracle Cluster Registry and Voting Files in Oracle ASM Disk Groups" in Oracle Automatic Storage Management Administrator's Guide
"Using Automatic Memory Management" in Oracle Database Administrator's Guide
Oracle ASM File Access Control restricts the access of files to specific Oracle ASM clients that connect as SYSDBA
. An Oracle ASM client is a database, which is identified by the name of the user that owns the database instance home. Oracle ASM File Access Control uses this user name to identify a database. Oracle ASM File Access Control restricts access based on the operating system and effective user identification number of a database owner.
Oracle Database 12c Release 1 (12.1) provides access control to separate the roles on Windows. With Oracle Database services running under the Oracle Home User account instead of the Local System Account, the Oracle ASM access control feature must be enabled to support role separation on Windows. In previous releases, this feature was disabled on Windows because all Oracle Database services ran under Windows Built-in Local System Account.
The new user groups added in Oracle Database 12c Release 1 (12.1) are ORA_
HOMENAME
_DBA
, ORA_
HOMENAME
_OPER
, ORA_
HOMENAME
_SYSBACKUP
, and so on. For Oracle ASM administration, new groups ORA_ASMADMIN
, ORA_ASMDBA
and ORA_ASMOPER
are automatically created and populated during Oracle Database installation. The Oracle ASM administrator can manage these Windows groups using Windows tools, though you must ensure that the required user names are not removed from these groups.
See Also:
"About Job Role Separation Operating System Privileges Groups and Users" in Oracle Database Installation Guide for Microsoft Windows
"Creating Job Role Separation Operating System Privileges Groups and Users" in Oracle Grid Infrastructure Installation Guide
Starting with Oracle Database 12c Release 1 (12.1), the identity of an Oracle ASM user can be changed from one operating system user to another operating system user. It enables end users to change the identity of an Oracle ASM user without having to delete and re-create the user, which requires dropping all the files a user owns. This feature improves the manageability of Oracle ASM users and the files they own. A new SQL Statement (ALTER DISKGROUP REPLACE USER
) and a new ASMCMD command (rpusr
) have been added to support user replacement in a disk group.
See Also:
"Managing Oracle ASM File Access Control with Oracle Enterprise Manager Cloud Control", "Using SQL Statements to Manage Oracle ASM File Access Control", and "ASMCMD File Access Control Commands" in Oracle Automatic Storage Management Administrator's GuideOracle Database 12c Release 1 (12.1) enables users to change the ownership, permissions, or group membership of a file even while the file is open. Since this release, the ASMCMD file access control commands, such as chgrp
, chmod
, and chown,
can run even while the file is open. The SQL statements, such as ALTER DISKGROUP MODIFY USERGROUP
commands have also been modified as these SQL statements provide support for these ASMCMD commands.
See Also:
"Managing Oracle ASM File Access Control for Disk Groups" and "ASMCMD File Access Control Commands" in Oracle Automatic Storage Management Administrator's GuideThe internal process architecture of Oracle Database is thread-based. Threads are objects within a process that run program instructions. Threads allow 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 deallocate resources. They add robustness, with no downtime because of resource leaks or program that does not function as expected.
Oracle Database is not a typical Windows process. On Windows, an Oracle Database or Oracle 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 computer startup.
When running multiple Oracle Database or Oracle Automatic Storage Management instances on Windows, each instance runs its own Windows service with multiple component threads. Each thread might be required for the database to be available, or it might be optional and specific to certain platforms. The background processes read and write from various data files, depending on your configuration. Oracle Database architecture on Windows is illustrated in Figure 1-1. Examples of Oracle Database required threads on Windows are listed in Table 1-1.
Figure 1-1 Oracle Database Architecture on Windows
Table 1-1 Oracle Database Threads
Oracle Database Thread | Description | Required/Optional |
---|---|---|
|
database writer |
Required |
|
log writer |
Required |
|
memory manager process |
Required |
|
process monitor |
Required |
|
process spawner process |
Required |
|
system monitor |
Required |
|
checkpoint process (thread on Windows) that runs by default on Windows |
Required |
|
archive process (or thread on Windows) |
Required |
|
distributed recovery background process |
Required |
Note:
You can view running background processes by entering 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 that you use this tool only under the guidance of Oracle Support Services.
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 must be maximized.
Starting with Oracle Database 11g, instead of using the operating system kernel NFS client, you can configure Oracle Database to access NFS V3 servers directly using an Oracle internal Direct NFS client. Through this integration, Oracle can optimize the I/O path between Oracle and the NFS server, resulting in significantly superior performance. In addition, Direct NFS client simplifies and optimizes the NFS client configuration for database workloads.
Volumes mounted through CIFS cannot be used for storing Oracle database files without configuring the Direct NFS client. The atomic write requirements needed for database writes are not guaranteed through the CIFS protocol. Consequently, CIFS can be used only for operating system-level commands such as, copy, move, and so on.
The Direct NFS client currently supports up to four parallel network paths to provide scalability and high availability. The Direct NFS client delivers optimized performance by automatically load balancing requests across all specified paths. If one network path fails, then the Direct NFS client resends commands over any remaining paths ensuring fault tolerance and high availability.
A new parameter called dnfs_batch_size
has been added starting with Oracle Database 12c Release 1 (12.1) to control the number of asynchronous I/O operations that can be queued by an Oracle process when the Direct NFS client is enabled. Set this parameter only if the Direct NFS client is overwhelming the NFS server or the network. This parameter helps the user to manage the load that the Direct NFS client can generate. In typical environments, you must not set this parameter. The default value of this parameter is 4096. To reduce the Direct NFS client load, Oracle recommends a value of 128 that can be changed based on the NFS server performance.
See Also:
Your vendor documentation to complete NFS configuration and mountingFeatures in Oracle Database and in the Windows operating system work together to help increase scalability, throughput, and database capacity. One of the feature has been explained below.
Several features allow Oracle Database to support an increasingly large number of database connections on Windows:
The Shared Server Process, limits the number of threads needed in the Oracle Database process and supports over 10,000 simultaneous connections to a single database instance.
Oracle Net multiplexing and connection pooling features allow a large configuration to connect more users to a single database instance.
Oracle RAC raises connection counts dramatically by allowing multiple server computers to access the same database files, increasing the number of user connections by tens of thousands while increasing throughput.
Note:
Oracle RAC is only supported on 64-bit Windows server operating systems.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 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.
Microsoft Transaction Server (MTS) is used in the middle tier as an application server for COM objects and transactions in distributed environments. Oracle Services for Microsoft Transaction Server allows Oracle Database to be used as a resource manager in Microsoft Transaction Server-coordinated transactions, providing strong integration between Oracle solutions and Microsoft Transaction Server. Oracle Services for Microsoft Transaction Server can operate with Oracle Database running on any operating system.
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 APIs, Oracle Data Provider for .NET and OCI, offer greatest efficiency.
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 Windows Failover Clusters 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.
Note:
Windows server operating systems support the clustering technology. The Oracle Fail Safe Manager client can be installed on Windows Server operating systems (such as Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 x64) and on client systems (such as Windows 7, Windows 8, and Windows 8.1).See Also:
The Oracle Fail Safe documentation set, which is available on separate media in the Oracle Database media packSee the following sources for additional information:
Appendix E, "Oracle Database Differences on Windows and UNIX"
Chapter 17, "Developing Applications for Windows" for more information about Oracle Database integration with Windows features