Skip to main content
Oracle Help Center

Sign Out

Sign In

  • Table of Contents
  • Search
  • Print
  • Download
  1. Database
  2. Oracle
  3. Oracle Database
  4. Release 19

Universal Connection Pool Developer's Guide

  • Table of Contents
  • Search
  • Print
  • Download

Table of Contents

Expand AllCollapse All
  • Title and Copyright Information
  • Preface
    • Audience
    • Documentation Accessibility
    • Related Documents
    • Conventions
  • Changes in This Release for Oracle Universal Connection Pool Developer's Guide
    • Changes in Oracle Database 19c
      • New Features
  • 1 Introduction to UCP
    • 1.1 Overview of Connection Pool
    • 1.2 Benefits of Using a Connection Pool
    • 1.3 Overview of Universal Connection Pool
      • 1.3.1 Conceptual Architecture
      • 1.3.2 Connection Pool Properties
      • 1.3.3 Connection Pool Manager
      • 1.3.4 High Availability and Performance Scenarios
      • 1.3.5 Support for Java library for Reactive Streams Ingestion
  • 2 Getting Started
    • 2.1 Requirements for using UCP
    • 2.2 Basic Connection Steps in UCP
      • 2.2.1 Authentication in UCP
    • 2.3 UCP API Overview
    • 2.4 Basic Connection Example Using UCP
  • 3 Getting Database Connections in UCP
    • 3.1 About Borrowing Connections from UCP
      • 3.1.1 Overview of Borrowing Connections from UCP
      • 3.1.2 Using the Pool-Enabled Data Source
      • 3.1.3 Using the Pool-Enabled XA Data Source
      • 3.1.4 Setting Connection Properties
      • 3.1.5 Using JNDI to Borrow a Connection
      • 3.1.6 About Connection Initialization Callback
        • 3.1.6.1 Overview of Connection Initialization Callback
        • 3.1.6.2 Creating an Initialization Callback
        • 3.1.6.3 Registering an Initialization Callback
        • 3.1.6.4 Removing or Unregistering an Initialization Callback
    • 3.2 Setting Connection Pool Properties for UCP
    • 3.3 Overview of Validating Connections in UCP
      • 3.3.1 Validating When Borrowing
      • 3.3.2 Minimizing Connection Validation with setSecondsToTrustIdleConnection() Method
      • 3.3.3 Checking If a Connection Is Valid
    • 3.4 Returning Borrowed Connections to UCP
    • 3.5 Removing Connections from UCP
    • 3.6 UCP Integration with Third-Party Products
  • 4 Optimizing Universal Connection Pool Behavior
    • 4.1 Optimizing Connection Pools
    • 4.2 About Controlling the Pool Size in UCP
      • 4.2.1 Setting the Initial Pool Size
      • 4.2.2 Setting the Minimum Pool Size
      • 4.2.3 Setting the Maximum Pool Size
    • 4.3 About Optimizing Real-World Performance with Static Connection Pools
    • 4.4 Stale Connections in UCP
      • 4.4.1 What is Connection Reuse?
        • 4.4.1.1 Setting the Maximum Connection Reuse Time
        • 4.4.1.2 Setting the Maximum Connection Reuse Count
      • 4.4.2 Setting the Connection Validation Timeout
      • 4.4.3 Setting the Abandon Connection Timeout
      • 4.4.4 Setting the Time-To-Live Connection Timeout
      • 4.4.5 Setting the Connection Wait Timeout
      • 4.4.6 Setting the Inactive Connection Timeout
      • 4.4.7 Setting the Query Timeout
      • 4.4.8 Setting the Timeout Check Interval
    • 4.5 About Harvesting Connections in UCP
      • 4.5.1 Overview of Harvesting Connections in UCP
      • 4.5.2 Setting a Connection to Harvestable
      • 4.5.3 Setting the Harvest Trigger Count
      • 4.5.4 Setting the Harvest Maximum Count
    • 4.6 About Caching SQL Statements in UCP
      • 4.6.1 Overview of Statement Caching in UCP
      • 4.6.2 Enabling Statement Caching in UCP
  • 5 Labeling Connections in UCP
    • 5.1 Overview of Labeling Connections in UCP
    • 5.2 Implementation of a Labeling Callback in UCP
      • 5.2.1 When to Use a Labeling Callback in UCP
      • 5.2.2 Creating a Labeling Callback in UCP
        • 5.2.2.1 Example of Labeling Callback in UCP
      • 5.2.3 Registering a Labeling Callback in UCP
      • 5.2.4 Removing a Labeling Callback in UCP
    • 5.3 Integration of UCP with DRCP
    • 5.4 Applying Connection Labels in UCP
    • 5.5 Borrowing Labeled Connections from UCP
    • 5.6 Checking Unmatched Labels in UCP
    • 5.7 Removing a Connection Label in UCP
  • 6 Controlling Reclaimable Connection Behavior
    • 6.1 AbandonedConnectionTimeoutCallback Interface
    • 6.2 TimeToLiveConnectionTimeoutCallback Interface
  • 7 Using the Connection Pool Manager
    • 7.1 Overview of Using the UCP Manager
      • 7.1.1 About Connection Pool Manager
      • 7.1.2 Creating a Connection Pool Manager for UCP
      • 7.1.3 Life Cycle States of a Connection
        • 7.1.3.1 Creating a Connection Pool
        • 7.1.3.2 Starting a Connection Pool
        • 7.1.3.3 Stopping a Connection Pool
        • 7.1.3.4 Destroying a Connection Pool
      • 7.1.4 Maintenance of Universal Connection Pool
        • 7.1.4.1 Refreshing a Connection Pool
        • 7.1.4.2 Recycling a Connection Pool
        • 7.1.4.3 Purging a Connection Pool
    • 7.2 Overview of JMX-Based Management in UCP
      • 7.2.1 UniversalConnectionPoolManagerMBean
      • 7.2.2 UniversalConnectionPoolMBean
  • 8 Shared Pool Support for Multitenant Data Sources
    • 8.1 Overview of Shared Pool Support
    • 8.2 Prerequisites for Supporting Shared Pool
    • 8.3 Configuring the Shared Pool
    • 8.4 UCP APIs for Shared Pool Support
    • 8.5 Sample XML Configuration File for Shared Pool
  • 9 Using Oracle RAC Features
    • 9.1 Overview of Oracle RAC Features
    • 9.2 About Fast Connection Failover
      • 9.2.1 Overview of Fast Connection Failover
      • 9.2.2 What is Fast Connection Failover?
        • 9.2.2.1 What the Application Sees
        • 9.2.2.2 How FCF Works
      • 9.2.3 Fast Connection Failover Prerequisites
      • 9.2.4 Example of Fast Connection Failover Configuration
      • 9.2.5 Enabling Fast Connection Failover
      • 9.2.6 What is ONS?
        • 9.2.6.1 Overview of ONS Configuration File
        • 9.2.6.2 Remote Configuration of ONS
        • 9.2.6.3 Configuration of Client-Side ONS Daemon
      • 9.2.7 Configuring the Connection URL
    • 9.3 About Run-Time Connection Load Balancing
      • 9.3.1 Overview of Run-Time Connection Load Balancing
      • 9.3.2 Setting Up Run-Time Connection Load Balancing
    • 9.4 About Connection Affinity
      • 9.4.1 Overview of Connection Affinity
        • 9.4.1.1 Transaction-Based Affinity
        • 9.4.1.2 Web Session Affinity
        • 9.4.1.3 Oracle RAC Data Affinity
      • 9.4.2 Setting Up Connection Affinity
        • 9.4.2.1 Creating a Connection Affinity Callback
        • 9.4.2.2 Registering a Connection Affinity Callback
        • 9.4.2.3 Removing a Connection Affinity Callback
        • 9.4.2.4 Strict Affinity Mode
    • 9.5 Global Data Services
      • 9.5.1 Overview of Global Data Services
      • 9.5.2 Configuring an Application for Using GDS
  • 10 Ensuring Application Continuity
    • 10.1 Overview of Ensuring Application Continuity with UCP
    • 10.2 Configuring the Data Source for Application Continuity
    • 10.3 Using Connection Labeling for Application Continuity
    • 10.4 Using Connection Initialization Callback for Application Continuity
  • 11 Shared Pool for Sharded Databases
    • 11.1 Overview of UCP Shared Pool for Database Sharding
    • 11.2 About Handling Connection Requests for a Sharded Database
      • 11.2.1 About Building the Sharding Key
      • 11.2.2 How to Checkout Connections from a Pool with a Sharding Key
      • 11.2.3 About Checking Out Connections without Providing the Sharding Keys
      • 11.2.4 About Connecting to the Shard Catalog or Co-ordinator for Multi Shard Queries
      • 11.2.5 About Configuring the Number of Connections Per Shard
      • 11.2.6 Pool Connection Selection Algorithm During Connection Checkout
      • 11.2.7 Failover or Resharding Event Handling in UCP
    • 11.3 Middle-Tier Routing Using UCP
    • 11.4 UCP APIs for Database Sharding Support
    • 11.5 UCP APIs for Middle-Tier Routing Support
    • 11.6 UCP Sharding Example
    • 11.7 Middle-Tier Routing with UCP Example
  • 12 Diagnosing a Connection Pool
    • 12.1 Pool Statistics
    • 12.2 Dynamic Monitoring Service Metrics
    • 12.3 About Viewing Oracle RAC Statistics
      • 12.3.1 Fast Connection Failover Statistics
      • 12.3.2 Run-Time Connection Load Balance Statistics
      • 12.3.3 Connection Affinity Statistics
    • 12.4 Overview of Logging in UCP
      • 12.4.1 Using a Logging Properties File
      • 12.4.2 Using UCP and JDK API
      • 12.4.3 Enabling or Disabling Feature-Specific Logging at Runtime
      • 12.4.4 About Using the Logging Properties File for Feature-Specific Logging
      • 12.4.5 Supported Log Levels
    • 12.5 Exceptions and Error Codes
  • A Error Codes Reference
    • A.1 General Structure of UCP Error Messages
    • A.2 Connection Pool Layer Error Messages
    • A.3 JDBC Data Sources and Dynamic Proxies Error Messages
  • Index

Search

Print

Download

PDF for offline and print

  • Previous
  • Next
  1. Universal Connection Pool Developer's Guide
  2. Getting Database Connections in UCP

3 Getting Database Connections in UCP

The following sections are included in this chapter:

  • About Borrowing Connections from UCP

  • Setting Connection Pool Properties for UCP

  • Overview of Validating Connections in UCP

  • Returning Borrowed Connections to UCP

  • Removing Connections from UCP

  • UCP Integration with Third-Party Products

  • Previous
  • Next
Back to main content
  • About Oracle
  • Contact Us
  • Legal Notices
  • Terms of Use
  • Your Privacy Rights
  • Cookie Preferences
Copyright © 1999, 2019, Oracle and/or its affiliates. All rights reserved.
  • Previous
  • Next
Video