Skip Headers

Oracle® Communication and Mobility Server Release Notes 10g Release 3 (10.1.3) Part Number E12739-03 |
Home | Contents | Contact Us

| View PDF

# Oracle® Communication and Mobility Server

Release Notes

10g Release 3 (10.1.3)

E12739-03

July 2008

This document contains information that augments information in the existing books in the Oracle Communication and Mobility Server library (Installation Guide, User's Guide, and Administrator's Guide). Topics include:

- New in this Release

- Limitations

  - Installation

  - Erroneous SQL Errors in Installation Log

  - Port Conflicts

  - High Call Set Up Latencies Observed on TCP Compared to UDP

  - Dropping the OCMS Schema from an Oracle Database

  - Database Tablespace Password in Clear Text in Data-Sources.xml

  - High Authentication Latency When Using Oracle Internet Directory

  - Oracle Communicator Causing Windows Vista to Shut Down

  - Starting/Stopping Edge Proxy Using Oracle Enterprise Manager

  - Restart Server After Redeploying Presence

  - Performance

  - Presence Web Services Deployed as Child of Presence Server

  - Return of Control to UI Failing After Accessibility Testing

  - Presence/Event Notifications

  - Sound Alerts in Oracle Communicator

  - Verify Spelling in Attribute Names

- Documentation Accessibility

## New in this Release

For information about new and improved features in this release, see Oracle Communication and Mobility Server Administrator's Guide.

## Limitations

The following limitations exist in this release.

### Installation

This section lists Installation-related bugs.

#### Progress Bar Not Moving During Deinstallation

When deinstalling Oracle products using Oracle Universal Installer, some users have reported that the Deinstall progress bar does not progress linearly (that is, from 0% to 100%). It should show continuous progress, but sometimes it displays 0% for a few minutes, then 100%. Deinstall is being accomplished as planned, only the progress is not being displayed correctly. No user action is required.

#### Ensure Your Database Service Name is Entered Correctly in the Database Details Screen

When entering your database service name into the field on the Database Details screen, ensure that you enter the name correctly; Oracle Universal Installer cannot verify that the name you enter is correct or not.

#### Deinstaller Failed to Delete Appropriate SDP Instance Datafiles

Since the SDP DataFile Directory usually resides on a remote server, Oracle Universal Installer does not have write access to the remote machine and cannot remove the old SDP Datafile Directory.

#### Selections in Installation Screen Not Preserved When Using Back Button

In Oracle Universal Installer, certain products/components are selected by default. You can select/deselect products and components in the Available Products screen. If you continue to subsequent screens and then go back to the Available Products screen, the default products/components will again be selected, so you must select/deselect again as desired.

#### Deselect All Button Fails to Deselect Some Default Components

In some cases, user may need to manually deselect components rather than rely on the Deselect All button.

#### Clear Text Password in Log When Creating Test Users

When creating test users in Oracle Communicator, the password string can be found in clear text in the log file. This only occurs when creating test users; regular users are still protected.

#### No Program Group on GUI Elements Created for Sash Controls

A Program Group and Start/Stop icons are not created for Sash during installation on Windows. For information on using Sash, see Oracle Communication and Mobility Server Administrator's Guide.

#### stty: standard input: Invalid argument logged During Installation

The error message stty: standard input: Invalid argument is logged during installation when the `SASH` utility is invoked by Oracle Universal Installer using Java Runtime. This error appears when a file is passed (as an argument) with all the SASH commands to be executed. You can safely ignore this error message in the log file.

### Erroneous SQL Errors in Installation Log

Some SQL errors will be listed in the Install log that report user does not exist, or user xyz does not exist. These errors can be safely ignored.

### High Call Set Up Latencies Observed on TCP Compared to UDP

With out-of-the-box configuration, you might encounter higher call set up latencies with TCP compared to UDP. This is due to Nagle's algorithm which automatically concatenates several small messages and sends them as one to relieve network congestion. In this release, it is possible to disable Nagle's algorithm by specifying a system property for the JVM.

To disable Nagle's algorithm for TCP, add the following system property to the JVM parameters:

    -Doracle.sdp.networklayer.tcpNoDelay=true

This setting disables Nagle's algorithm for all TCP sockets used by the container for SIP and DNS protocols.

- For standalone installation, add the above property to the command line in the `startocms` script, and for installation to application server, add the property to the start command of the OCMS instance in `opmn.xml`.

- For clustered topologies with edge proxy, add the above property to the start command for Edge Proxy process in opmn.xml as well.

