Availability is a key requirement of modern day business systems. Any outage, even if planned, can have a negative impact on the reputation and revenue of the business. Applications that provide continuous service to end-users pose major challenges to any organization that needs to ensure the underlying database is properly maintained and upgraded. In many cases, the size of these databases do not allow for an upgrade or migration to be performed within a normal maintenance window. Oracle GoldenGate is a high-performance software tool that synchronizes (and potentially transforms) multiple databases in real-time and can be used by organizations to perform no-downtime upgrades and migrations of mission critical systems.
In 2011, ESTI was contracted by a large Saskatchewan based client to migrate a number of Oracle 10g databases from HP-UX and AIX servers to the latest Oracle 11g database platform running Solaris on Oracle hardware. A number of these databases were mission critical with stringent availability requirements. The large size (often measured in terabytes) along with strict uptime requirements meant that traditional methods of transferring data from the existing database to the new database were not feasible. A tool was needed to minimize the downtime and provide the business with the flexibility of scheduling a time to migrate the users and application activity to the new database. At the same time this tool needed to be high performance, nonintrusive, and have very low impact on the existing production environment. Some key features of Oracle GoldenGate made it the perfect tool for zero downtime migrations:
- It works in heterogeneous environments where database types, versions, OS and hardware can be different between the source and target databases.
- Transactions can be replicated between source and target databases in real time.
- It ensures data consistency and integrity as data is moved between the source and target databases.
- Transactions can be applied to the target database from a deferred time point as selected by the user.
- It has an extremely low resource requirement, is very easy to install, and virtually no change is required to the existing system.
Figure 1, shows one such migration where GoldenGate was incorporated in the live production database to capture ongoing transactions. Traditional Oracle utilities (Export/Import) were used to transfer data from a particular snapshot of the live database to the new database. Meanwhile, GoldenGate was capturing all live transactions. Once the data was imported, an Oracle GoldenGate replication process was started in the new database to apply the transactions that were not captured using the Export/Import utilities. Once the two databases were synchronized, the application connections were pointed to the new database. ESTI successfully used GoldenGate to migrate several mission critical databases with no database downtime - databases that would have required between 7 hours to 4 days of downtime using traditional migration techniques.
Figure 1: Zero downtime migration using GoldenGate
Key benefits of using Oracle GoldenGate for database migrations are:
- Minimal downtime for critical applications
- Failback capabilities to reduce business risk
- Reduce the possibility of errors as less manual intervention is needed
Besides zero downtime migration, Oracle GoldenGate facilitates high-performance, low-impact data movement with sub second latency to a wide variety of databases and platforms while maintaining transaction integrity. The software can be configured to support the following scenarios:
Figure 2: Using GoldenGate to maintain a failover database. (Oracle Corporation, 2009)
- Disaster recovery and data protection: Create and maintain failover systems with up to date data to minimize recovery time for mission critical systems as demonstrated in the following diagram.
- Data distribution: GoldenGate supports various replication topologies such as one to one, one too many, many to one and bidirectional as shown in figure 3.
Figure 3: Possible replication topology using GoldenGate. (Oracle Corporation, 2009)
- Query offloading: High performance for production systems can be ensured while still supporting necessary read-only activities by replicating data between heterogeneous sources and targets.
Figure 4: Using GoldenGate to distribute workload for production system. (Oracle Corporation, 2012)
- Operational data integration: Oracle GoldenGate Application Adapters provide interfaces to C and Java programming language. This allows real-time data to be integrated with various modern and legacy applications.
Users expect mission-critical applications to be continuously available. Outages, even if planned, can have a negative impact on user satisfaction. With support for a wide array of continuous availability, disaster tolerance, and data integration scenarios, GoldenGate provides a modular foundation that easily scales to address the high-volume, low-impact data integration challenges faced by enterprises today.
- Oracle Corporation. (2012). Oracle GoldenGate 11g: Real-Time Access to Real-Time Information. Redwood City: Oracle Corporation.
- Oracle Corporation. (2009). Oracle GoldenGate: Administration Guide. Redwood City: Oracle.