Presentation is loading. Please wait.

Presentation is loading. Please wait.

with Oracle GoldenGate

Similar presentations

Presentation on theme: "with Oracle GoldenGate"— Presentation transcript:

1 with Oracle GoldenGate
Zero Downtime with Oracle GoldenGate Welcome! Paul Steffensen

2 Wide Awake and Zero Downtime!
Meet Swaroup Anand who lives in Bangalore Last year, after 11 years perfecting his technique, Dr Vivek Jawali performed open heart surgery on a patient that was still awake. His name is Swaroup Anand who is 24 and lives in Bangalore. He proved that patients with complications and issues who could not survive anaesthetics or respiratory support machines could receive the life saving surgery they needed. Yet….. In our profession we have continued to put our systems to sleep while we carry out our form of surgery. But, we now have a requirement to perform operations on our applications and their supporting infrastructure while they are still up and running and available. Operations that a few years ago would have meant a significant outage and a resulting loss in revenue or customer loyalty.

3 CX and the Disappearing Batch window
So why is this happening? I think it’s got to do with business competitiveness and the increasing expectation of service and more importantly experiences, from our customers. In the presentation room next door at the moment they are talking about the CX revolution and what it means for organisations. This CX pyramid was originally developed by Elizabeth Sanders in her masters paper looking at human computer interaction and has been developed since. It is easy to see from this simple but powerful diagram that “Meets Needs” could be missed and Easy becomes “difficult” if systems are not avaialbe 24/7. “CX is how your customers perceive their interactions with your company” - Forrester Research Inc. Their perception will be impacted by any systems outages at whatever stage of the lifecycle they are at. The Customer Experience Revolution Source: Dr. Elizabeth B. N. Sanders 1992 Master’s Paper

4 The Disappearing Batch Window
Increasing expectation of application availability Ever increasing data volumes What’s happened is the expectation for service availability has increased to the point that the operational tasks that use to take place “after hours” are being squeezed because there is no after hours in most cases. New ways of keeping systems up and running while performing the tasks that used to take them down for extended periods are required. So much data, so little time

5 Paul Steffensen Problem solver and pragmatic DBA
25+ years as an Oracle DBA NZ’s only certified GoldenGate Implementation Specialist Director and Senior Consultant, Enterprise IT Ltd Linkedin: I’ve spent most of my working life keeping my patients (databases) alive and kicking in a range of industries and countries. I’ve done my fair share of 02:00am database operations and know what works and what doesn’t on large, busy, mission critical systems. In more recent years I have evolved to Architecting solutions to increase the robustness and availability of systems to benefit my clients and save some poor DBA a sleepless night.

6 Strong Oracle background Services
Enterprise IT 100% Kiwi owned – Est. 2005 Strong Oracle background Services Cloud Services Database Facilities Management Linux and Solaris Who is Enterprise IT? We are an IT service company. I’ve been an Independent Contractor for most of my career but Enterprise IT was the first company in that time that matched my own professional values enough for me to work for them.

7 How does Enterprise IT do IT?
I.T. right first time Culture “Are we adding value?” drives our culture Consistency in communications and way we operate Service Focus Build Trusted Advisor Partnerships with Clients Developing a Thought Leadership Position in our Sector High Professional Standards Best Practice standards and procedures, ITIL Culture – Are we adding value. A difficult proposition some times but and communicate the way we operate. Service Focus – Build trusted advisor partnerships and develop a thought leadership position Underpinning the other two professional standards, both formal and best practice.

8 What else do I do? And before I stop talking about me and the company.... I fish from a kayak for a hobby. Reflecting on whether there is symmetry between my work life and other life I can see that even in my hobby there are advantages from strategy planning of every fishing trip when you get these sorts of results. When you’re floating around in a small piece of plastic, you really have to plan what equipment to take and know how to use it. This story begins with a look at what GoldenGate is and what it can do solve that “Disappearing Batch Window” problem and improve the uptime of your business applications.

9 What is Oracle GoldenGate?
“Oracle’s strategic solution for real time data integration.” What does that mean? “… real time data integration.”? GoldenGate is primarily a Change Data Capture (CDC) tool. It records changes made to a dataset and has the ability to apply those changes to another dataset. And it can do this is near real time. Another point to note is the word “strategic”. Oracle already has tools that will do similar things but not as well or as comprehensive as GoldenGate does it. Oracle is putting a huge effort into GoldenGate as it’s data integration product and has already made end-of-life announcements for similar products (eg Streams) GoldenGate is more than a data integration solution. It’s provides a way of solving the “Disappearing Batch Window” by tracking changes to data and applying those changes to remote (possibly heterogeneous) systems.