### Port Conflicts

Port conflicts can interfere with your set up and use of Oracle Communication and Mobility Server. To avoid port conflicts, follow the recommendations below.

#### OCMS Multiple Instances Support: Presence Port Conflict

For multiple instances of OCMS (either Standalone or Oracle Application Server instance or a combination of both) running on the same machine, there will be a Presence port conflict with respect to port 5070. This port is used by default as the Presence port by all the instances running on the same machine.To avoid this port conflict, complete the following steps for each of OCMS instance:

1. Go to `ORACLE_HOME/j2ee/home/config/sdp` (for Standalone OCMS instance) or `ORACLE_HOME/j2ee/ocms/config/sdp` (for Oracle Application Server OCMS instance).

2. Open the file `UserAgentFactoryServiceImpl.xml`

3. Modify the Port value to a value other than 5070.

   The modified value must be a port value that is not being used by any other OCMS instance or any other process running on the machine.

       <-- Port value should be changed here -->
       <attribute name="Port" type="java.lang.Integer">5070</attribute>

4. Restart the OCMS instance.

   After these steps are performed for all the OCMS instances, the port values for the Presence port will not conflict with any of the OCMS instances running on the same machine.

   These steps are mandatory to support Multiple OCMS instances on one machine.

If this is a new installation, then ensure that you use unique port numbers for the SIP PORTS. If you have already installed, then follow the steps above to avoid any port conflicts.

#### Multiple Installs

This section presents scenarios in which multiple installs are completed on a single machine.

##### Case 1: Multiple Standalone Instances on a Single Box

Complete the installation as follows:

1. Install the first standalone instance into, for example: `ORACLE_HOME_1`.

2. To start the installation of the second OCMS instance:

   - Stop the first OCMS instance running in `ORACLE_HOME_1`.

   - Launch the installer to install the second instance into, for example: `ORACLE_HOME_2`.

   - Provide a different SIP PORT value and OC4J HTTP PORT value for this instance. The values must be different from those used in the OCMS installation for `ORACLE_HOME_1`. If the values are the same and both the instances are brought up, there will be a port conflict.

   - Complete the OCMS installation and exit the installer.

   - Stop this newly installed OCMS instance.

   - Go to the newly installed `ORACLE_HOME_2/j2ee/home/config` directory.

     Open the file `rmi.xml`. Change the value for the `rmi-server port = 23791` and the `ssl port = 23943` to different values so that they do not conflict with the values in ORACLE_HOME_1.

         <-- Port value should be changed here -->

         <rmi-server
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/rmi-server-10_0.xsd"
         port="23791"
         ssl-port = "23943"
         schema-major-version="10"
         schema-minor-version="0"
               >

     Open the file `jms.xml` and change the value for the `jms-server port = 9127` to some other value, so that this value does not conflict with the values in ORACLE_HOME_1.

         <-- Port value should be changed here -->
               <jms-server port="9127">

   - Start both the instances in ORACLE_HOME_1 and ORACLE_HOME_2. Use the `startocms.bat`/startocms.sh utility in `ORACLE_HOME/sdp/bin` for this.

3. The SIP Port and the OC4J HTTP Port can be changed at the time of installation. However, the `rmi-server port`, `ssl port` and `jms-server port` should be changed manually after installation to avoid any potential port conflicts in case several instances are brought up at the same time.

##### Case 2: Single Oracle Application Server Instance with a Standalone Instance on a Single Box

Complete the installation as follows:

1. In this case, care should be taken to ensure that the following ports do not conflict with the ports used by Oracle Application Server:

- SIP Port

  The value for the Standalone SIP PORT must be different than the value for the SIP PORT used by Oracle Application Server. For example, if Oracle Application Server is using `SIP PORT = 5060`, then the value for the Standalone SIP PORT must be changed to any other value (for example: 5065) during installation.

- OC4J HTTP PORT

  The standalone OC4J HTTP Port must not conflict with the HTTP Server Port used by the Oracle Application Server (usually 7777). A different port value than the one used by the Oracle Application Server for the HTTP PORT must be used by the standalone instance.

##### Case 3: Multiple Oracle Application Servers on a Single Box

To avoid port conflict, ensure that the values for each SIP PORT are different for each of the Oracle Application Server instance. This value is provided during the installation.

#### When Non-Default SIP Ports are Used, Some MBeans are Missing Port Values

If a non-default SIP Port (of, for example 5065) is used during installation, then the following MBeans are missing the non-default SIP Port values:

- `PIDFManipulationXCAPUri`

