Oracle Global Data Services (GDS) is a holistic automated workload management feature of Oracle Database. GDS is engineered to provide a unified and intelligent solution to the challenges of modern enterprises by introducing centralized service management, dynamic load balancing, and automated failover capabilities. It abstracts the complexity of managing replicated and distributed databases, enabling enterprises to focus on their business goals rather than operational overhead.

The services sit between your application and database tiers and helps direct application connections to the most appropriate destination.

Instead of connecting directly to a specific database, applications connect to an Oracle GDS, which then intelligently routes the connection to the optimal database instance based on factors such as:

- Workload type: Read-only versus Read-write

- Database role: Primary, Standby, or Cache

- Location: Geographic proximity for reduced latency

- Database load: Distributing connections evenly

- Database health: Avoiding failed or overloaded instances

A Global Data Services configuration and its global services are created and managed using the GDSCTL command-line interface.

Oracle GDS components include:

Global Data Services Pool

Global Data Services pool or connection pool is a named subset of databases within a GDS configuration that provides a unique set of global services and belongs to the same administrative domain. Partitioning of GDS configuration databases into pools simplifies service management and provides higher security by allowing each pool to be administered by a different administrator.

A database can only belong to a single Global Data Services pool. All databases in a pool need not provide the same set of global services. However, all databases that provide the same global service must belong to the same pool.

Global Data Services Region

A Global Data Services region is a named subset of databases in a GDS configuration and database clients that share network proximity such that the network latency between members of a region is typically lower than between members of different regions. A region usually corresponds to a local area or metropolitan area network (LAN or MAN). For example, a data center hosting one or more GDS configuration databases and database clients in geographical proximity to the data center might belong to the same region.

A region can contain multiple Global Data Services pools, and these pools can span multiple regions.

Global Service Manager

Global Service Manager (GSM) is the central software component of Global Data Services, providing service-level load balancing, failover, and centralized management of services in the GDS configuration. Global Data Service clients use a global service manager to perform all GDS configuration operations. 

A global service manager is analogous to the remote listener in an Oracle RAC database, except that a global service manager serves multiple databases.

A global service manager is associated with one and only one GDS configuration. Each region in the GDS configuration must have at least one global service manager. For high availability, Oracle recommends including at least three global service managers in each region. Every global service manager in a GDS configuration manages all global services supported by the configuration.

Global Data Services Catalog

A Global Data Services Catalog is a repository that stores configuration data for a Global Data Services configuration and all global services provided by that configuration.

A catalog is associated with one and only one GDS configuration. A catalog must reside in an Oracle database, and that database may be inside or outside the associated GDS configuration. For large-scale GDS configurations, it is recommended that the GDS catalog be hosted outside the databases in the GDS configuration. GDS catalog may be co-hosted along with catalogs of RMAN or Oracle Enterprise Manager.

Oracle recommends including a GDS Catalog Standby using Oracle Data Guard to enhance the availability of the Global Data Services Catalog database.

Oracle Notification Service Servers

GDS clients use Oracle Notification Service (ONS) to receive run-time load balancing advisory and high availability events from global service managers.

An Oracle Notification Service (ONS) server is co-located with each global service manager. All such ONS servers within a region are interconnected. Clients of global services subscribe to the ONS server network within their region and its buddy region and receive FAN notifications from those ONS server networks.