StorageTek Automated Cartridge System Library Software

SNMP Agent Installation, Configuration, and Operation

Release 2.4

E65408-02

June 2019

StorageTek Automated Cartridge System Library Software SNMP Agent Installation, Configuration, and Operation, Release 2.4

E65408-02

Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents

Preface

- Audience

- Documentation Accessibility

1 Overview

2 Installation

- Prerequisites

- Installing the ACSLS SNMP Agent

- The Installed Package

- Uninstalling the ACSNMP Software Package

3 Configuration

- The AcslsAgtd.cfg file

- The AcslsAgtd.url file

- System-level Configuration Settings

4 Operation

- Starting and Stopping the ACSLS Agent on Solaris

- Starting and Stopping the ACSLS Agent on Linux

- Verifying ACSLS Agent Operation

- Setting up a Trap Listener

5 Troubleshooting Tools

- Checking Status

- The ACSNMP Log File, AcslsAgtd.log

- The agent Command

Index

Preface

This guide provides instructions for the installation and use of ACSNMP, the Oracle StorageTek Automated Cartridge System Library Software (ACSLS) Simple Network Management Protocol (SNMP) Agent. The ACSLS SNMP Agent is also called the Agent in this document.

This guide is intended for system or storage administrators who are responsible for monitoring library control events from the perspective of ACSLS.

It is assumed that the reader is familiar with SNMP and only limited general SNMP support is provided in this manual. For more information about the net-snmp master agent, see http://www.net-snmp.org.

Audience

This manual is intended for system or storage administrators who are responsible for monitoring library events. It is assumed that the reader is familiar with SNMP.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

1 Overview

SNMP is an industry-accepted model for collecting operating status from a wide variety of information technology hardware and software nodes within a data center. Each node is equipped with agent server software that communicates to a client.

The client is typically a management application that listens for incoming traps and provides comprehensive status displays on a service console. This SNMP client retrieves status information from scores of server agents across the data center. The role of each agent is to expose status information to the client about the set of objects that it manages. All of the managed objects are represented in a Management Information Base (MIB). A typical client management application is in touch with multiple agents reporting their respective MIBs.

The management application can report the status of each object in the entire data center. It can react to problems or status changes by sending an email message to an administrator or by paging an appropriate support technician.

The agents communicate their monitored data to a master agent on each host. On Solaris and Linux systems, the master agent is part of the open-source net-snmp software, available as a standard add-on. The net-snmp bundle includes a complete set of SNMP utilities, including the xagent master agent, a trap listener, and the standard snmp command-line utilities including snmpget, snmpwalk, and snmptranslate. Since the ACSLS MIB contains read-only objects exclusively, snmpset utilities do not apply to this application.

For Oracle systems, net-snmp software is provided with simple installation steps using pkg install on Solaris or yum install on Linux. The ACSLS Agent provides read-only access for use with SNMP client software using the SNMP-V1 protocol. There are no set-able objects to ACSLS that are exposed through the ACSLS MIB. All adjustable parameters are provided on the ACSLS server to configure trap destinations, ACSLS status polling frequency, and a URL that may be required by some management applications.

The ACSLS SNMP Agent is responsible for monitoring objects defined within the ACS-TAPE-MONITOR-MIB. The Agent maintains status information about storage libraries under ACSLS control and exposes the ACS-TAPE-MONITOR-MIB database to the management application, communicating any status changes of the various objects to the management console. The ACSLS Agent works behind the net-snmp Master Agent whose SNMP domain reaches to the various subsystems running on the Solaris or Linux system. The ACSLS SNMP Agent 2.4 is designed to run in a Solaris 11 or Linux 6 environment on a host that is running ACSLS Release 8.4 software.

Note:
SNMP 2.4 is certified for ACSLS Release 8.4 only.

The Agent provides ACSLS queried information about the monitored ACSs and their internal components (such as LSMs, CAPs, and drives). The Agent regularly submits status requests to the ACSLS server and sends asynchronous messages (SNMP traps) to registered client listeners whenever status changes are detected in an ACSLS library or any of its components. Standard SNMP Agents listen for requests on UDP port 161 and send traps through UDP port 162. The port assignments are adjustable for administrators who require unique and secure network configurations.