- `PresRulesXCAPUri`

### Dropping the OCMS Schema from an Oracle Database

Before uninstalling OCMS using Oracle Universal Installer, follow this procedure to drop the OCMS schema from your Oracle database:

Note:

All the required DB scripts are present in: `$ORACLE_HOME/sdp/ocms` where: ORACLE_HOME corresponds to the OCMS installation (standalone or installed into an Application Server).

- Drop OCMS Tables

- Drop OCMS Schema Users and Tablespaces

- Delete JAZN Users

#### Drop OCMS Tables

Execute the following commands to drop OCMS Tables (`ORACLE_HOME` in the following commands refers to the ORACLE_HOME of your Oracle Database installation. If required, copy all the pertinent SQL files from the OCMS installation to the database machine.):

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @xcapservice.drop.oracle.sql <prefix>

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @locationdbservice.drop.oracle.sql <prefix>

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @securityservice.drop.oracle.sql <prefix>

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @userservice.drop.oracle.sql <prefix>

Dropped tables are moved to the recycle bin in your Oracle database by default (you will see table names beginning with `BIN$` when you list your tables). If you want to purge the recycle bin, issue command `purge recyclebin` at the SQL prompt for each schema user, as shown below:

    $ORACLE_HOME/bin/sqlplus <prefix>_orasdpxdms/<ocms_schema_password>@<Dbservice>

    ……
    ……
    SQL> select * from tab;
    TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    BIN$P9h/EEcexkvgQFeMAwYtlg==$0 TABLE
    BIN$P9h/EEckxkvgQFeMAwYtlg==$0 TABLE
    BIN$P9h/EEcoxkvgQFeMAwYtlg==$0 TABLE
    BIN$P9h/EEcvxkvgQFeMAwYtlg==$0 TABLE
    BIN$P9h/EEcZxkvgQFeMAwYtlg==$0 TABLE
    SQL> purge recyclebin;
    Recyclebin purged.
    SQL> select * from tab;
    no rows selected
    SQL>

#### Drop OCMS Schema Users and Tablespaces

Execute the following commands to drop OCMS Schema Users and Tablespaces:

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @orasdpxdms.drop.oracle.sql <prefix>

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @orasdpls.drop.oracle.sql <prefix>

    $ORACLE_HOME/bin/sqlplus system/<system_password>@<DBservice> @orasdpsds.drop.oracle.sql <prefix>

Completely remove the OCMS-related data files (You will find all the OCMS-related dbf files in the `oradata` directory of your Oracle Database installation or other location explicitly chosen during OCMS installation.):

    rm -rf <prefix>_orasdp*.dbf

#### Delete JAZN Users

If you wish to delete the JAZN users created to access the OCMS schemas, do the following:

    java -Doracle.j2ee.home=$ORACLE_HOME/j2ee/<instance_name> -jar $ORACLE_HOME/j2ee/home/jazn.jar -user oc4jadmin -password <oc4jadmin_password> -remuser jazn.com <prefix>_orasdpxdms

    java -Doracle.j2ee.home=$ORACLE_HOME/j2ee/<instance_name> -jar $ORACLE_HOME/j2ee/home/jazn.jar -user oc4jadmin -password <oc4jadmin_password> -remuser jazn.com <prefix>_orasdpls

    java -Doracle.j2ee.home=$ORACLE_HOME/j2ee/<instance_name> -jar $ORACLE_HOME/j2ee/home/jazn.jar -user oc4jadmin -password <oc4jadmin_password> -remuser jazn.com <prefix>_orasdpsds

where

`ORACLE_HOME` corresponds to the OCMS installation (standalone or installation to an Application Server),

and

`<instance_name>` is home or ocms, depending on whether it is a standalone installation, or installation into an Application Server.

### Database Tablespace Password in Clear Text in Data-Sources.xml

After using `java -jar admin_client.jar`, clear text password information has been discovered in `data-sources.xml`. In order to avoid storing password information in clear text in your production environment, you must delete and recreate the XDMS Connection Pool and the Data Source. Follow these steps:

1. Delete the XDMS Connection Pool

2. Delete the Data Source

3. Create a New User

4. Create a New Connection Pool

5. Create a New Data Source

#### Delete the XDMS Connection Pool

Delete the Connection Pool (for example: `SDP XDMS Connection Pool`).

#### Delete the Data Source

Delete the Data Source (for example: `OcmsXdmsDs`).

#### Create a New User

Using Oracle Enterprise Manager, follow these steps:

