Category Archives: Global Data Services

Oracle Podcast: Automated Workload Management for Replicated Databases with Oracle Database 12c – Global Data Services

This podcast provides an overview of Global Data Services, a revolutionary new high availability technology introduced with Oracle Database 12c. Hear how Global Data Services helps Active Data Guard and Oracle GoldenGate customers improve availability, performance and ROI with automated workload balancing, routing and service high-availability for geographically distributed, replicated Oracle databases.

Here is the link to the GDS podcast

For more info on GDS, do visit OTN GDS Portal.

Oracle Global Data Services (GDS) Recorded OOW Session

Title: Using Oracle Global Data Services (GDS) for automated workload management across Active Data Guard or Oracle Goldengate replicas

Oracle GoldenGate and Active Data Guard allow for distribution of application workloads across replicated databases, but it is a challenge to efficiently use all the databases for best performance and availability. In the 2014 Oracle OpenWorld, I discussed how the Global Data Services feature of Oracle Database provides locality-based workload routing, load balancing, and service failover across replicas. Learn how you can load-balance read/write workloads in an active/active Oracle GoldenGate configuration and load-balance read-only workloads over Oracle Active Data Guard reader farm, among numerous other use cases.

Here is the link to the recording of the session.

For more info on GDS, please visit GDS portal on Oracle Technology Network.

 

Oracle GDS Licensing

Oracle Global Data Services (GDS) is a feature of Oracle Database 12c that provides connect-time and run-time load balancing, region affinity, replication lag tolerance based workload routing, and enables inter-database service failover across a set of replicas.

Here are the details of how Oracle GDS is licensed.

  • Databases in a GDS configuration:
    • Must be Database Enterprise Edition (EE) +  Licensed for Oracle Active Data Guard Option and/or Oracle GoldenGate
  • GSM Software
    • No separate license is required
  • GDS Catalog Database
    • No Database EE license is required, if this is a schema in an existing repository (e.g. Oracle Enterprise Manager) database
    • No Database EE license is required (same as Oracle RMAN/EM repository license), if hosted as a separate single instance database
    • If Oracle RAC / Data Guard is used, Oracle RAC Option and Database EE license (for the extra nodes and/or standby) is required

For more information on GDS, do visit OTN GDS portal – https://www.oracle.com/goto/gds

AskTOM Office Hours: Oracle GDS Session 1 (April 4th, 2018)

Exploring Oracle Global Data Services (GDS):
AskTOM Office Hours offers free, open Q&A sessions with Oracle Database experts. Here is the recording of the GDS session that I conducted on April 4th, 2018.
Description:
Oracle GoldenGate and Oracle Active Data Guard allow for distribution of application workloads across replicated databases, but when applications are spread across geodistributed databases, it is a challenge to efficiently use all the databases for best performance and availability. In this AskTom Office hours session, hear from Oracle Product Development experts about how the Global Data Services feature of Oracle Database provides region-based workload routing, load balancing, and service failover across replicas while enabling a seamless distributed private data cloud for your IT. In this session, you will learn how to load-balance read/write workloads in active/active Oracle GoldenGate and to load-balance read-only workloads across Oracle Active Data Guard reader farms, among numerous other use cases.
Highlights: At 2:03, GDS is introduced. At 4:25, GDS architecture is discussed. At 8:15, Deployment steps are covered. For use cases, please go to 15:58.
For the upcoming GDS AskTOM Office Hours sessions, please visit https://asktom.oracle.com/pls/apex/f?p=100:551:::NO:551:P551_CLASS_ID:3785:

Load Balance the Reader Farm with Oracle GDS

Many organizations maintain one or more replicas of their production databases in local and/or geographically disparate data centers to meet various business requirements such as high availability, disaster recovery, content localization and caching, scalability, optimal performance for local clients or compliance with local laws. Oracle Active Data Guard and Oracle GoldenGate are the strategic replication technologies native to Oracle Database used to synchronize one or more replicated copies for such purposes.

Achieving high performance and high availability by distributing workload across multiple database replicas, however, presents challenges that extend beyond the capabilities of the replication technology. Workload must be intelligently load balanced to effectively utilize all resources and to achieve the best performance.

Oracle Global Data Services (GDS) is a feature of Oracle Database 12c that provides connect-time and run-time load balancing, region affinity, replication lag tolerance based workload routing, and enables inter-database service failover over a set of replicated databases.

In this blog post, I will talk about how you can perform load balancing of your read-only workload across the reader farm (a set of Active Data Guard standby databases or a set of Oracle GoldenGate replicas) using Oracle GDS.

GDS provides connect-time and run-time load balancing (within and across data centers) on a reader farm. In this, client connections are load balanced at the connect time. Connection pool based Oracle Integrated Clients can subscribe to the RLB events and can load balance the workload requests at run-time as well. GDS allows better resource utilization and higher scalability by balancing Read Only workload on an Active Data Guard or Oracle GoldenGate reader farm.

readerfarm.pngFigure 1: Load balancing of Read-Only workloads on a reader farm