This manual provides installation, configuration, and operation instructions for the ACSLS SNMP Agent. System administrator (root) privileges are required to install and configure the Agent. This document offers hints on how to use the Agent from a SNMP management application. A troubleshooting chapter is provided to offer guidance for restoring operation of the Agent in situations arising from common problems.

2 Installation

This chapter describes the installation procedure for the ACSLS SNMP Agent on Solaris 11 or Linux 6. ACSNMP 2.4 is available for SPARC and X86 Solaris or Linux platforms running ACSLS Release 8.4. Version 2.4 of the SNMP Agent is available for download from Oracle's edelivery website.

Note:
SNMP 2.4 is certified for ACSLS Release 8.4 only.

Prerequisites

Install the following prerequisite packages:

- On Linux

yum install rpmlibs.i686
yum install net-snmp.i686
yum install net-snmp-libs.i686
yum install net-snmp-utils.i686

- On Solaris 11

pkg install net-snmp

Installing the ACSLS SNMP Agent

Download the ACSLS SNMP Agent.

1. Login to the ACSLS server as root.

2. Download the appropriate package and transfer it to the /opt directory on your ACSLS server. Navigate to the ACSLS Software directory in the Oracle edelivery site and look for the following packages:

ACSNMP for SPARC Solaris 11      STKacsnmp_2.4.0.SPARC.zip
ACSNMP for X86 Solaris 11        STKacsnmp_2.4.0.X86.zip
ACSNMP for Linux 6.x             STKacsnmp_2.4.0.i686.rpm

3. Extract the package:

# cd /opt
# unzip STKacsnmp_2.4.0.<platform>.zip

4. Install the Agent:

- On Solaris package installation is handled by the Solaris pkgadd command:

# pkgadd -d .

Select the STKacsnmp package.

The package installation script on Solaris automatically locates the proper installation directory in the same file system with ACSLS. The installation script creates a new acsnmp service under the Solaris Service Management Facility (SMF). Once the package is installed, configure various operational properties and run the Agent.

- On Linux
It is important to install the ACSLS SNMP Agent under the same file system where ACSLS is installed. To identify the correct install directory, you can source the ACSLS environment and display the installation directory

# .  /var/tmp/acsls/.acsls_env
# echo $installDir

If ACSLS is installed under /export/home, then use the following method to install the ACSLS Agent.

# rpm -ivh STKacsnmp.2.4.0.i686.rpm

If ACSLS is installed under a different file system than /export/home, you must specify the installation directory using the following RPM command:

# rpm -Uvh --prefix $installDir STKacsnmp_2.4.0.i686.rpm

The package installation script on Linux will create a new acsnmp service under /etc/init.d. Once the package is installed, configure various operational properties and run the Agent.

The Installed Package

Once the package is installed, you can find it in the $installDir/ACSNMP directory. Hereafter any reference in this document to $ACSNMP_HOME equates to that directory path. In cases where the factory default directory was chosen, this translates to /export/home/ACSNMP.

Along with the ACSLS Agent daemon binary AcslsAgt, the AcslsMib.mib file is found in the ACSNMP top-level directory. You may want to copy this file for use on any SNMP client machine that listens for SNMP traps. The MIB is useful for translating numeric object identifiers (OIDs) into meaningful text-based objects.

In addition to the Agent software and the ACSLS MIB, several utilities are in the $ACSNMP_HOME/utils directory to assist you as you configure and test the Agent. These include:

- agent reveals detailed startup and status information.

- walker quickly scans the status of the entire ACSLS MIB.

- translate walks the ACSLS MIB, listing objects in English text.

- set_system_trap_test sends a test trap from net-snmp master to a listener.

For details, see "Troubleshooting Tools".

Uninstalling the ACSNMP Software Package

To uninstall the ACSLS SNMP Agent:

- On Solaris:

1. Stop the ACSLS SNMP Agent:

# svcadm disable acsnmp

2. Remove the package:

# pkgrm STKacsnmp

Any residual files created since the initial packag install may remain in the ACSNMP directory.

- On Linux:

1. Stop the ACSLS SNMP Agent:

# service acsnmp stop

2. Remove the package:

# rpm -e STKacsnmp

3 Configuration

This chapter explains configuration settings that can be set for ACSLS Agent parameters and details the essential system-level SNMP V1 parameters for the ACSLS Agent.

The AcslsAgtd.cfg file

A number of operational parameters in this application can be adjusted by the user of the ACSLS SNMP Agent. Two configuration files can be found in the top-level ACSNMP directory: AcslsAgtd.cfg and AcslsAgtd.url.