1. Log in to Oracle Enterprise Manager.

2. Navigate to Administration -> Security Providers MBeans.

3. Click Application Server Control Security.

4. Click Users.

5. Click Create.

6. Enter UserName as `PREFIX_ORASDPXDMS`, where PREFIX is the same schema prefix you used while entering database details during installation.

7. Enter the password.

8. Ensure the Assign Roles check boxes are unchecked.

9. Click OK. The new user has been created.

#### Create a New Connection Pool

Using Oracle Enterprise Manager, follow these steps:

1. Log in to Oracle Enterprise Manager.

2. Navigate to Administration -> JDBC Resources MBeans.

3. Under Connection Pools, click Create.

4. Leave Application as default.

5. Under Connection Pool Type, select New Connection Pool.

6. Click Continue.

7. Enter the name of your choice (for example: SDP XDMS Oracle Connection Pool).

8. Specify the database details.

9. Under Credentials enter the UserName as `PREFIX_ORASDPXDMS`, where PREFIX is the same schema prefix you used while entering database details during installation.

10. Select Use Indirect Password, and enter `PREFIX_ORASDPXDMS`. Do Not enter a password at all here! Also, Do Not select Use Cleartext Password.

11. Click Finish.

#### Create a New Data Source

Using Oracle Enterprise Manager, follow these steps:

1. Log in to Oracle Enterprise Manager.

2. Navigate to Administration -> JDBC Resources MBeans.

3. Under Data Sources, click Create.

4. Leave Application as default.

5. Under Data Source Type, select Managed Data Source.

6. Click Continue.

7. Enter the name of your choice (for example: OcmsXdmsDs).

8. Enter the Jndi location (for example: `java:jdbc/OcmsXdmsDs`)

9. Leave the Transaction Level at Global and Local Transactions.

10. Select the name of the Connection Pool created above (for example: SDP XDMS Oracle Connection Pool).

11. Set Login Timeout to 0.

12. Click Finish.

If you need to delete the Connection Pool and/or the Data Source in the future, use Oracle Enterprise Manager to remove them:

1. Log in to Oracle Enterprise Manager.

2. Navigate to Administration -> JDBC Resources MBeans.

3. Delete the Connection Pool and/or Data Source as needed.

### High Authentication Latency When Using Oracle Internet Directory

High latencies for authentication may be observed when using Oracle Communicator to authenticate against an OID using static verifiers if the wrong filters are used when configuring `ejb-jar.xml` for userservice and securityservice JARs within subscriber dataservices. As a general rule, the filter attribute should not have the following key-value pair: `<orclcommonnicknameattribute>=<value>` in the filter where `orclcommonnicknameattribute` refers to the attribute in OID under `cn=Commons,cn=Products`, `cn=OracleContext` for each of the provisioned LDAP realms (for example: `dc=example,dc=com`).

For example, if `orclcommonnicknameattribute` is set to mail in OID and the administrator configures the filter to: `(&(mail=*@example.com)(orclvisible=true)`; this will create latency.

### Oracle Communicator Causing Windows Vista to Shut Down

If a user sets up two Oracle Communicator clients on a single machine running Microsoft Windows Vista and then makes a video call from one of the clients, Vista may shut down. Do not set up two different Oracle Communicator Clients on a single Vista machine.

### Starting/Stopping Edge Proxy Using Oracle Enterprise Manager

Some users have reported intermittent problems when using Oracle Enterprise Manager to start or stop Edge Proxies. The recommended way to start/stop Edge Proxies is by using `opmnctl`.

### Restart Server After Redeploying Presence

When you undeploy and redeploy Presence, you must restart the server before continuing.

### Performance

The following actions can improve performance and your understanding of OCMS performance.

#### Turn Off HTTP Caching on XDMS Nodes

You can improve performance by turning off HTTP caching on an XDMS node. To turn off caching, add `-Dhttp.maxFileInfoCacheEntries=-1` to the `startocms.bat` or `opmn.xml` file.

#### Performance Metrics in Presence Server

For each of the three event packages loaded by the event package manager (presence, presence.winfo and ua-profile) there is an MBean exposed by the SDP server to monitor some performance metrics of the event package.

The MBeans are accessible as part of the presence application mbeans under the EventPackageMonitor. The MBeans are respectively named EventPackageMonitor_PRESENCE, EventPackageMonitor PRESENCE.WINFO and EventPackageMonitor_UA-PROFILE.

For each of the event packages, the following attributes and operations are exposed for monitoring performance:

##### Attributes

These attributes are available:

