Professional Documents
Culture Documents
Windows Platform
Student Guide
90248GC11
1.1
May 2001
D
Copyright © Oracle Corporation, 2001. All rights reserved.
This documentation contains proprietary information of Oracle Corporation. It is provided under a license
agreement containing restrictions on use and disclosure and is also protected by copyright law. Reverse
engineering of the software is prohibited. If this documentation is delivered to a U.S. Government Agency of the
Department of Defense, then it is delivered with Restricted Rights and the following legend is applicable:
Use, duplication or disclosure by the Government is subject to restrictions for commercial computer software
and shall be deemed to be Restricted Rights software under Federal law, as set forth in subparagraph (c)(1)(ii)
of DFARS 252.227-7013, Rights in Technical Data and Computer Software (October 1988).
This material or any portion of it may not be copied in any form or by any means without the express prior
written permission of the Education Products group of Oracle Corporation. Any other copying is a violation of
copyright law and may result in civil and/or criminal penalties.
If this documentation is delivered to a U.S. Government Agency not within the Department of Defense, then it is
delivered with “Restricted Rights,” as defined in FAR 52.227-14, Rights in Data-General, including Alternate III
(June 1987).
The information in this document is subject to change without notice. If you find any problems in the
documentation, please report them in writing to Worldwide Education Services, Oracle Corporation, 500 Oracle
Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation does not warrant that this document is
error-free.
Oracle and all references to Oracle Products are trademarks or registered trademarks of Oracle Corporation.
All other products or company names are used for identification purposes only, and may be trademarks of their
respective owners.
Author
Oracle Tutor
Table of Contents
Objectives
Key features:
• Allow easy data access to Oracle databases with
any programming language that supports COM
Automation and ActiveX technology
• Support two-tier client/server to n-tiered server
environments
• Enable client and middle-tier applications to
connect to Oracle database servers, execute
commands, and access and manipulate the results
returned
You can use Oracle Objects for OLE (OO4O) from any COM client, including
Visual Basic, Visual C++, Visual Basic For Applications (VBA), Active Server
Pages (VBScript and JavaScript), and others.
OO4O provides key features for accessing Oracle databases efficiently and
easily in environments ranging from the typical two-tier client/server
applications, such as those developed in Visual Basic or Excel, to application
servers deployed in multitiered application server environments such as Web
server applications in Microsoft Internet Information Server (IIS) or Microsoft
Transaction Server (MTS).
COM/DCOM
OO4O In-Process
Automation
Server
Oracle
Database
ActiveX Data
Objects (ADO)
OCI Library
Oracle
This graphic shows the the different methods by which Oracle COM data access
occurs. From any COM client, users access Oracle databases through OO4O or
ADO/OLE DB. Both OO4O and ADO/OLE DB serve as APIs on top of OCI,
which is a C based API that provides efficient access to Oracle.
Most Windows programmers use OO4O and ADO/OLE DB, rather than OCI,
as they tend to be easier to use and can be accessed from programming
languages outside of C/C++.
The COM Automation Feature allows stored procedures to send data to COM
Automation servers, such as Microsoft Office, and manipulate them.
Common Deployments
Client
MTS
OCI
Oracle OO4O
IIS
HTML
Internet
Active XML
Server
Pages
OO4O Features
You can use the Visual Basic CreateObject method with two OO4O server
objects, OraSession or OraServer. In the code sample, OO4OSession is the
object variable that holds an instance of the OraSession object.
Once you have obtained an interface, you can use it to establish a user session
in an Oracle database by invoking the OpenDatabase method.
Once a user session is established, the CreateDynaset method of the
OraDatabase interface is used to execute queries. This method returns an
OraDynaset object that is then used to access and manipulate the set of rows
returned. An OraDynaset object encapsulates the functionality of a client-side
scrollable (forward and backward) cursor that allows browsing the set of rows
returned by the query it executes. Result set rows are locally cached in a
temporary file on the client machine to provide for backward scrollability.
In the code sample, the OraDynaset object is used to display the first record in
the query of the EMP table.
• XML support
• Improved scalability and reliability with Oracle
Services for Microsoft Transaction Server (MTS)
• DB Events support
• Full Unicode support
• Temporary LOBs support
These are the new features in Oracle9i. The following slides will describe these
features in detail.
XML is quickly becoming the format of choice for data interchange. Data in
XML markup language can easily be integrated with other software components
that support XML. Web servers can serve up XML documents along with a
stylesheet, thus separating the data content from its presentation, and preserving
the data in its native form for easy searching.
By using XSLT, Extensible Stylesheet Language Transformations, businesses
can reformat XML documents received from other businesses into their desired
style.
OO4O allows the following XML options to be set:
• DTD, XMLSCHEMA, or NONE included at top of document
• ROWSET tag replacement
• ROW tag replacement
• Rowid attribute name replacement
• COLLECTION_ITEM ID name change
• Uppercasing/lowercasing of all tags can be forced
• Character set encoding type
OO4O renders XML from the contents of any OraDynaset based on a starting
row number and continuing for a specified amount of rows.
GetXML method arguments:
• startrow - the first row number from which to start retrieving
• maxrows - the maximum number of rows to retrieve (if the end of the
recordset is reached fewer rows may be returned)
Oracle Services for MTS has been improved in Oracle9i, making transaction-
based OO4O applications much more stable and reliable. In Oracle8i, an
external agent was used as a proxy for the database. There was a limitation of
one such agent per database, which was a potential source of a single point of
failure.
In the new Oracle Services implementation, transaction enlistment and
completion occur within the application server process. From an availability
perspective, embedding the transaction enlistment and completion engine in-
process removes the single point of failure, and thereby increasing availability.
Additionally, this makes the Oracle9i-MTS integration scale better in the
middle-tier since the Oracle Services run now within MTS, rather than as an
external agent.
The main application for registering with the event is in the slide. In the
example, DBEventCls is a user-defined DB event handler. Within
DBEventsCls, the method NotifyDBEvents callback handler must be
implemented (see code sample below). The DB event handler must first be
instantiated prior to event subscription.
Public countofMsgs as integer
Public Function NotifyDBEvents
(Ctx As Variant, Payload As Variant)
' Display DB event message
MsgBox "Retrieved payload " + Payload
' Unregister subscriptions after 3 notifications
countofMsgs = countofMsgs + 1
If countofMsgs > 3 Then
Ctx.Subscriptions(0).UnRegister
End If
End Sub
The Ctx variable is the application-defined context sensitive object that was
passed in when creating the subscription. The Payload variable is the message
that was retrieved when the database event was fired.
Summary
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 1
Windows Data Access: ADO and the Oracle Provider
for OLE DB
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 2
Objectives
Objectives
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 3
OLE DB Overview
OLE DB Overview
ADO provides a high-level data access interface to OLE DB. In general, ADO
is easier to use and accessible from scripting languages, unlike OLE DB.
Programmers often use OLE DB directly when performance is a top priority in
their data access applications.
The Oracle Provider for OLE DB provides optimized access to the Oracle
database for both ADO and OLE DB users.
For more information on ADO and OLE DB, please visit
http://www.microsoft.com/data/ [http://www.microsoft.com/data/]
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 4
ADO/OLE DB Access to Oracle
ActiveX Data
Objects (ADO)
Oracle Provider
for OLE DB (OraOLEDB)
Oracle
By using OraOLEDB, ADO programmers can access Oracle data from any
COM client, such as Visual Basic and Microsoft Office. ADO/OLE DB serves
as an API on top of OCI, which is a C-based API that provides efficient
database access and exposes Oracle’s advanced features.
C/C++ programmers can use OLE DB directly.
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 5
Common Deployments
Common Deployments
Client
MTS
OCI OLE
Oracle DB
IIS HTML
Internet
Active XML
ADO
Server
Pages
ADO and OraOLEDB are commonly used within ASP and VB applications.
These applications participate with Web and transaction servers, such as
Microsoft Internet Information Server (IIS) and Microsoft Transaction Server
(MTS).
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 6
OraOLEDB Advantages versus other OLE DB
Providers
OraOLEDB Advantages
versus other OLE DB Providers
• High performance
– Code is optimized for Oracle
• Access to Oracle advanced features
– LONG, LONG RAW, and LOBs support
– No 32K limit on LOB parameters in stored
procedures
– Full Unicode support
– N datatype support
– Oracle password expiration feature
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 7
New and Updated OraOLEDB Features
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 8
OraOLEDB Features
OraOLEDB Features
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 9
Data Source
Data Source
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 10
Connecting to an Oracle Database
"Provider=OraOLEDB.Oracle;User ID=user;Password=pwd;Data
Source=constr;"
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 11
result in many more round trips to the database. Valid values are 1 to
429,496,296. The default is 100.
• OSAuthent: Specifies whether OS Authentication will be used when
connecting to an Oracle database. Valid values are 0 (disabled) and 1
(enabled). The default is 0 which indicates that OS authentication is not
used.
• PLSQLRSet: Enables or disables returning a rowset from PL/SQL stored
procedures.
• PwdChgDlg: Enables or disables the displaying of the password change
dialog, whenever a logon fails due to an expired password. When enabled,
the provider displays the dialog to change the password. When disabled, the
logon fails with an error message. The valid values are 0 (disabled) and 1
(enabled). The default is 1.
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 12
ADO Examples: Connecting to the Oracle DB
ADO Examples:
Connecting to the Oracle DB
• Connect using Connection String
Dim con As New ADODB.Connection
con.ConnectionString = "Provider=OraOLEDB.Oracle;” & _
• “Data Source=MyOraDb;User ID=scott;Password=tiger;"
con.Open
• Connect without using Connection String
Dim con As New ADODB.Connection
con.Provider = "OraOLEDB.Oracle"
con.Open "MyOraDb", "scott", "tiger"
• OS Authenticated connect setting user id to “/”
Dim con As New ADODB.Connection
con.Provider = "OraOLEDB.Oracle"
con.Open "MyOraDb", "/", ""
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 13
Sessions
Sessions
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 14
Transactions
Transactions
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 15
Commands and Custom Properties
OraOLEDB supports ANSI SQL as supported by Oracle and the ODBC SQL
syntax.
Command Parameters
When using Oracle ANSI SQL, parameters in the command text are preceded
by a colon. In ODBC SQL, parameters are indicated by a question mark ("?").
OraOLEDB supports input, output, and input/output parameters for PL/SQL
stored procedures and stored functions. OraOLEDB supports input parameters
for SQL statements.
Note: OraOLEDB supports only positional binding.
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 16
PLSQLRSet Property
PLSQLRSet Property
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 17
NDatatype Support
NDatatype Support
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 18
SPPrmsLOB Property
SPPrmsLOB Property
Note: Consumers are required to use the ODBC procedure call escape sequence
to call stored procedures or functions having LOB datatype parameters.
This property should be set to FALSE after the command has been executed. By
default, the property is set to FALSE.
Example: Setting the Custom Property SPPrmsLOB
' Create and append the parameters to the command object
Set prCLOB = objCmd.CreateParameter
("prCLOB", adLongVarchar, adParamOutput, 10000)
objCmd.Parameters.Append prCLOB
' Enabling the SPPrmsLOB property indicates to the provider
' that one or more of the bound parameters is of LOB datatype
objCmd.Properties("SPPrmsLOB") = TRUE
' Assume the Stored Procedure requires a CLOB parameter
objCmd.CommandText = "{ call storedproc(?) }"
objCmd.Execute
' It is a good idea to disable the property after execution.
' The same command object may be used for other SQL statements
objCmd.Properties("SPPrmsLOB") = FALSE
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 19
Stored Procedures and Functions Returning Rowsets
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 20
Multiple Rowsets
Multiple Rowsets
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 21
Rowsets
Rowsets
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 22
JOIN Rowsets
JOIN Rowsets
objCon.Provider = "OraOLEDB.Oracle"
objCon.Open "MyOraDb", "scott", "tiger"
objRst.CursorLocation = adUseClient ’ADO Client Cursor
objRst.Open "select ename, dname " & _
"from emp, dept where emp.deptno = dept.deptno", _
objCon, adOpenStatic, adLockOptimistic, adCmdText
’ Recordset created is updateable. Please note that
’ CursorLocation property needs to be explicitly set to
’ adUseClient for this join recordset to be updateable.
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 23
Date Formats
Date Formats
The date format for the Oracle session cannot be set using ALTER SESSION
SET NLS_DATE_FORMAT command.
Dates Passed as Strings Sample:
select * from emp
where hiredate > to_date('15-JUN-81', 'DD-MON-YY')
Dates Passed as Parameters Sample :
objCon.Provider = "OraOLEDB.Oracle"
objCon.Open "MyOraDb", "scott", "tiger"
Set pDate = objCmd.CreateParameter("pDate", adDate, _
adParamInput)
objCmd.Parameters.Append pDate
objCmd.CommandText = "SELECT * FROM EMP WHERE HIREDATE > ?"
objCmd.ActiveConnection = objCon
objCmd.CommandType = adCmdText
pDate.Value = "06/15/1981"
Set objRst = objCmd.Execute
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 24
LOB Support
LOB Support
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 25
Unicode Support
Unicode Support
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 26
Errors
Errors
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 27
Tracing and Debugging
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 28
Summary
Summary
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 29
Copyright © Oracle Corporation, 2000. All rights reserved.
Windows Data Access: ADO and the Oracle Provider for OLE DB
Chapter 2 - Page 30
Oracle Open Database
Connectivity (ODBC)
Chapter 3
Objectives
ODBC Overview
• SQLGetData Extensions
• Added support for the SQL_ATTR_METADATA_ID
• High scalability and reliability with Oracle Services
for Microsoft Transaction Server (MTS)
• Expanded Unicode support
Oracle Services for MTS has been improved in Oracle9i, making transaction-
based ODBC applications much more stable and reliable. In Oracle8i, an
external agent was used as a proxy for the database. There was a limitation of
one such agent per database, which was a potential source of a single point of
failure.
In the new Oracle Services implementation, transaction enlistment and
completion occur within the application server process. From an availability
perspective, embedding the transaction enlistment and completion engine in-
process removes the single point of failure, and thereby increasing availability.
Additionally, this makes the Oracle9i-MTS integration scale better in the middle
tier because the Oracle Services now run within MTS, rather than as an external
agent.
Performance Improvements
Summary
Objectives
MTS Overview
MTS:
• Is an application server typically implemented in
the middle tier for managing distributed
applications
• Offers an ActiveX/DCOM based programming
model
• Under Windows 2000, MTS is not a separate entity,
but subsumed by COM+ as another service
• Provides services such as thread and process
management, object pooling, and reuse
RM Connections
• Resource Manager(s) Join TXN
join Distributed RM 2 DTC Txn Mon 2
Transaction 2PC
Coordinator
Join TXN
(DTC)
RM 3 DTC Txn Mon 3
• At commit, 2-Phase 2PC
Commits (2PC)
are issued.
The graphic above shows how an application process uses the DTC as a
Transaction Processing Monitor.
The DTC is the foundation of the Microsoft Transaction Server application
server. The DTC is a transaction monitor available on Windows NT and
Windows 2000. This allows applications to initiate transactions and also allows
resource managers accessed by such applications to join these transactions.
Using the 2-phase commit protocol, the DTC performs the atomic commits of
these transactions. The interaction between applications and the TM and the
interactions between an RM and the TM is through OLE Transaction (OLETx)
COM interfaces.
Client browser Client browser Client browser Client browser Client browser
DTC DTC
log log
MTS application server 3
Machine boundary
txn object commit txn (TM1) communication (TM2)
Proxy
MTS executive
OLEDB,ODBC, Oracle-
OO4O MTS
integration
OLEDB, layer
ODBC, or 2
OO4O RM proxy for DB1
enlistment RPC
connection 1
returned XID 2PC
4 callback
OCI object
Net8
Machine boundary
Machine boundary
Net8 Oracle Net8
Oracle Oracle
Server
databas Server
(business
e DB1 (2PC)
logic)
Resource Dispenser
To achieve scalability in the MTS environment, resources (for example,
database connections, and memory) used by MTS components can be pooled.
This requires the various resource providers to implement resource dispensers
for their respective resources. The resource dispensers, hereafter referred to as
dispensers, work in conjunction with a dispenser manager to create and
maintain pools of the resource they dispense. The dispenser manager ensures
that transactional resources, such as database connections, will automatically be
enlisted in the requesting MTS component’s ongoing transaction if any.
The OLEDB provider manager is the dispenser for all OLEDB connections,
while the ODBC 3.0 driver manager is the dispenser for all ODBC connections.
OO4O provides the option of using OO4O pooling or the MTS resource
dispenser.
Oracle Server
Oracle
Oracle Server Database
Oracle Server
MTS Executive
OCI
3
Net9
DTC Log
Net9 Oracle
Oracle Server
Database
DB1
MTS Executive
3
Net9 Oracle
Server
Database-Driven Recovery
DTC transaction recovery is driven from the RMs that participated in the DTC
transaction. The RM that joined a DTC transaction must request the final
outcome of the in-doubt transaction from the DTC itself by a process called
reenlistment. During reenlistment the RM passes in the DTC global transaction
identifiers (trids) corresponding to the in-doubt transaction in the RM’s data
source. The DTC then responds with the final outcome of the transaction.
Each MTS-enabled database periodically executes a PL/SQL recovery job to
resolve any unresolved DTC-based transactions. This ensures that recovery will
be initiated whenever the database is up and running. Moreover, this job will
survive database restarts.
Recovery Daemon
DTC transaction recovery requires the use of COM. Since Oracle databases run
on operating systems that do not support COM (for example, Solaris), an
external process is required to resolve transaction outcomes with the DTC. On
each application server node, Oracle has a single recovery daemon instance
which services in-doubt transaction resolution requests for transactions
originating from that node.
The database PL/SQL recovery job contacts the MTS application server node
recovery daemon to resolve any in-doubt transactions that originated from that
node. The recovery daemon in turn contacts its DTC to resolve the transaction
and conveys the outcome to the PL/SQL recovery job. The PL/SQL job then
commits or aborts the in-doubt transaction, accordingly.
3
RM Proxy
RM Proxy MSDTC (TM)
RM Proxy
RM-proxy cache
HTTP Listener
DTC Log
Machine boundary
2 4
1
In a cluster environment using Real Application Clusters, the database job may
be run on multiple instances. The execution of these jobs cannot be assumed to
be serialized. However, this would not cause inconsistencies in the resolution of
in-doubt transactions because the outcome of any in-doubt transactions that
have been resolved cannot be changed subsequently. In other words, it is
impossible to commit an aborted transaction and vice-versa. Once an executing
recovery job commits or aborts the transaction, no other recovery job will be
able to reverse the outcome. This functionality will be optimized in future
release so that the redundancies will be eliminated.
In a high availability environment using Oracle Fail Safe, the recovery daemon
logically should be grouped with the DTC. Because there is no other
configuration that needs to be done after installation, enabling fail safe for
recovery daemon is straightforward. All information pertaining to transaction
recovery is stored in the database.
Connection Pooling
Connection Pooling
A connection pooling mechanism has been implemented within the Oracle-
MTS integration layer for use by MTS clients (in particular) to address
scalability issues. A resource dispenser within the Oracle-MTS integration layer
dispenses pooled OCI connections. New interface functions to allocate and
release pooled connections by way of the dispenser are provided.
A “pooled OCI connection” is essentially an OCI service context handle and its
associated OCI environment and error handles. For each database accessed from
the dispenser, a cache of unused Net9 connections will be maintained. When a
pooled OCI connection is destroyed by the dispenser, the underlying Net9
connection is not dropped immediately; instead, the connection is cached. The
Net9 connection cache will be periodically cleaned up by a garbage collector
thread within the dispenser.
Pooled OCI connections can be used by any of the existing interfaces, such as
the Oracle OLEDB provider, the Oracle ODBC driver, OO4O, or clients that
use pooled connections directly. However, the Oracle OLEDB provider and the
Oracle ODBC driver manage their own database connections and do not use
pooled OCI connections directly. OO4O uses the pooled connections dispensed
by the resource dispenser. Pooled OCI connections will also be used by 2PC
callback objects within the Oracle-MTS integration layer to perform 2PC in
cases where the originally “enlisted” application connection is no longer
available.
Public API
Summary
Objectives
This lesson provides an overview of Oracle Fail Safe release 3.2 and describes
the kinds of high availability solutions that can be deployed on Windows
clusters with Oracle Fail Safe.
Overview
Windows Clusters
Oracle Fail Safe is a core feature included with every Oracle9i, Oracle iAS, and
Oracle Applications Release 11i license for Microsoft Windows NT and
Windows 2000. It is high availability software, integrated with Microsoft
Cluster Server,that provides a fast, easy, and accurate way to configure and
verify Windows clusters and to automatically fail over Oracle databases and
applications. In the event of a system failure, Oracle Fail Safe works with
Microsoft Cluster Server to automatically restart Oracle databases and
applications on a surviving cluster node. Oracle Fail Safe also includes
extensive online documentation, help, and a comprehensive tutorial to help you
get started quickly.
Oracle Fail Safe includes two main components: a server and a manager. The
server component is installed on each cluster node and works with Microsoft
Cluster Server and a set of cluster resource dynamically linked libraries
(Resource DLLs) to ensure fast automatic failover during planned and
unplanned outages. The management component, Oracle Fail Safe Manager, is
an easy-to-use graphical interface that works with the Oracle Fail Safe server
component on one or more clusters to perform configuration, management,
verification, and static load balancing. Together, these components provide a
rich set of features and integrated troubleshooting tools that enable rapid
deployment of highly available databases and applications to make complete e-
business solutions.
Support for:
• Oracle Service for Microsoft Transaction Server
(MTS)
• Oracle iAS, with the exception of Oracle9i Caches
• Windows operating system (OS) authentication for
database authentication
• Oracle Applications Release 11i
• Windows 2000 Datacenter 4-node clusters
• Improved command line and scripting options
Oracle Fail Safe Manager drag-and-drop features and wizards simplify the
process of configuring Oracle e-business solutions for high availability on
MSCS clusters. The Oracle Fail Safe Manager Add Resource to Group Wizard
panel shown above lists many of the Oracle software components that can be
configured for failover. Oracle Fail Safe automatically registers software
resources and updates cluster information on each node, reconfigures the Oracle
Network Services components on each cluster node, and ensures that databases
and applications can successfully fail over from one node to another. In addition
to automating failover configuration for Oracle8, Oracle8i, and Oracle9i
databases, Oracle Fail Safe also automates most aspects of failover
configuration for Oracle iAS and Oracle Applications Release 11i.
n
Client Tier Application Tier Data Tier
Oracle Fail Safe Oracle Fail Safe Oracle Fail Safe Oracle Fail Safe
Fiber Channel
Cluster Drives
Oracle Fail Safe supports Windows 2000 Datacenter clusters, which currently
can contain up to four nodes. Larger clusters can provide significant economies
of scale. Replacing a collection of two-node clusters with a single Windows
2000 Datacenter Server cluster can substantially reduce the hardware cost
associated with otherwise "idle" systems. Management and administration tasks
are also consolidated into a single cluster environment.
In the figure, a four-node Windows 2000 Datacenter cluster is configured so
that a single cluster node serves as the backup system in the event that any of
the other nodes fails. By contrast, if each of the three workloads is instead
deployed on its own separate two-node active/passive cluster, then three of the
six total systems in the complete solution would be idle.
More Information
If you have questions, comments, or suggestions about Oracle Fail Safe, please
email failsafe_us@oracle.com [mailto:failsafe_us@oracle.com]
Summary
Oracle Fail Safe is a core feature of Oracle9i, Oracle iAS, and Oracle
Applications Release 11i that minimizes or eliminates many potential sources of
both planned and unplanned downtime. With Oracle Fail Safe, developers and
administrators can quickly design and implement a large variety of highly
available application and database solutions on Windows clusters. The
automated wizards and configuration tools included with Oracle Fail Safe make
deployment and maintenance easy. For many customers, the business downtime
prevented during a single server outage provides an immediate return of
investment for their entire high availability solution.
Objectives
To use Windows Native Authentication with Oracle products, ensure that the
SQLNET.AUTHENTICATION_SERVICES is set to NTS in the sqlnet.ora file
on both client and server (default setting after installation).
NetCA
• Used to install the Oracle Schema in the directory
server
• With Active Directory, NetCA uses Windows Native
Authentication to connect to the directory server
• Access control on Oracle objects is different
between OID and AD
Storing Oracle wallets on the Windows file system can be insecure and
difficult to manage users. Windows 95/98 have no access control available for
their file systems. Additionally, when a user is removed from the computer or
domain, the administrator has to explicitly remove the user’s wallet from the
local computer’s file system.
\\HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\DEFAULT
\\HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\
SALESAPP\CWALLET.SSO
The Oracle Wallet Manager tool is used to create and manage Oracle wallets.
In Oracle9i, the user can store Oracle wallets in Windows System Registry.
When the tool opens or saves a wallet, a screen is displayed with the choice of
“Windows System Registry” or “File”. If Windows System Registry is
selected, then then tool will show a list of existing keys under
\\HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS. You can
select one of the existing locations, or enter the name for a new location
(registry key).
For example, if the new key is KEY1, then the tool will create a registry key
\\HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\KEY1. The
encrypted wallet is the registry value
\\HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\KEY1\EWA
LLET.P12, and the decrypted wallet is the registry value
\\HKEY_CURRENT_USER\SOFTWARE\ORACLE\WALLETS\KEY1\CWA
LLET.SSO.
If the user selects to choose “File”, then the tool will display all the available
drives/directories on the local machine. The user can select one of the existing
directories or can enter a new directory. The tool will then store the
encrypted/decrypted wallet in the selected directory, creating the directory if it
does not exist.
%USERPROFILE%ORACLE\WALLETS\DEFAULT
To enable single sign-on to Oracle products which use Oracle PKI, Oracle has
a single sign-on tool Oracle Enterprise Login Assistant. A user can logon once
(which will create the decrypted wallet for Oracle) and from then on until the
user logs out, all applications will use this decrypted wallet to authenticate.
When logging out from the tool, the decrypted wallet is removed from the
corresponding location.
If a decrypted wallet is not found in Windows System Registry or file system
default locations, then the login assistant displays that Auto Login is not
enabled (in the status bar at the bottom).
Security Policy
Policy DC/KDC
Distribution,
Certificate
Publication, Domain
Certificate etc. Logon
Enrollment
and
Revocation
Domain Client
Machine
Microsoft has its own Public Key Infrastructure (PKI). This infrastructure is
built around the Certificate Store which stores the certificates, references to
private keys and trust points, and Microsoft's Crypto APIs. Microsoft provides
its own Certificate Server bundled with NT 4.0 Server Option Pack and
Windows 2000 server editions.
Public key objects are things such as certificates and certificate revocation lists.
Note: Some user certificates are stored in Active Directory.
The integration of Oracle PKI with Microsoft PKI provides customers with a
simple, well-integrated Oracle PKI solution on Windows operating systems,
where ease of use and flexibility are primary objectives. Customers have a
choice of either using a complete Oracle PKI solution from start to finish or
using Oracle PKI with Windows PKI.
The following are some of the benefits of integrating Oracle PKI with
Windows PKI:
• Allow Oracle products to interoperate with already existing products other
than Oracle, using Microsoft PKI
• Single sign-on for both Oracle and Windows
• Support Smart Cards for Oracle products
Configuration Example
Summary