Most configuration settings are defined in the file, AcslsAgtd.cfg. There are eight parameters that can be set in this file. The value for each variable is placed between the colon and a semicolon. Where multiple values are defined, they should be separated by a comma.

- DEST:;
This parameter defines the host names or ip addresses of the various destination servers that will be listening for specific trap messages from the ACSLS SNMP Agent.Place all destinations between the colon and the semicolon, separating them with commas:

DEST:localhost,host2,host3,123.45.67.89;

- SNMP_PORT:161; and SNMP_TRAP_PORT:162;
These are the default port settings for communications from the ACSLS SNMP Agent. If these ports are in use by other applications, the administrator may redefine the port numbers for the ACSLS Agent as needed.

- SNMP_COMMUNITY:;
The community you define here should also be listed as a V1 rocommunity in the net-snmp configuration file, snmpd.conf. If no community is defined, traps from the Agent are identified with the deprecated public read-only community. The factory setting is acs_user.

- MIN_RATE:15;
This setting defines the limit of how often the ACSLS SNMP Agent is allowed to probe ACSLS to update the MIB. It is best to keep MIN_RATE value set to no less than fifteen (15) seconds.

- CURR_RATE:60;
This is the actual SNMP polling rate used to update the ACSLS MIB. This setting can be adjusted lower or higher, depending on the need. Probing more frequently with a lower polling rate allows more accurate and up-to-the-second responses for traps and snmpget requests. But with each probe, the ACSLS SNMP Agent submits status queries to ACSLS for every object in the entire MIB. Consequently, in larger library complexes with hundreds of OIDs in the MIB, there can be a detrimental cost to overall ACSLS performance with lower SNMP polling rates.

- ACS_TRAP_LEVEL:;
This parameter is the reporting level defined for traps that are broadcast from the ACSLS Agent to configured listeners. The level of settings here range from sparsely silent to completely informative.

1 SILENT - Only the Agent Start-up trap message is sent.

2 ERROR - After start-up, only messages involving errors are sent.

3 WARNING - After start-up, report errors and offline status changes.

4 INFO - Report start-up, error messages, and all status changes

5 UNCLASSIFIED - Report all of the above plus informational messages.

If the Agent finds the ACS_TRAP_LEVEL field blank or badly formed, it defaults to UNCLASSIFIED and broadcasts all trap messages. The factory setting is INFO.

- AGENT_LOG_LEVEL:;
This setting defines the level of verbosity to record messages in the AcslsAgtd.log. There are four possible settings:

1 SILENT - Produces no messages to the log.

2 ERROR - Reports only error messages.

3 WARNING - Reports errors and status notifications.

4 DEBUG - Prints verbose software debugging messages.

The factory setting is WARNING.

Any change to the above configuration settings do not take effect until the ACSLS Agent has restarted.

The AcslsAgtd.url file

The file, AcslsAgtd.url, holds the specific URL that a management application uses to identify the ACSLS Agent. This parameter has little use for most applications and the setting normally remains blank. Where a management application requires a URL, the value is set in this file after the expression, AGENT_URL_ENTRY. Once set, the URL can be discovered by a remote SNMP client using a standard snmpget.

# snmpget -v1 -c acs_user localhost 1.3.6.1.4.1.1211.1.11.1.4.0

System-level Configuration Settings

The values that were set in AcslsAgtd.cfg and AcslsAgtd.url apply only to parameters in the ACSLS SNMP Agent, but there are other system-level settings on which the ACSLS Agent relies. These are defined in the file, snmpd.conf. The location of this file may be different from one system to another.

On Linux systems, this file may be reliably found at /etc/snmp/snmpd.conf.

On Solaris systems, the best method to locate snmpd.conf is to list the config-file/entities property for the net-snmp SMF service:

# svccfg -s net-snmp listprop config-file/entities

This command yields a URL with a localhost location, usually under the /etc/ directory.

The ACSLS Agent was designed solely from the V1 SNMP Protocol, so V1 parameters must be defined for the ACSLS Agent in snmpd.conf. Since the ACSLS MIB contains read-only objects exclusively, a V1 rocommunity must be defined in this file. For security reasons, it is prudent to stay away from well-known community names, such as public. The name you choose is not restricted to convention.

