Presentation on theme: "with Oracle GoldenGate"— Presentation transcript:
1with Oracle GoldenGate Zero Downtimewith Oracle GoldenGateWelcome!Paul Steffensen
2Wide Awake and Zero Downtime! Meet Swaroup Anand who lives in BangaloreLast 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.
3CX 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 RevolutionSource: Dr. Elizabeth B. N. Sanders 1992 Master’s Paper
4The Disappearing Batch Window Increasing expectation of application availabilityEver increasing data volumesWhat’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
5Paul Steffensen Problem solver and pragmatic DBA 25+ years as an Oracle DBANZ’s only certified GoldenGate Implementation SpecialistDirector and Senior Consultant, Enterprise IT LtdLinkedin: nz.linkedin.com/in/uptimedbaI’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.
6Strong Oracle background Services Enterprise IT100% Kiwi owned – Est. 2005Strong Oracle backgroundServicesCloud ServicesDatabaseFacilities ManagementLinux and SolarisWho 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.
7How does Enterprise IT do IT? I.T. right first timeCulture“Are we adding value?” drives our cultureConsistency in communications and way we operateService FocusBuild Trusted Advisor Partnerships with ClientsDeveloping a Thought Leadership Position in our SectorHigh Professional StandardsBest Practice standards and procedures, ITILCulture – 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 positionUnderpinning the other two professional standards, both formal and best practice.
8What 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.
9What 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.
10Where 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 2009As 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
11What makes GoldenGate so good? What’s all the fuss about.PerformanceLow LatencyLow ImpactFlexibilityOpen, Modular ArchitectureHeterogeneousReliabilityTransactional IntegrityResilientPerformanceLow 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.FlexibilityOpen, 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.ReliabilityMaintains 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.
12Integration/Consolidation What can GoldenGate do?Bi-DirectionalLive Standby orActive-ActivePeer-to-PeerLoad Balancing,Multi-MasterUnidirectional Query Offloading or Upgrades/MigrationsBroadcastData DistributionIntegration/ConsolidationData WarehouseCascadingData MartsThese 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.
13What can GoldenGate be used for? Standby (Open & Active)Disaster Recovery, Data ProtectionZero Downtime Migration and UpgradesNew DatabaseReporting DatabaseOperational Reporting & Query OffloadingLog Based, Real-Time Change Data CaptureGoldenGateETLODSEDWReal-time BIETLData WarehouseHeterogeneous Source SystemsLegacy SystemsJava Message BusThese are some of the functional tasks that can be accomplished using GoldenGate.Event Driven Architecture, SOAJMS QueueEnterprise Data Synchronization Distribution
14Where can I run GoldenGate? DatabasesOracle (from 8i)DB2Microsoft SQL ServerSybase ASETeradataMySQL v 5.5JMS message queuesEnscribePostgres (delivery)SQL/MXOperating SystemsLinuxSolaris v11Windows 2000, 2003, XPHP-NonStopHP-UXIBM z SeriesIBM AIX v7.1IBM i SeriesGoldenGate 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.
15How does GoldenGate work? Capture: Committed changes are captured (and can be filtered) as they occur by reading the transaction logs.DB LogCaptureTrail files: Stages and queues data for routing and can be encrypted.SourceTrail FilesPumpPump: Distribute data for routing to one or multiple targets.Route: Data can be compressed and encrypted for routing to targets.TCP /IPLAN / WAN /InternetDelivery: Applies data with transaction integrity, transforming the data as required.TargetTrail FilesDeliveryDB ClientLibrarySourceDatabaseTargetDatabaseDB LogCaptureDeliveryDB ClientLibraryPumpBi-directionalHere’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 Corporation1515
16Management Pack for GoldenGate How Do I Manage it?Management Pack for GoldenGateOracle GoldenGate Monitor for monitoring GoldenGate implementations. Includes a plugin for Enterprise Manager 12cOracle 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.
17How Do I Know It’s Working? Oracle VeridataHigh speed, low impact comparison solutionOracle 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.
18New Features in the latest Version 11gR2 ( )Integrated CaptureImproved Conflict Detection and ResolutionGlobalizationSecurity and PerformanceManageability and MonitoringAdditional platforms/databasesSupport for new Oracle applicationsIntegrated CaptureUses 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 ResolutionAutomatic detection and resolution of data conflicts.Easier to code and implement.Example on this later.GlobalizationCan be implemented on and capture data from databases using multi-byte/Unicode character sets.Automatic character set conversion across source and target environments.SecuritySupports FIPS and BLOWFISH encryption algorithms for both in-place (trail files) and in-flight (across network) data along with password encryption.Manageability and MonitoringOracle GoldenGate Monitor with integration with Enterprise Manager.Additional platforms/databasesAdditional 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 applicationsCertified 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.
19Conflict 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.
20Migration Case Study GoldenGate in Action! Here’s a real example of using GoldenGate to solve one of eIT’s clients problems.
21Our Client’s Problem Major player in NZ but small player in the World Providing a robust and reliable service to it’s customersMajor player in NZ but small player in the WorldForrester Research has identified that Commoditisation has stripped away most sources of differentiation and Customer Experience is what is leftBrand 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.
22Our Client’s ProblemHardware lacked HA ability and limited DR capabilityOlder software versions lacked functionalityAbility to provide a robust and reliable service to its customers was at riskPriority 1 and 2 applications demanded little or no downtimeThat was how the client saw their problem.But our challenge to meeting this issue were a little more tangible.
23Enterprise IT’s Problem We had to do 4 days of work in 30 minutes!To perform a cross platform migration and upgradeVery limited downtime allowed350+ Gb of data to move in less than half an hourThis is really a specific example of a general problem that I believe our industry is facing now…
24Our 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.
25Why we used Oracle GoldenGate? Heterogeneous, cross-platform, cross-versionPerformance: Real time, Sub second latencyEfficient: Non-intrusive, Low impactFlexibleRobustReliableAt the time, no other viable alternativeHeterogeneous. - 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
26Our problem solving strategy Needed a solution for more than this applicationDocumented generic procedure that could be handed over to implementation teams for other applicationsK.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.
27Migration Implications Everything Changes yet Nothing ChangesSource PlatformTarget PlatformSolaris8 (Sparc)Linux 2.6 (Intel)Single Instance Oracle RDBMSOracle 4 node RAC ClusterOracle 9i ( )Oracle 10gR2 ( )7 bit character set (US7ASCII)Multi-byte Unicode character setStandalone databaseConsolidated databaseUnder 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.
28The Solution DesignImplement GoldenGate to capture changes made in the source databaseUse Export / Import to perform the initial load of the new databaseUse GoldenGate to update the new database and keep it syncedPerform switchover at a chosen time in a controlled fashionWe 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.
29The Solution Implementation Time in the Operating TheatreSunday 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 publicThe 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.
30A Great ResultClient’s challenge was to increase the robustness of their service to its customersEnterprise IT’s challenge was to make this happen with little or no impact to the service it was improvingOracle GoldenGate provided the solutionGoldenGate 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.
31Return on InvestmentGetting bang for your buckIncreased service availability during the operationIncreased HA and DR positionAbsolutely no issues post-migrationPerformance and reliability improvementsUsing 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.
32GoldenGate Alternatives? Is there anything else that will do the job?DIY scriptsActive Data GuardOracle StreamsDbvisit ReplicateYes, components of other products can provide GoldenGate like functionality but they all have there pros and cons.DIY ScriptsExpensive to build and maintain.Active Data GuardLicenced 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 StreamsOption included with Enterprise Edition ($$)Complex to configure and manage.Oracle have indicated this is an end of life product.Dbvisit ReplicateGood price pointNot as heterogeneous as GoldenGateAnybody go to Arjen’s presentation yesterday afternoon?
33GoldenGate Resources Oracle’s GoldenGate Home Page GoldenGate Forum Lots of information out thereOracle’s GoldenGate Home PageGoldenGate Forumhttps://forums.oracle.com/forums/forum.jspa?forumID=860Oracle’s My Support Community Pagehttps://communities.oracle.com/portal/server.pt/community/goldengate%2C_streams_and_distributed_database/410Oracle Documentation and BooksLinkedinMany BlogsThere is an increasing amount of useful GoldenGate resources available on the net.And you can also come and talk to me as well!
34A 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.