10 Where did GoldenGate come from?
GoldenGate Software Inc. founded in 1995 “The need to improve operating performance in a global 24x7 environment has led to the need for data integration to support real-time and high availability capabilities..” Hasan Rizvi, senior vice president Oracle Fusion Middleware Product Development in 2009. No prizes for guessing which city in the US GoldenGate Software Inc was founded. Acquired by Oracle in September 2009 As of late 2012, over 2100 customers worldwide using GoldenGate technology for over 4000 solution implementations. My first GoldenGate presentation was in late 2011 when this number was only 500 customers so the growth in GlodenGate has been outstanding. Since it’s acquisition of GoldenGate, Oracle have continued to enhance and improve the product and integrate it even more into Oracle database functionality. Latest version of of the product released in Jan 2013

11 What makes GoldenGate so good?
What’s all the fuss about. Performance Low Latency Low Impact Flexibility Open, Modular Architecture Heterogeneous Reliability Transactional Integrity Resilient Performance Low latency for data movement. Most real world configurations I’ve been involved with have had latency figures in the small number of seconds. 2 to 8 seconds would be typical. Low Impact. It’s written in C and has minimal overhead during capture, routing, transformation, and delivery of transactional data. The Capture process, which tends to be the heaviest of the three, can be offloaded onto another machine where the archived logs reside if required. Data compression can be used if network bandwidth is an issue. Flexibility Open, modular architecture with a user-exit style interface to write pieces of custom processing in C and an Event Marker system that allows GoldenGate to take a defined action based on information in the transaction log. Scalability . Can have multiple extract and replicat processes to increase throughput. Heterogeneous. Provides data transfer solutions between many different types of databases. Reliability Maintains transactional integrity. Checkpoint information is stored as part of the transaction in the database and is protected by transactional integrity of the database. Resilient against interruptions and failures of source and target environments and the network between them.

12 Integration/Consolidation
What can GoldenGate do? Bi-Directional Live Standby or Active-Active Peer-to-Peer Load Balancing, Multi-Master Unidirectional Query Offloading or Upgrades/Migrations Broadcast Data Distribution Integration/Consolidation Data Warehouse Cascading Data Marts These are some of the configurations that GoldenGate can be used in and the types of business requirements they fulfill. Unidirectional. Can be used to support a reporting style repository or (as in this case study) provide a mechanism for upgrades and migrations. Bi-Directional. Either (what I like to call) Half or Full Duplex bi-directional. Peer to Peer. Multimaster load balancing configuration. Probably the most complex of the configurations mentioned, but possible with the correct design and implementation. Broadcast. (or Master-Slave configuration) Useful for Head Office to Branch Office style data distribution. Integration/Consolidation. (opposite of Broadcast really) It’s the Data Warehouse configuration where remote data is consolidated at a central point. Cascading. Really just to show the modular nature of GoldenGate in that it can be used to build complex data distribution/replication environments.

13 What can GoldenGate be used for?
Standby (Open & Active) Disaster Recovery, Data Protection Zero Downtime Migration and Upgrades New Database Reporting Database Operational Reporting & Query Offloading Log Based, Real-Time Change Data Capture GoldenGate ETL ODS EDW Real-time BI ETL Data Warehouse Heterogeneous Source Systems Legacy Systems Java Message Bus These are some of the functional tasks that can be accomplished using GoldenGate. Event Driven Architecture, SOA JMS Queue Enterprise Data Synchronization Distribution

14 Where can I run GoldenGate?
Databases Oracle (from 8i) DB2 Microsoft SQL Server Sybase ASE Teradata MySQL v 5.5 JMS message queues Enscribe Postgres (delivery) SQL/MX Operating Systems Linux Solaris v11 Windows 2000, 2003, XP HP-NonStop HP-UX IBM z Series IBM AIX v7.1 IBM i Series GoldenGate is a heterogeneous solution that can run against many types of databases on many operating systems. GoldenGate is built against a specific database and operating system combination so not all permutations above are available.