There may be additional V1 parameters that you must define. A sample snmpd.conf file can be found in the ACSNMP/install directory. This file contains a list of sample definitions for each of the essential parameters required in the SNMP V1 protocol.

4 Operation

This chapter:

- Describes how to start and monitor the status of the Agent.

- Lists the various ACSLS SNMP traps.

- Describes the various diagnostic utilities supplied with ACSNMP 2.4.

Starting and Stopping the ACSLS Agent on Solaris

Since acsnmp is a sub-agent to the net-snmp master agent, it is necessary to ensure that net-snmp is enabled. On Solaris you can start net-snmp with the command:

# svcadm enable net-snmp

To check status:

# svcs net-snmp

The ACSLS application must also be running before the ACSLS Agent becomes fully functional

To start the ACSLS agent, the SMF command is svcadm enable acsnmp. Once enabled, the service remains enabled, even after a system reboot.

To stop the agent software:

# svcadm disable acsnmp

A restart command may be useful whenever you change configuration settings

# svcadm restart acsnmp

Starting and Stopping the ACSLS Agent on Linux

Since acsnmp is a sub-agent to the net-snmp master agent, it is necessary to ensure that the master agent daemon, snmpd, is enabled. Use the Linux service command to start the master agent:

To start the ACSLS agent:

# service acsnmp start

To check status:

# service acsnmp status

To stop the agent software:

# service acsnmp stop

A restart command is useful whenever you change configuration settings:

# service acsnmp restart

Verifying ACSLS Agent Operation

- agent
After starting the agent, you can check its status using the agent command.This utility is found in the ACSNMP/utils directory.

# cd $ACSNMP_HOME/utils
# ./agent status

This command shows the status of all prerequisite functions, including the net-snmp Master Agent and the ACSLS application. It discovers the configured community and sends a V1 snmpget request to the Agent, asking for the Agent software version. A response of v2.4 confirms full function of the Agent, including all system prerequisites.

Note:
If the command, agent status, is run too quickly just after starting the Agent, you may see the message, There is no such variable name in this MIB. Wait a few seconds and retry the agent status command.

- walker
The walker utility enables you to scan the entire ACSLS MIB, showing the value or status of each library object reported by ACSLS.

# cd $ACSNMP_HOME/utils
# ./walker

The normal display shows the alpha-numeric OID of each object identifier.To display the full numeric ID of each identifier, use walker -n.

- translate
The translate utility gives you the alpha-numeric identifiers and their translated equivalents from the ACSLS MIB. This useful tool reveals the actual ACSLS object names behind the numeric OIDs. To view the translated objects with their full numeric OIDs, use:

# cd $ACSNMP_HOME/utils
# ./translate -n

Setting up a Trap Listener

Any host in the data center that is equipped with net-snmp includes a trap listener daemon. The listener, snmptrapd, can be found in /sbin/ or /usr/sbin.

You can set up a listener on the ACSLS host with the following command:

# snmptrapd -f -Le -m $ACSNMP_HOME/AcslsMib.mib

It helps to include the -m option with a MIB file to translate the trap messages as they are received by the listener. If you set up a listener on a remote host, transfer a copy of the AcslsMib.mib file to the remote host, placing it in a suitable directory.

Before any listener can receive trap messages from the ACSLS Agent, the hostname of the listener must be included in the DEST:; field of the AcslsAgtd.cfg file in the ACSNMP top-level directory on the ACSLS server. You must restart the ACSLS SNMP Agent any time you add a listener to the configuration file.

You can send a test trap to any listener you set up. In the ACSNMP/utils directory, you find send_system_trap_test. If you run this command without an argument, it sends a system trap message to any listener on the localhost. To send the same message to any other host, simply add the hostname or ip address of the listener as an argument.

# ./send_system_trap_test <i.p. address or hostname>

This test does not originate from the ACSLS Agent. It is a Cold Start Trap test that originates from the Master Agent through the community that you have configured in snmpd.conf. It is intended solely to verify that your listener is set up correctly.

If your listener did not receive the message, you should check the configuration settings in the snmptrapd.conf file on the system receiving the traps. This file is typically found under /etc/snmp or /etc/net-snmp in the same directory where you found snmpd.conf. You will find a SNMP V1 sample of both of these files in the ACSNMP/install directory.

