Go to main content
1/28
Contents
Title and Copyright Information
Preface
Documentation Accessibility
Conventions
1
Introduction and Roadmap
Document Scope and Audience
Guide to this Document
Related Documentation
JDBC Samples and Tutorials
Avitek Medical Records Application (MedRec) and Tutorials
JDBC Examples in the WebLogic Server Distribution
New and Changed JDBC Data Source Features in This Release
2
Configuring WebLogic JDBC Resources
Understanding JDBC Resources in WebLogic Server
Ownership of Configured JDBC Resources
Data Source Configuration Files
JDBC System Modules
Generic Data Source Modules
Active GridLink Data Source System Modules
Multi Data Source System Modules
JDBC Application Modules
Standard Java EE Application Modules
Proprietary JDBC Application Modules
Including Drivers in EAR/WAR Files
JDBC Module File Naming Requirements
JDBC Modules in Versioned Applications
JDBC Schema
JDBC Data Source Type
JMX and WLST Access for JDBC Resources
JDBC MBeans for System Resources
JDBC Management Objects in the Java EE Management Model (JSR-77 Support)
Using WLST to Create JDBC System Resources
How to Modify and Monitor JDBC Resources
Best Practices when Using WLST to Configure JDBC Resources
Creating High-Availability JDBC Resources
3
Configuring JDBC Data Sources
Understanding JDBC Data Sources
Types of WebLogic Server JDBC Data Sources
Creating a JDBC Data Source
JDBC Data Source Properties
Data Source Names
Data Source Scope
JNDI Names
Selecting a Database Type
Selecting a JDBC Driver
Configure Transaction Options
Configure Connection Properties
Configuring Connection Properties for Oracle BI Server
Test Connections
Target the Data Source
Configuring Generic Connection Pool Features
Enabling JDBC Driver-Level Features
Enabling Connection-based System Properties
Enabling Connection-based Encrypted Properties
Initializing Database Connections with SQL Code
Advanced Connection Properties
Define Fatal Error Codes
Using Edition-Based Redefinition
Configuring Oracle Parameters
Configuring an ONS Client
Tuning Generic Data Source Connection Pools
Generic Data Source Handling for Oracle RAC Outages
Generic Data Source Handling of Driver-Level Failover
4
Using the Default Data Source
What is the Default Data Source
Defining a Custom Default Data Source
Compatibility Limitations When Using a Default Data Source
5
Configuring JDBC Multi Data Sources
Multi Data Source Features
Removing a Database Node
Adding a Database Node
Creating and Configuring Multi Data Sources
Choosing the Multi Data Source Algorithm
Failover
Load Balancing
Multi Data Source Fail-Over Limitations and Requirements
Test Connections on Reserve to Enable Fail-Over
No Fail-Over for In-Use Connections
Multi Data Source Failover Enhancements
Connection Request Routing Enhancements When a Generic Data Source Fails
Automatic Re-enablement on Recovery of a Failed Generic Data Source within a Multi Data Source
Enabling Failover for Busy Generic Data Sources in a Multi Data Source
Controlling Multi Data Source Failover with a Callback
Callback Handler Requirements
Callback Handler Configuration
How It Works—Failover
Controlling Multi Data Source Failback with a Callback
How It Works—Failback
Deploying JDBC Multi Data Sources on Servers and Clusters
Planned Database Maintenance with a Multi Data Source
Shutting Down the Data Source
6
Using Active GridLink Data Sources
What is an Active GridLink Data Source
Fast Connection Failover
Runtime Connection Load Balancing
GridLink Affinity
Session Affinity Policy
XA Affinity Policy
SCAN Addresses
Secure Communication using Oracle Wallet with ONS Listener
Support for Active Data Guard
Creating an Active GridLink Data Source
JDBC Data Source Properties
Data Source Names
Data Source Scope
JNDI Names
Select a Driver
Configure Transaction Options
Configure Connection Properties
Enter Connection Properties
Enter a Complete URL
Supported AGL Data Source URL Formats
Test Connections
ONS Client Configuration
Enabling FAN Events
Configure ONS Host and Port
Secure ONS Client Communication
Test ONS Client Configuration
Target the Data Source
Using Socket Direct Protocol
Configuring Runtime Load Balancing using SDP
Configuring Active GridLink Connection Pool Features
Enabling JDBC Driver-Level Features
Enabling Connection-based System Properties
Initializing Database Connections with SQL Code
Configuring Oracle Parameters
Configuring an ONS Client Using WLST
Tuning Active GridLink Data Source Connection Pools
Monitoring Active GridLink JDBC Resources
Viewing Run-Time Statistics
JDBCOracleDataSourceRuntimeMBean
JDBCOracleDataSourceInstanceRuntimeMBean
ONSDaemonRuntimeMBean
Debug Active GridLink Data Sources
JDBC Debugging Scopes
UCP JDK Logging
Enable Debugging Using the Command Line
Using Active GridLink Data Sources without FAN Notification
Understanding the ActiveGridlink Attribute
Best Practices for Active GridLink Data Sources
Catch and Handle Exceptions
Connection Creation with Active Gridlink Data Sources
Comparing Active GridLink and Multi Data Sources
Migrating from Multi Data Source to Active GridLink
Application Changes to Migrate a Multi Data Source
Configuration Changes to Migrate a Multi Data Source
Basic Steps to Migrate a Multi Data Source to a Active GridLink Data Source
Managing Database Downtime with Active GridLink Data Sources
Active GridLink Configuration for Database Outages
Planned Outage Procedures
Unplanned Outages
Gradual Draining
7
Using Proxy Data Sources
What is a Proxy Data Source?
Creating a Proxy Data Source
Configuring a Proxy Data Source in the WebLogic Server Administration Console
Configuring a Proxy Data Source Using WLST
Monitoring Proxy Data Source JDBC Resources
8
Using Universal Connection Pool Data Sources
What is a Universal Connection Pool Data Source?
Creating a Universal Connection Pool Data Source
Configuring a UCP Data Source in the WebLogic Server Administration Console
Configuring a UCP Data Source Using WLST
UCP MT Shared Pool support
Monitoring Universal Connection Pool JDBC Resources
Oracle Sharding Support
Initial Capacity Enhancement in the Connection Pool
9
Using Connection Harvesting
What is Connection Harvesting?
Enable Connection Harvesting
Marking Connections Harvestable
Recover Harvested Connections
10
Using Shared Pooling Data Sources
How shared Pooling Works
Requirements and Considerations when using Shared Pooling Data Sources
Configuring Shared Pooling
Configuring WebLogic Server-Specific Driver Properties for Shared Pooling
Configuring Database for Shared Pooling
Example WLST script for configuration of shared pooling
11
Advanced Configurations for Oracle Drivers and Databases
Application Continuity
How Application Continuity Works
Requirements and Considerations
Configuring Application Continuity
Selecting the Driver for Application Continuity
Using a Connection Callback
Create an Initialization Callback
Registering an Initialization Callback
Unregister an Initialization Callback
Setting the Replay Timeout
Disabling Application Continuity for a Connection
Configuring Logging for Application Continuity
Enabling JDBC Driver Debugging
Viewing Runtime Statistics for Application Continuity
Application Continuity Auditing
Limitations with Application Continuity with Oracle 12c Database
Database Resident Connection Pooling
Requirements and Considerations
Configuring DRCP
Configuring a Data Source for DRCP
Configuring a Database for DRCP
Global Database Services
Requirements and Considerations
Creating a GridLink DataSource for GDS Connectivity
Container Database with Pluggable Databases
Creating Service for PDB Access
DRCP and CDB/PDB
Setting the PDB using JDBC
Service Switching
12
Using Oracle Databases with WebLogic Server
WebLogic JDBC Features for Oracle Database 12.1
JDBC 4.1 Support for JDK 7
Application Continuity Support
Database Resident Connection Pooling Support
Container Database with Pluggable Databases
Global Database Services Support
Automatic ONS Listeners
WebLogic JDBC Features for Oracle Database 12.2
13
Labeling Connections
What is Connection Labeling
Implementing Labeling Callbacks
Creating a Labeling Callback
Example Labeling Callback
Registering a Labeling Callback
Removing a Labeling Callback
Applying Connection Labels
Reserving Labeled Connections
Checking Unmatched labels
Removing a Connection Label
Using Initialization and Reinitialization Costs to Select Connections
Considerations When Using Initialization and Reinitialization Costs
Using Connection Labeling with Packaged Applications
Considerations When using Labelled Connections in Packaged Applications
14
JDBC Data Source Transaction Options
Enabling Support for Global Transactions with a Non-XA JDBC Driver
Understanding the Logging Last Resource Transaction Option
Advantages to Using the Logging Last Resource Optimization
Enabling the Logging Last Resource Transaction Optimization
Programming Considerations and Limitations for LLR Data Sources
Administrative Considerations and Limitations for LLR Data Sources
Understanding the Emulate Two-Phase Commit Transaction Option
Limitations and Risks When Emulating Two-Phase Commit Using a Non-XA Driver
Heuristic Completions and Data Inconsistency
Cannot Recover Pending Transactions
Possible Performance Loss with Non-XA Resources in Multi-Server Configurations
Multiple Non-XA Participants
Local Transaction Completion when Closing a Connection
15
Understanding Data Source Security
Introduction to WebLogic Data Source Security Options
WebLogic Data Source Security Options
Credential Mapping vs. Database Credentials
Set Client Identifier on Connection
Oracle Proxy Session
Identity-based Connection Pooling
Connections within Transactions
WebLogic Data Source Resource Permissions
Data Source Security Example
Using Encrypted Connection Properties
Best Practices for Encrypting Connection Properties when Using the Administration Console
WLST Examples to Encrypt Connection Properties
Use WLST to Update an Existing Data Source with Encrypted Properties
Use WLST to Create Encryped Properties
Using SSL and Encryption with Data Sources and Oracle Drivers
Using SSL with Data Sources and Oracle Drivers
Using SSL with Oracle Wallet
Active GridLink ONS over SSL
Using Data Encryption with Data Sources and Oracle Drivers
16
Creating and Managing Oracle Wallet
What is Oracle Wallet
Where to Keep Your Wallet
How to Create an External Password Store
Defining a WebLogic Server Data Source using the Wallet
Copy the Wallet Files
Update the Datasource Configuration
Using a TNS Alias instead of a DB Connect String
17
Deploying Data Sources on Servers and Clusters
Deploying Data Sources on Servers and Clusters
Minimizing Server Startup Hang Caused By an Unresponsive Database
18
Using WebLogic Server with Oracle RAC
Overview of Oracle Real Application Clusters
Software Requirements
JDBC Driver Requirements
Hardware Requirements
WebLogic Server Cluster
Oracle RAC Cluster
Shared Storage
Configuration Options in WebLogic Server with Oracle RAC
Choosing a WebLogic Server Configuration for Use with Oracle RAC
Validating Connections when using WebLogic Server with Oracle RAC
Additional Considerations When Using WebLogic Server with Oracle RAC
19
Using JDBC Drivers with WebLogic Server
JDBC Driver Support
JDBC Drivers Installed with WebLogic Server
Adding Third-Party JDBC Drivers Not Installed with WebLogic Server
Globalization Support for the Oracle Thin Driver
Using the Oracle Thin Driver in Debug Mode
20
Monitoring WebLogic JDBC Resources
Viewing Run-Time Statistics
Data Source Statistics
Prepared Statement Cache Statistics
Profile Logging
Collecting Profile Information
Profile Types
Connection Usage (WEBLOGIC.JDBC.CONN.USAGE)
Connection Reservation Wait (WEBLOGIC.JDBC.CONN.RESV.WAIT)
Connection Reservation Failed (WEBLOGIC.JDBC.CONN.RESV.FAIL)
Connection Leak (WEBLOGIC.JDBC.CONN.LEAK)
Connection Last Usage (WEBLOGIC.JDBC.CONN.LAST_USAGE)
Connection Multithreaded Usage (WEBLOGIC.JDBC.CONN.MT_USAGE)
Statement Cache Entry (WEBLOGIC.JDBC.STMT_CACHE.ENTRY)
Statements Usage (WEBLOGIC.JDBC.STMT.USAGE)
Connection Unwrap (WEBLOGIC.JDBC.CONN.UNWRAP)
JDBC Object Closed Usage (WEBLOGIC.JDBC.CLOSED_USAGE)
Local Transaction Connection Leak (WEBLOGIC.JDBC.CONN.LOCALTX_LEAK)
Example Profile Information Record Log
Accessing Diagnostic Data
Callbacks for Monitoring Driver-Level Statistics (Deprecated)
Debugging JDBC Data Sources
Enabling Debugging
Enable Debugging Using the Command Line
Enable Debugging Using the WebLogic Server Administration Console
Enable Debugging Using the WebLogic Scripting Tool
Changes to the config.xml File
JDBC Debugging Scopes
Setting Debugging for UCP/ONS
Debugging UCP
Debugging ONS
Request Dyeing
21
Managing WebLogic JDBC Resources
Testing Data Sources and Database Connections
Managing the Statement Cache for a Data Source
Clearing the Statement Cache for a Data Source
Clearing the Statement Cache for a Single Connection
Shrinking a Connection Pool
Resetting a Connection Pool
Suspending a Connection Pool
Resuming a Connection Pool
Shutting Down a Data Source
Starting a Data Source
Managing DBMS Network Failures
22
Tuning Data Source Connection Pools
Increasing Performance with the Statement Cache
Statement Cache Algorithms
LRU (Least Recently Used)
Fixed
Statement Cache Size
Usage Restrictions for the Statement Cache
Calling a Stored Statement After a Database Change May Cause Errors
Using setNull In a Prepared Statement
Statements in the Cache May Reserve Database Cursors
Other Considerations When Using the Statement Cache
Connection Testing Options for a Data Source
Database Connection Testing Semantics
Connection Testing When Database Connections are Created
Periodic Connection Testing
Testing Reserved Connections
Minimizing Connection Test Delay After Database Connectivity Loss
Minimizing Connection Request Delays After Loss of DBMS Connectivity
Minimizing Connection Request Delay with Seconds to Trust an Idle Pool Connection
Database Connection Testing Configuration Recommendations
Database Connection Testing Using Default Test Table Name
Database Connection Testing Options
Enabling Connection Creation Retries
Enabling Connection Requests to Wait for a Connection
Connection Reserve Timeout
Limiting the Number of Waiting Connection Requests
Automatically Recovering Leaked Connections
Avoiding Server Lockup with the Correct Number of Connections
Limiting Statement Processing Time with Statement Timeout
Using Pinned-To-Thread Property to Increase Performance
Changes to Connection Pool Administration Operations When PinnedToThread is Enabled
Additional Database Resource Costs When PinnedToThread is Enabled
Using Unwrapped Data Type Objects
How to Disable Wrapping
Disable Wrapping using the Administration Console
Disable Wrapping using WLST
Tuning Maintenance Timers
A
Configuring JDBC Application Modules for Deployment
Packaging a JDBC Module with an Enterprise Application: Main Steps
Creating Packaged JDBC Modules
Creating a JDBC Data Source Module Using the Administration Console
JDBC Packaged Module Requirements
JDBC Application Module Limitations
Creating a Generic Data Source Module
Creating an Active GridLink Data Source Module
Creating a Multi Data Source Module
Encrypting Database Passwords in a JDBC Module
Deploying JDBC Modules to New Domains
Application Scoping for a Packaged JDBC Module
Referencing a JDBC Module in Java EE Descriptor Files
Packaged JDBC Module References in weblogic-application.xml
Packaged JDBC Module References in Other Descriptors
Packaging an Enterprise Application with a JDBC Module
Deploying an Enterprise Application with a JDBC Module
Getting a Database Connection from a Packaged JDBC Module
B
Using Multi Data Sources with Oracle RAC
Overview of Oracle RAC
Oracle RAC Scalability with WebLogic Server Multi Data Sources
Oracle RAC Availability with WebLogic Server Multi Data Sources
Oracle RAC Load Balancing with WebLogic Server Multi Data Sources
Software Requirements
JDBC Driver Requirements
Hardware Requirements
WebLogic Server Cluster
Oracle RAC Cluster
Shared Storage
Configuring Multi Data Sources with Oracle RAC
Choosing a Multi Data Source Configuration for Use with Oracle RAC
Configuring Multi Data Sources for use with Oracle RAC
Attributes of a Multi Data Source
Configuration Considerations for Failover
Multi Data Source-Managed Failover and Load Balancing
Delays During Failover
Failure Handling Walkthrough for Global Transactions
Configuring the Listener Process for Each Oracle RAC Instance
Configuring Multi Data Sources When Remote Listeners are Enabled or Disabled
Additional Configuration Considerations
Using Multi Data Sources with Global Transactions
Rules for Data Sources within a Multi Data Source Using Global Transactions
Required Attributes of Data Sources within a Multi Data Source Using Global Transactions
Sample Configuration Code
Using Multi Data Sources without Global Transactions
Attributes of Data Sources within a Multi Data Source Not Using Global Transactions
Sample Configuration Code
Configuring Connections to Services on Oracle RAC Nodes
Configuring a Data Source to Connect to a Service
Service Connection Configurations
Workload Management
Load Balancing
Connection Pool Capacity Planning
Using SCAN Addresses with Multi Data Sources
XA Considerations and Limitations when using multi Data Sources with Oracle RAC
Oracle RAC XA Requirements when using multi Data Sources
Use Multi Data Sources
A Global Transaction Must Be Initiated, Prepared, and Concluded in the Same Instance of the Oracle RAC Cluster
Transaction IDs Must Be Unique Within the Oracle RAC Cluster
Known Limitations When Using Oracle RAC with multi Data Sources
Potential for Data Deadlocks in Some Failure Scenarios
Potential for Transactions Completed Out of Sequence
Known Issue Occurring After Database Server Crash
JDBC Store Recovery with Oracle RAC
Configuring a JDBC Store for Use with Oracle RAC
Automatic Retry for JMS Connections
C
Using Fast Connection Failover with Oracle RAC
JDBC Driver Configuration for use with Oracle Fast Connection Failover
Scripting on this page enhances content navigation, but does not change the content in any way.