15 How does GoldenGate work?
Capture: Committed changes are captured (and can be filtered) as they occur by reading the transaction logs. DB Log Capture Trail files: Stages and queues data for routing and can be encrypted. Source Trail Files Pump Pump: Distribute data for routing to one or multiple targets. Route: Data can be compressed and encrypted for routing to targets. TCP /IP LAN / WAN / Internet Delivery: Applies data with transaction integrity, transforming the data as required. Target Trail Files Delivery DB Client Library Source Database Target Database DB Log Capture Delivery DB Client Library Pump Bi-directional Here’s an overview of GoldenGate’s architecture – very few moving parts. The key to this architecture is Highly Integrated / Loosely Coupled modules. GoldenGate’s TDM platform consists of decoupled modules that are combined to create the best possible solution for your business requirements. At the source database(s): GoldenGate’s CAPTURE module reads data transactions as they occur, by reading the native transaction log, typically the redo log. GoldenGate only moves changed, committed transactional data, which is only a % of all transactions – therefore operating with extremely high performance and very low impact on the data infrastructure. Filtering at the source or target can be done, selectivity can be done at table, column and/or row level. Transformations can be applied at the capture or deliver stages. Advanced queuing (trail files): To move transactional data efficiently and accurately across systems, GoldenGate converts the captured data into a universal data format in “trail” files. With both source and target trail files, GoldenGate’s unique architecture eliminates any single point of failure and ensures data integrity is maintained – even in the event of a system error or outage. A Data Pump pushes the data to the target – by adding multiple Data Pumps, the same data can be sent to multiple targets off of the same trail file, making data replication extremely efficient and scalable. Routing: Data is sent via TCP/IP to the target systems. Data compression and encryption are supported. Thousands of transactions can be moved per second, without distance limitations. Delivery to target database(s): The transactional data is delivered and applied to the designated target systems using native SQL calls. Bi-directional: In bi-directional configurations/solutions, this process runs the same in reverse, to concurrently synchronize data between the source and target systems. (Not depicted) Manager modules perform administrative functions at each node. Diagram courtesy Oracle Corporation 15 15

16 Management Pack for GoldenGate
How Do I Manage it? Management Pack for GoldenGate Oracle GoldenGate Monitor for monitoring GoldenGate implementations. Includes a plugin for Enterprise Manager 12c Oracle GoldenGate Director for managing GoldenGate components. GoldenGate has a manager process that runs in the background on each node and handles administrative functions via a command line interface. In addition to that, there is the Management Pack for GoldenGate. The Management Pack is a licenced option and provides two main components. GoldenGate Monitor, including a plugin for Enterprise Manager 12c, is a web based monitoring and reporting tool. GoldenGate Director is still included and is a graphical configuration component that can help with GoldenGate process design and the management of replication components. Useful if you are including GoldenGate as an integral part of your production system but for individual tasks like migration/upgrades, simple scripts should suffice.

17 How Do I Know It’s Working?
Oracle Veridata High speed, low impact comparison solution Oracle GoldenGate Veridata is a high-speed data-comparison solution that identifies and reports on data discrepancies between heterogeneous databases without interrupting ongoing business processes. Veridata is a separate, licenced product. Again, useful if you are including GoldenGate as an integral part of your production system but for individual tasks like migration/upgrades, audit scripts should suffice.

18 New Features in the latest Version
11gR2 ( ) Integrated Capture Improved Conflict Detection and Resolution Globalization Security and Performance Manageability and Monitoring Additional platforms/databases Support for new Oracle applications Integrated Capture Uses Oracle’s Log-mining API to integrate the Extract process closer to the RDBMS engine. Supports encryption and compression including Exadata’s HCC. Multi-Threaded giving performance gains due to parallel processing. Conflict Detection and Resolution Automatic detection and resolution of data conflicts. Easier to code and implement. Example on this later. Globalization Can be implemented on and capture data from databases using multi-byte/Unicode character sets. Automatic character set conversion across source and target environments. Security Supports FIPS and BLOWFISH encryption algorithms for both in-place (trail files) and in-flight (across network) data along with password encryption. Manageability and Monitoring Oracle GoldenGate Monitor with integration with Enterprise Manager. Additional platforms/databases Additional enhancements to existing supported platforms and new platforms/databases added. For example this release saw capture from DB2 on iSeries and delivery to Postgress. Support for new Oracle applications Certified with Oracle Billing and Revenue Management (BRM 7.x) application for zero downtime upgrades and offload reporting. BRM upgrade (and downgrade to enable active-passive failback deployment model) logic embedded in the delivery configuration. Offload reporting for Peoplesoft Read only access directed to the the GoldenGate standby copy. Out of the box solution.