Once your trap listener is operational, the quickest way to send test traps from the ACSLS Agent is to restart the Agent. On Solaris, the command is svcadm restart acsnmp. The Linux equivalent is service acsnmp restart. You can also test the Agent's ability to respond to an offline event in ACSLS. Using cmd_proc in ACSLS, vary any library resource (such as a drive or CAP) from an online state to offline. Within seconds, the trap listener should reveal the status change.

Notice that traps are sent under the following circumstances:

- When the ACSLS SNMP Agent first starts (all trap levels).

- When ACSLS and any ACSLS resource in the MIB comes online (trap level INFO).

- When any ACSLS resource (ACS, LSM. CAP, Drive) goes offline (trap level WARNING and above).

- When the Agent fails to communicate with ACSLS (trap level ERROR and above).

5 Troubleshooting Tools

While the ACSLS Agent is a relatively simple application, it has multiple dependencies, any of which could prevent the Agent from responding to a snmpget request or to a trap condition.

Checking Status

The running state of the ACSLS Agent is revealed by the service utility on your Solaris or Linux server.

- On Solaris, use svcs acsnmp.
If acsnmp fails to start, the SMF daemon places acsnmp in maintenance. To gather clues about why it failed to start, you can consult the tail of the SMF start log, To locate the start log, issue the command, svcs -l acsnmp and look for the logfile definition. Then review the last few lines in that log:

# tail -20 /var/svc/log/application-management-acsnmp:default.log

- On Linux, use service acsnmp status.
The service command reveals only whether the Agent is running or is stopped.

The ACSNMP Log File, AcslsAgtd.log

The AcslsAgtd.log is found in the top-level ACSNMP directory. It tracks start-up and shut-down events and any significant errors encountered during the operation of the ACSLS Agent.

The agent Command

There are multiple configuration and operational dependencies that must be completed and operational before the ACSLS Agent can respond to SNMP requests. There is a command called agent in the $ACSNMP_HOME/utils directory. This command is a helpful troubleshooting aid when attempting to isolate which (if any) of the various system dependencies are missing.

The command, agent status, is useful to view not only the status of the ACSLS Agent, but also to see the status of all dependent services, including the:

- Net-SNMP agent daemon (snmpd).

- ACSLS application (acsls).

- SNMP server side interface to ACSLS (snmpssi).

- ACSLS Agent daemon (AcslsAgtd).

- Port connection to the Master Agent.

The command, agent status, also checks for a configured V1 user rocommunity established for read-only access to the ACSLS MIB. The rocommunity must be defined in the snmpd.conf file. Community definition is also required in the AcslsAgtd.cfg file, but only if multiple communities are found in snmpd.conf and only one specific community is intended for use by the ACSLS Agent.

Once dependencies are checked and a valid rocommunity is found, the agent status command proceeds to exercise the Agent by submitting a snmpget command, requesting the version of the ACSLS Agent. A successful result from this test reveals the Agent software version.

The agent status command also looks for configured trap destinations.It tests for network access to each defined trap host and displays the result. If a listener is configured and running on the localhost, the connection to the trap port is tested and the result displayed.

Finally, the agent status command issues snmpget to obtain the most recent trap message broadcast by the ACSLS Agent

The agent utility may also be used as an alternate start-up command. Using agent start to start the ACSLS Agent, you are able to watch the progress of the utility as it comes up. If any dependencies are lacking, they are displayed during the start-up sequence. This agent start command cannot be used while acsnmp is online to Solaris SMF or to the Linux service utility.

Having verified the Agent, you can use snmp commands directly. Use translate -n to capture any specific OIDs of interest, then submit an snmpget command for that OID. For example, if the rocommunity is acs_user, reveal the version string for the Agent software, by running snmpget with the corresponding numeric IOD:

# snmpget -v1 -c acs_user localhost 1.3.6.1.4.1.1211.1.11.1.1.0

Index
A  C  I  S  T  U  V

A

AcslsAgtd.cfg file, 3.1

C

configuration settings, 3.3

I

installing SNMP Agent, 2.2

S

setting up trap listener, 4.4

starting and stopping SNMP Agent on Linux, 4.2

starting and stopping SNMP Agent on Solaris, 4.1

T

troubleshooting

AcslsAgtd.log, 5.2

agent command, 5.3

checking status, 5.1

U

uninstalling SNMP Agent, 2.4

V

verifying ACSLS Agent operation, 4.3

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2019, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.