The above pictorial depicts GDS enabled for an Active Data Guard or Oracle GoldenGate reader farm with physical standbys/replicas located in both local and remote data centers. Order Entry (Read Write) global service runs on the Primary/Master database. Reporting (Read Only) global Services run on the reader farm. Client connections are load balanced among the Read Only global services running on the reader farm (within or across data centers).

To load balance the read-only workload over the reader farm, the global service should be defined as shown below.

Oracle GoldenGate Example:

In this example, DB01 is the master and DB02, DB03, DB04 are the replicas.

GDSCTL>add service -service reporting_srvc -gdspool sales –preferred DB02, DB03, DB04 -clbgoal LONG –rlbgoal SERVICE_TIME

Active Data Guard Example:

GDSCTL>add service -service reporting_srvc -gdspool sales –preferred_all –role PHYSICAL_STANDBY -clbgoal LONG –rlbgoal SERVICE_TIME

Additional Notes on CLBGOAL and RLBGOAL attributes:

With the CLBGOAL attribute of a global Service, we can attain connect-time load balancing i.e. choosing the least loaded database instance for establishing a new connection.

CLBGOAL supports two values – LONG and SHORT. Use the ‪LONG connection load balancing method for applications that have long-lived connections. This is typical for connection pools and SQL*Forms sessions. ‪LONG is the default connection load balancing goal. Use the ‪SHORT connection load balancing method for applications that have short-lived connections. When using connection pools that are integrated with FAN, set the ‪CLBGOAL to ‪SHORT.

Run-time load balancing is a feature of Oracle connection pools that can distribute client work requests across persistent connections that span databases. GDS supports Runtime load balancing feature of connection pool based clients (OCI, JDBC, ODP.NET, and WLS) that are integrated with the Oracle database, i.e. for a particular work request, “picking” a connection in the pool which belongs to the least loading instance.

RLBGOAL supports two values – SERVICE_TIME and THROUGHPUT. With the RLBGOAL set to SERVICE_TIME, Connection Pools route work requests to DB instances to minimize response time. The load balancing advisory is based on elapsed time for work requests using the service and network latency. With the RLBGOAL set to THROUGHPUT, Connection Pool routes work requests to DB instances to maximize total throughput of the system. The load balancing advisory is based on rate of work completion in the service plus available bandwidth to service.

To learn about how to setup and configure GDS, take a look at the GDS Cookbook: http://www.oracle.com/technetwork/database-features/database-ee/gds-with-ogg-cookbook-4004663.pdf .

For more info on GDS, do visit GDS OTN Portal

Workload routing based on replication lag – Global Data Services (GDS) with Active Data Guard

As we studied in the previous blog posts, Oracle Global Data Services (GDS) is a feature of Oracle Database 12c that provides connect-time and run-time load balancing, region affinity, replication lag tolerance based workload routing, and enables inter-database service failover over a set of replicated databases.

In this blog post, I will talk about how you can perform workload routing across the standby databases based on replication lag tolerance.

A Data Guard standby database can lag behind its Primary for various reasons. With GDS, applications can choose between accessing real-time vs. slightly out-of-date data. Applications can set maximum acceptable lag limit for a global service. GDS routes requests to standby databases whose replication lag is below the limit. As showcased in Figure 1, when the replication lag at a given standby database exceeds the configured lag limit, the global service is brought down by GDS on that particular database and the new requests are routed to a database that satisfies the lag limit.

Note: If there is no available standby database, then the global service is shutdown. Once the lag is resolved or comes within the limit, GDS automatically brings up the global service.

 

lagFigure 1: Routing after replication lag exceeded the tolerance

In Oracle Database 12c Global Data Services, the lag attribute is supported only for Active Data Guard. To achieve this capability, the global services should be defined as shown below with the –lag attribute denoted in Seconds.

GDSCTL>add service -service reporting_srvc -gdspool sales –preferred_all –role PHYSICAL_STANDBY –lag 180

By setting the max tolerable replication lag at the service level, customers can make sure that their applications always access the standby databases that provide right data for the business.

For more info, do visit the Oracle GDS portal on Oracle Technology Network (OTN). Follow me on Twitter @nageshbattula

GDS Cookbook for Oracle GoldenGate

Oracle GDS extends the familiar RAC-Style connect-time and run-time load balancing, service failover and management capabilities – so far applicable only to a single database, to a set of replicated databases, be it within or across data centers. With a newly created concept called Global Service, Oracle GDS framework extends the notion of a database Service to a set of replicas running on a combination of Single Instance, Oracle RAC, Oracle Engineered systems, Active Data Guard and Oracle GoldenGate.

I’ve compiled a detailed cookbook that gives a walk through of the deployment and configuration of Global Data Services (GDS) for Oracle GoldenGate based replicated environments.  The cookbook covers:

  • Installation of Global Service Managers
  • Creation of GDS catalog
  • GDS Setup
  • Configuration of global services for the following GDS features: Inter-database global service failover, Connect-time and Run-time load balancing,  and Locality based workload routing

Here is the link to the cookbook: http://www.oracle.com/technetwork/database-features/database-ee/gds-with-ogg-cookbook-4004663.pdf  . I strongly encourage you to try it out in your lab.

For more info on GDS, do visit GDS OTN Portal