19 Conflict Detection and Resolution
What happens if a row that was inserted in the Customers table already exists in the target database? “In the event of a new Customer record already existing in the target database, overwrite that record with the data from the source table.” MAP source.customers, target.customers, RESOLVECONFLICT(INSERTROWEXISTS, DEFAULT, OVERWRITE); Conflict detection and resolution is one of the key functional areas when replicating changing data. GoldenGate has the built in ability to detect and resolve all of the common conflicts and can apply custom processing logic for more complex cases.

20 Migration Case Study GoldenGate in Action!
Here’s a real example of using GoldenGate to solve one of eIT’s clients problems.

21 Our Client’s Problem Major player in NZ but small player in the World
Providing a robust and reliable service to it’s customers Major player in NZ but small player in the World Forrester Research has identified that Commoditisation has stripped away most sources of differentiation and Customer Experience is what is left Brand value a priority and client constantly measuring Cx for eg with Net Promoter Score (NPS) BUT...... Our client is a listed NZ company with a very high profile. For them brand is everything. There’s a metric called Net Promoter Score which is a measure which emerged back in 2003 from research and rates a companies customers as being either promoters of their brand or detractors of the companies brand. The growth of customer engagement with social media means that measures like the NPS have become even more important to customer focused organisations. The customers demand 24/7 online access to products and services . Our client wanted as little downtime as possible so their promoters do not switch into being detractors.

22 Our Client’s Problem Hardware lacked HA ability and limited DR capability Older software versions lacked functionality Ability to provide a robust and reliable service to its customers was at risk Priority 1 and 2 applications demanded little or no downtime That was how the client saw their problem. But our challenge to meeting this issue were a little more tangible.

23 Enterprise IT’s Problem
We had to do 4 days of work in 30 minutes! To perform a cross platform migration and upgrade Very limited downtime allowed 350+ Gb of data to move in less than half an hour This is really a specific example of a general problem that I believe our industry is facing now…

24 Our Profession’s Challenge
There is now a real business requirement to maintain application service levels during operations on applications and their supporting infrastructure that would in the past have meant a system outage. We need to operate on these applications while they are still up and running without giving them a full anaesthetic during the operation.

25 Why we used Oracle GoldenGate?
Heterogeneous, cross-platform, cross-version Performance: Real time, Sub second latency Efficient: Non-intrusive, Low impact Flexible Robust Reliable At the time, no other viable alternative Heterogeneous. - Cross platform, cross version. Performance. – It’s fast. It’s written in C and optimized for the platform and database version it’s running against. Efficient. – Low impact on both source and target environments. Flexible. – It’s modular architecture enables many different configurations. A user-exit style interface allows the ultimate in functional extensibility. Robust. – Resilient against interruptions and failures. Reliable. – Maintains transactional integrity

26 Our problem solving strategy
Needed a solution for more than this application Documented generic procedure that could be handed over to implementation teams for other applications K.I.S.S. Strategy is an important part of problem solving to Enterprise IT. The client has a number of applications residing on a similar hardware configuration. Some much larger than the application in the case study and some with even stricter downtime restrictions. We wanted a documented and tested generic solution to this problem as we knew the client had other applications in the same state that could benefit from this solution. Although taking a specific solution and turning it into a generic one meant a little more time and effort up front, we believed that as part of our “are we adding value” approach, this would pay dividends in the future for other applications. As always, keep the solution as simple as possible. After meeting with the business and explaining the challenges, we were given special dispensation for an extended outage window of 1 hour.

27 Migration Implications
Everything Changes yet Nothing Changes Source Platform Target Platform Solaris8 (Sparc) Linux 2.6 (Intel) Single Instance Oracle RDBMS Oracle 4 node RAC Cluster Oracle 9i ( ) Oracle 10gR2 ( ) 7 bit character set (US7ASCII) Multi-byte Unicode character set Standalone database Consolidated database Under the surface a lot was going on with this migration/upgrade. There were a number of changes that affected the options available to us to perform the operation. We were going from a SPARC (big endian) to an Intel platform (little endian) We were taking the application from a single instance environment into a multi-instance RAC environment. We were upgrading the application’s database version from 9i to 10g so all the improvements and changes that entailed had to be considered. In particular, the performance under the 10g optimizer. We were changing the character set of the stored data from a simple 7bit encoding to a multibyte Unicode character set. We were taking the application from it’s own database and putting it in a consolidated database that potentially could have many other applications residing in the same database. All these changes should be transparent to the application and it’s end users.

