8 WebLogic Server Data Sources

In WebLogic Server, you can configure database connectivity by configuring Java Database Connectivity (JDBC) data sources and then targeting or deploying those resources to servers or clusters in your WebLogic domain.

This chapter includes the following topics:

Understanding JDBC Data Sources

A data source is a pool of database connections that are created when the data source instance is created, which can occur when the data source is deployed, when it is targeted, or when the host WebLogic Server instance is started.

Oracle WebLogic Server provides five types of data sources:

  • Generic data sources—Generic data sources and their connection pools provide connection management processes that help keep your system running efficiently. You can set options in the data source to suit your applications and your environment.

  • Active GridLink data sources—An event-based data source that adaptively responds to state changes in an Oracle RAC instance.

  • Multi data sources—An abstraction around a group of generic data sources that provides load balancing or failover processing.

  • Proxy data sources—Data sources that provide the ability to switch between databases in a WebLogic Server Multitenant environment.

  • Universal Connection Pool (UCP) data sources—Data sources provided as an option for users who wish to use Oracle Universal Connection Pooling (UCP) to connect to Oracle Databases. UCP provides an alternative connection pooling technology to Oracle WebLogic Server connection pooling.

WebLogic Server also supports Java EE DataSource objects, which can be programmatically defined for a more flexible and portable method of database connectivity. For more information on Java EE DataSource objects, see Using DataSource Resource Definitions in Developing JDBC Applications for Oracle WebLogic Server.

Understanding Generic Data Sources

Generic data sources and their connection pools provide database access and database connection management processes that help keep your system running efficiently. Each generic data source contains a pool of database connections that are created when the data source is created and at server startup. Applications reserve a database connection from the data source by looking up the data source on the JNDI tree or in the local application context and then calling getConnection(). When finished with the connection, the application should call connection.close() as early as possible, which returns the database connection to the pool for other applications to use.

Understanding Active GridLink Data Sources

A single Active GridLink (AGL) data source provides connectivity between WebLogic Server and an Oracle Database service, which may include multiple Oracle RAC clusters. An AGL data source uses the Oracle Notification Service (ONS) to adaptively respond to state changes in an Oracle RAC instance. An Oracle Database service represents a workload with common attributes that enables administrators to manage the workload as a single entity. You scale the number of AGL data sources as the number of services increases in the database, independent of the number of nodes in the cluster.

An AGL data source includes the features of generic data sources plus the following support for Oracle RAC as described in Administering JDBC Data Sources for Oracle WebLogic Server:

Understanding JDBC Multi Data Sources

Conceptually, a multi data source can be regarded as a pool of generic data sources. Multi data sources are best used for failover or load balancing between nodes of a highly available database system, such as redundant databases or Oracle Real Application Clusters (Oracle RAC). A multi data source is bound to the JNDI tree or local application context, in the same way that generic data sources are bound to the JNDI tree. Applications look up a multi data source on the JNDI tree or in the local application context (java:comp/env), just as they do for data sources, and then request a database connection. The multi data source determines the data source to use that can satisfy the request depending upon the algorithm selected in the multi data source configuration: load balancing or failover.

Understanding Proxy Data Sources

Proxy data sources provide the ability to switch between databases in a WebLogic Server Multitenant environment. Proxy data sources simplify the administration of multiple data sources by providing a light-weight mechanism for accessing a data source associated with a partition or tenant. Applications often need to quickly access a data source by name without needing to know the naming conventions, context names (partitions or tenants), and so on. The proxy data source provides the access to the underlying data sources. All of the significant processing happens in the data sources to which it points. That is, the underlying data sources actually handle deployment, management, security, and so on. For more information about proxy data sources, see Using Proxy Data Sources in Administering JDBC Data Sources for Oracle WebLogic Server.

Understanding Universal Connection Pool Data Sources

A Universal Connection Pool (UCP) data source enables the use of Oracle Universal Connection Pooling (UCP) for connecting to Oracle Database. A UCP data source is available as an option for using UCP, which is an alternative connection pooling technology to WebLogic Server connection pooling.

Note:

Oracle generally recommends the use of Active GridLink data sources, multi data sources, or generic data sources, and also the Oracle WebLogic Server connection pooling included in these data source implementations to establish connectivity with Oracle Database.

The implementations of UCP data sources are loosely coupled, allowing the swapping of the ucp.jar file to support the use of new UCP features by the applications. UCP data sources are not supported in an application-scoped, application-packaged, or standalone module environment. See Using Universal Connection Pool Data Sources in Administering JDBC Data Sources for Oracle WebLogic Server.

Roadmap for WebLogic Server Data Sources

The WebLogic Server documentation set includes several introductory, procedural, and reference topics, including examples, that help you understand how to configure and use WebLogic Server data sources.

Table 8-1 Roadmap for WebLogic Server Data Sources

Major Task Subtasks and Additional Information

Learning more about WebLogic Server data source

Configuring JDBC

Java EE DataSources

Managing JDBC

Performance and tuning

Using WebLogic Server with Oracle RAC

Using JDBC drivers