- EventStateCompositorClassName--The EventStateCompositor class name.

- Name--The name of this event package.

- NotifierClassName - The Notifier class name.

- NumberOfActiveSubscriptions - The current number of active subscriptions in this event package.

- NumberOfPendingSubscriptions - The current number of pending subscriptions in this event package.

- NumberOfPublications - The current number of active publications in this event package.

- NumberOfResources - The current number of resources in this event package.

- NumberOfSubscriptions - The current number of subscriptions in ALL states (Active, Pending and Waiting) in this event package.

- NumberOfWaitingSubscriptions - The current number of waiting subscriptions in this event package.

- ProcessingNewRequests - Indicate whether the EventPackage is processing new requests or not.

- ResourceManagerClassName - The ResourceManager class name.

- RetryAfter - If the Event Package is not processing any new requests then how long should the clients wait before they retry again?

- TotalNumberOfNotifies - The total number of NOTIFIES this event-package has received since last reboot.

- TotalNumberOfPublish - The total number of PUBLISHes this event-package has received since last reboot.

- TotalNumberOfSubscribes - The total number of SUBSCRIBEs this event-package has received since last reboot.

##### Operations

The following operations are available:

- countActiveSubscriptions - Get the total count of all subscriptions in the ACTIVE state for the specified resource at this time.

- countPendingSubscriptions - Get the total count of all subscriptions in the PENDING state for the specified resource at this time.

- countSubscriptions - Get the total count of all subscriptions for the specified resource at this time.

- countTerminatedSubscriptions - Get the total count of all subscriptions in the TERMINATED state for the specified resource at this time.

- countWaitingSubscriptions - Get the total count of all subscriptions in the WAITING state for the specified resource at this time.

- getMBeanInfo - Get localized meta-data for this MBean.

- getResourceIDs - Get all the resource IDs for which the event package has some state stored.

### Presence Web Services Deployed as Child of Presence Server

When a presence web service is deployed as a child of presence, warnings (such as that listed below) may appear because of duplicate jars in the presencewebservice.ear and the presenceapplication.ear; these warnings are harmless and may be ignored.

    WARNING: Code-source
    /home/ocms_standalone/j2ee/home/applications/presencewebservice/lib/pr
    esrulesxbean-10.1.3.4.0.jar (from <library> in
    /home/ocms_standalone/j2ee/home/applications/presencewebservice/) has the same filename but is not identical to
    home/ocms_standalone/j2ee/home/applications/presence/lib/presrulesxbea n-10.1.3.4.0.jar (from <library> in
    /home/ocms_standalone/j2ee/home/applications/presence/). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader presencewebservice.root:0.0.0.

### Return of Control to UI Failing After Accessibility Testing

During Accessibility testing of UI elements, control has failed to return to the UI in some cases. The Alt, Tab, Spacebar, and Enter keys are used instead of the mouse to navigate and manipulate screen items. When finished, control should return to the UI, but does not in some cases.

Users should use `<ALT>FO` or `<ALT>FX` to return control to the UI if they encounter this problem. Additionally, use the Spacebar whenever using the Enter key does not accomplish the desired action.

### Presence/Event Notifications

Some users have encountered an issue when checking the DeployedApplications in SipServletContainer. The list appears empty.

To avoid this problem, do not deploy Presence Server more than once on the same Oracle Application Server instance because it will cause OC4J to start multiple instances of the Presence Server.

### Sound Alerts in Oracle Communicator

In Oracle Communicator User's Guide, sound alerts for contacts coming online, going offline, and when voicemail is received are not implemented in this release.

### Verify Spelling in Attribute Names

When an attribute name is misspelled in `opmn.xml`, the corresponding process will not start, and you will receive an error message in the logs stating that the misspelled attribute name is not found. In `orion-application.xml`, however, you will not receive such an error message if the name of an attribute is misspelled. So if you misspell an attribute name in the cluster configuration section, replication will appear to have started, but session replication will not work. Be very careful to spell attribute names correctly in `orion-application.xml`.

## Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at `http://www.oracle.com/accessibility/`.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

TTY Access to Oracle Support Services

Oracle provides dedicated Text Telephone (TTY) access to Oracle Support Services within the United States of America 24 hours a day, 7 days a week. For TTY support, call 800.446.2398. Outside the United States, call +1.407.458.2479.

Oracle® Communication and Mobility Server, 10g Release 3 (10.1.3)

E12739-03

Copyright © 2006, 2008, Oracle. All rights reserved.

The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.

The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.

If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs.

Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.