28 The Solution Design Implement GoldenGate to capture changes made in the source database Use Export / Import to perform the initial load of the new database Use GoldenGate to update the new database and keep it synced Perform switchover at a chosen time in a controlled fashion We set up GoldenGate to capture the changes made to the application schemas in the source database and write the change information (the trail file) directly onto the target platform over the network. GoldenGate has the ability to populate a completely empty database from scratch but often the RDBMS’s native data loading utilities perform better. We decided to use Oracle’s Export/Import utilities as the means to perform the initial load of the data. Export the application schema data. This phase would have taken approximately 2 days to complete but we broke the export down into 5 parallel streams so the total export time was around 12 hours. Import the exported data. This took approximately 2 days to complete with index creation and statistics gathering. All this time, GoldenGate was keeping track of the changes being made to the live production database. When the import was complete, we issued the GoldenGate command to apply all the changes to the target database that took place during the initial data load. At this point the data content of the two databases are identical but the live production database is still being used of course so we configured GoldenGate to continuously apply any changes to the target database from the source. This synchronising of the two database happens in a continuous real time fashion. Then at a point in time of our choosing (and I say that because it doesn’t have to happen straight away, you could run in this synchronised state for an extended period) we switch the application from the old to the new database. While it would have been possible to implement a true “zero downtime” solution. In this case the business allowed us a small outage window.

29 The Solution Implementation
Time in the Operating Theatre Sunday 6th November :00pm to 11:00pm 10:00 Shut down application 10:05 GoldenGate switchover to the new database 10:10 Perform audit counts between old and new 10:20 Start up application for testing 11:00 Make application available to the public The GoldenGate switchover involved stopping the transaction capture on the source database and waiting for the last few transactions to be applied on the target database. (which is a process that took a shorter time than it did for me to describe it) We had prepared a number of audit reports to prove that all transactions had been applied to the target database and that record counts etc matched across the two databases. These were requested by the business application owners as proof that the GoldenGate phase of the operation was successful and all data had been migrated. Due to the nature of the application and the fact that this was the first application that we had migrated using this approach, the application testing by the business prior to release to the public was perhaps a little more rigorous than usual, hence the extra 40 minutes. Personal story about stressing in the middle of the night waiting for tasks to finish before the outage window closed.

30 A Great Result Client’s challenge was to increase the robustness of their service to its customers Enterprise IT’s challenge was to make this happen with little or no impact to the service it was improving Oracle GoldenGate provided the solution GoldenGate has been likened to a Swiss army knife in the sense that it is a multi-talented utility that can solve a number of issues.

31 Return on Investment Getting bang for your buck Increased service availability during the operation Increased HA and DR position Absolutely no issues post-migration Performance and reliability improvements Using GoldenGate, we took the outage window from potentially days down to minutes, thereby maintaining the service availability at acceptable levels. Target database is in sync with the source and data can be checked/verified before and outage. (If needed) And, in fact, since this migration took place, the client has used GoldenGate to migrate even bigger and more critical applications successfully.

32 GoldenGate Alternatives?
Is there anything else that will do the job? DIY scripts Active Data Guard Oracle Streams Dbvisit Replicate Yes, components of other products can provide GoldenGate like functionality but they all have there pros and cons. DIY Scripts Expensive to build and maintain. Active Data Guard Licenced option ($$) against Enterprise Edition ($$) allows standby to be opened read only. Read only may not be enough to support some reporting tools. Not able to perform bi-directional. Not heterogeneous, oracle only. Oracle Streams Option included with Enterprise Edition ($$) Complex to configure and manage. Oracle have indicated this is an end of life product. Dbvisit Replicate Good price point Not as heterogeneous as GoldenGate Anybody go to Arjen’s presentation yesterday afternoon?

33 GoldenGate Resources Oracle’s GoldenGate Home Page GoldenGate Forum
Lots of information out there Oracle’s GoldenGate Home Page GoldenGate Forum Oracle’s My Support Community Page Oracle Documentation and Books Linkedin Many Blogs There is an increasing amount of useful GoldenGate resources available on the net. And you can also come and talk to me as well!

34 A solution to other problems?
GoldenGate is really a bit of a Swiss Army knife when it comes to solving data replication problems. The more you use the product the more uses you will discover for the product. Weather it forms an integral part of you data distribution and replication strategy for your production systems or used as a one-off to perform an upgrade or migration. I hope this presentation has started you thinking about how GoldenGate can solve some of your Data Integration and Replication challenges. And if you were wondering...... Swaroup is alive and well and living in Bangalore and provides us with a living reminder that we can perform open heart surgery on our patients…………….. thereby supporting our clients and helping them keep their loyal customers as active promoters of their brand.

35 Questions?


Download ppt "with Oracle GoldenGate"

Similar presentations

Ads by Google