When your boss says "migration" or "upgrade," do you only hear "risk" and "downtime"? You're not alone. A recent survey reveals 90 percent of DBAs are worried about their next migration or upgrade. That's because, traditionally, these projects have caused serious stress for database administrators.
But what if you could perform database migrations and upgrades without any downtime or data loss? Imagine how relieved you'd feel if you could adopt a safer, easier approach that never interrupted business as usual. Now, you can.
With the expert advice in this e-book, you'll be able to:
The process of migrating and upgrading hardware, operating systems, databases and software applications has become inextricably linked to risk, downtime and weekends at the office for most administrators who perform them. Systems administrators and the users who depend on them hold their breath until the process is over, then resume normal operations with an eye out for things that don't quite work the way they used to.
For the DBA, the process is a stressful one. Not only do you have to plan on missing an evening at home or a holiday, but the whole thing could go horribly wrong, and you could end up spending days trying to figure out why. All the while, you have angry users who can't do their job and a business that is losing revenue. And everyone's looking to you to get things running again.
It may feel like database migrations and upgrades have to be this risky and stressful, but the truth is, they don't. What if you could complete your database projects with zero downtime and zero data loss? This means you could achieve your operational goals without impacting business.
By the end of this e-book, you'll know how to run mission-critical apps while migrating and upgrading your databases. But first, let's look at reasons for performing migrations and upgrades and some common pitfalls of these processes. We'll also go over ways to avoid risks that impact system availability, so you can take back your weekends.
Let's start with the basics: Are you performing a migration or an upgrade? The terms are sometimes used interchangeably, but understanding the difference is the first step toward figuring out the right approach to your project.
Dedicated migration tools are designed to help you accomplish the switchover with near-zero downtime.
Migration usually involves changing hardware, moving to a brand new platform (for example, from Unix to Linux or from EMC storage to Dell EqualLogic), standing up a new Oracle database or changing over completely from one database management system to another (for instance, Oracle to SQL Server).
All the objects, tables and data — along with the changes that occur to them while the project is under way — must be replicated to the new environment. That means saving the information so you have an exact copy to apply to your new system. In the case of a database migration, the bigger the database is, the greater the risk to the business in addition to the downtime. Dedicated migration tools are designed to help you accomplish the switchover with near-zero downtime.
In an upgrade, you apply an updated version like Oracle version 12c to an existing environment like Oracle 11g. Since upgrades rarely affect your data, the amount of it you have stored has little or no impact on your project.
Database vendors provide a myriad of native tools for accomplishing migrations and upgrades, but their scope is limited and their use can still result in downtime. Dedicated replication tools let you copy the old environment and update or upgrade the new environment with minimal downtime.
Companies undertake migrations for a variety of reasons:
In all these scenarios, administrators face two competing priorities: to perform the upgrade speedily and to reduce risk and downtime. While they can never be 100 percent certain of fulfilling either priority, it is incumbent on them to test and optimize the new environment in its entirety before migrating users to it.
That is a tricky question.
Traditionally, migrations and upgrades are scheduled when no users are online. That may reduce the interruption to people's work, but it means that DBAs are heads down on migration projects while co-workers are enjoying their evening, weekend, holiday or even vacation. Other issues to take into consideration are:
Especially for companies dependent on ecommerce, there's really no best time to migrate because there's no room for downtime. Downtime disrupts business and affects the bottom line.
With the right tool in place, you can maximize availability by having a copy of your environment running on an interim system separate from production. Most important, you can spend fewer evenings, weekends and vacations thinking about migrations and upgrades.
Five common pitfalls that afflict migration projects:
Ideally, after the migration, you'll test your applications thoroughly before making them available to your user community, but pressure to get the system back online often makes testing impossible. Most organizations try to save downtime by limiting the application testing, which increases the risk of a failed migration.
Test before deployment. A better approach to testing is to replicate the activity on production databases, with the volume and variety of transactions that would take hours of work to duplicate. Use replication for at least two days as the only form of test against the instance. Then begin running read-only tests, checking your reports and queries for compatibility with the new platform.
Finally, implement the most important features of your new platform and try to update your applications. This is the largest part of the task, but well worth it to ensure everything functions properly as soon as you flip the switch.
Have a backup plan. There's always a chance that your migration could fail. In the worst possible scenario, the application seems to be working perfectly and users start entering data, then you find some part of the application that isn't functioning properly.
That is where failback to the primary system comes in. If something goes wrong with the new environment, you need a way to enable users to work in the original environment without downtime and loss of data. Native tools do not support automatic failback. So unless you have captured interim changes, you run the risk of increasing your downtime with manual scripts and data entry, aggravating the impact on the business.
Whether you face a migration project or an upgrade, change lies ahead of you. And whenever there's change in IT, there's often the risk of downtime for your users and lost weekends for you.
But what if you could avoid the pitfalls that afflict most migration projects?
By insisting on adequate time for testing and arming yourself with a backup plan, you can greatly reduce risk.
To make your migrations and upgrades even safer, you can overcome the deficiencies of native tools with the comprehensive, end-to-end support built into dedicated software tools. With the right solution, you can virtually eliminate the risk of downtime and data loss altogether.
In this chapter we'll turn our attention to the specifics of the migration or upgrade process:
Organizations have a wide range of options for their Oracle migration and upgrade projects. Let's review the benefits and drawbacks of all the most common choices.
Oracle's export and import utilities can be used to move data between different machines, databases or schema. Specifically, the export utility dumps the data to a binary file, which can then be imported into another Oracle database. While simple to run, this process is prone to errors that require significant time and resources to resolve. Additionally, since the import and export utilities use a proprietary file format, they can be used only between Oracle databases. Moreover, the export/import process requires significant downtime.
Designed to replace the traditional export and import utilities, Oracle Data Pump is a server-based tool for bulk movement of data and metadata between Oracle databases. Although it is faster than traditional export and import, Oracle Data Pump still requires significant downtime, and you have to consider your various options to restore should the process fail. In addition, Oracle Data Pump does not support XML schemas and XML schema-based tables.
The Oracle database upgrade wizard enables in-place upgrade of a standalone database. However, you can upgrade only one single instance database or one Oracle RAC database instance at a time, and the source database version must be 10.2.0.4 or above for upgrade to 11g or 12c.
XTTS enables you to move tablespaces between Oracle databases by plugging a subset of one Oracle database into another Oracle database, and to export or import metadata. Using XTTS can be much faster than a traditional export/import because transporting the tablespace requires only the copying of the data files and the subsequent integration of the structural information into the target Oracle database. However, XTTS moves your data as it exists. Any fragmentation or sub-optimal object or tablespace designs are carried forward.
Cloning a database is a means of providing a database to return to in the event an upgrade does not succeed. That is, if the upgrade fails, the database that failed to upgrade is deleted and the clone is used to restore. This is an alternative to restoring a full system backup.
Some organizations choose to create custom scripts to perform their upgrade or migration. In addition to offering maximum flexibility, this approach can seem like the most cost-effective choice, since it avoids the cost of licensing and learning to use a migration tool. However, the process of creating, testing and running custom scripts is complex and requires significant time from skilled IT professionals with expert knowledge of your applications. The migration or upgrade also usually requires downtime.
Organizations can also choose from a number of online upgrade and migration options, including traditional remote mirroring solutions, Oracle RMAN, Oracle transportable databases and Oracle Data Guard. For example, RMAN can duplicate an Oracle database as a logical standby, and Oracle's transportable database feature can be used to recreate an entire database from one platform on another platform. Of course, you should consider the costs and potential downtime drawbacks that could impact the business.
More broadly, traditional methods for migrating and upgrading are complex and resource intensive, and often require lengthy downtime of production systems. This is why organizations shudder at the prospect of having to upgrade or migrate IT systems.
One additional drawback merits its own discussion: the inability of traditional approaches to enable effective failback. Traditional migrations and upgrades typically take place on the weekend, and Monday morning is an anxious time. Will the new systems work properly? Will they not only have all the necessary functionality but also be able to support the production workload? What happens if after a few hours on Monday, performance or functionality problems come to light, and you need to fail back to the old system? The organization will lose all the transactions that have been processed that day under the new system.
That's bad enough, but suppose the problems don't come to light on Monday, which is often a comparatively slow business day. What if the problems don't surface until Thursday or Friday? The organization faces the hard choice of either losing multiple days' worth of transactions or struggling to work around the issues and fix a live system. The IT team in charge of the migration or upgrade will definitely be in the hot seat, facing tough questions from management about why they failed to anticipate the problems and deliver a successful outcome.
Enterprise migration solutions offer a better approach. In particular, near real-time replication solutions enable you to stand up a complete replica of your production systems, perform the migration or upgrade on the replica during normal work hours, discover and remediate issues, and thoroughly test functionality and scalability before you go live with the new system. When you're satisfied with the new environment, simply switch to it — no expensive downtime or bleary-eyed weekends of overtime required. Moreover, you can keep the old and new environments in sync before, during and after the switch, so if critical problems ever do come to light in the new environment, you can seamlessly revert to the old system without data loss.
This might sound too good to be true, but it's not. Organizations of all sizes are already reaping these and other benefits of near real-time replication. Let's look at the specific features you'll want to look for.
Choosing the right enterprise migration solution requires careful evaluation. You need a solution that helps you ensure a smooth migration or upgrade by enabling pre-migration impact analysis and load testing, and also helps you ensure the target environment is functioning optimally after the migration by providing diagnostics and SQL tuning.
Any SQL statement can be executed in many different ways, such as using full table scans, index scans, nested loops, hash joins and so on. Each of these options will have different execution time. Oracle's optimizer is designed to determine the most efficient execution plan for each SQL statement. Of course, the optimizer does not always make the absolute best choice, but over time, you and your users adapt to the results of its choices. That is, everyone knows how long different workloads are going to take and can plan accordingly.
However, when you upgrade to a new version of Oracle, you'll also get a new version of the optimizer. And the new optimizer might well choose different execution plans for the SQL in your existing workloads. Some jobs may run faster, but other workloads might be slower. In the worst case, business-critical jobs might be significantly slower. For example, a transaction that used to take only a minute might take hours after the upgrade.
Therefore, it's critical for your migration solution to include impact analysis functionality that enables you to play your workload on the new system and look for any changes in execution plans from the new optimizer. By proactively discovering these changes, you can take steps to prevent slowdowns for users, rather than waiting for users to experience problems and label the upgrade project a failure.
You also need to be able to determine whether your new database can handle your actual workload before you go live with it. Traditionally, the best organizations could do in this area was to request (or require) employees to come in on the weekend and put as much load on the new system as possible in the course of their functional testing. Unfortunately, that load often fell far short of the full normal load; for example, you might get only 50 recruits to load test a system that normally serves 500. Moreover, you'll want to change the system based on what you learn and then perform another load test, but you'd likely get even fewer participants the next weekend. Simply put, manual load testing is a logistical nightmare that won't yield the results you need.
Automated load testing tools eliminate the need to orchestrate massive groups of people (and the associated overtime costs) while speeding project completion. With the right tools, you can test the target environment using your production workload, identify and resolve issues, and test again as often as necessary, during the normal work week — all without disrupting the production environment. You'll have the confidence you need that the post-migration environment will support your workload, with far less cost and effort.
Of course, even the best pre-migration testing won't find everything, and your workload will continue to grow and change. Therefore, after the migration or upgrade is complete, you need to be able to monitor the health of your system. You want to be able to quickly spot an emerging problem, pinpoint the root cause and resolve it — ideally, before users even notice anything was amiss.
With proactive diagnostics, you can avoid problems that might lead users or management to conclude that the upgrade was poorly run or ill-advised to begin with, and instead deliver the highly performing target environment you envisioned.
Ensuring high performance in your new environment also requires you to be able to identify and tune poorly performing SQL statements. Done manually, SQL tuning is a difficult, labor-intensive process, but SQL tuning tools can automate and speed the process.
Look for a tool that will pinpoint the SQL statements that need attention, automatically generate alternative statements, and test all of the options against your actual data to help you choose the best option for your environment. Speeding code execution will help ensure that users are satisfied with the new environment and consider your migration or upgrade project to be a success.
Quest SharePlex is a leading enterprise class database replication solution that can deliver impact-free migrations.
You have many choices in migration tools and methods. Yet traditional options require time-consuming, manual processes that involve expensive downtime of production systems and put your organization's data at risk.
But what if you could save time, reduce costs, speed time to deployment, reduce risk, eliminate downtime and confidently deliver a successful outcome? By investing in an enterprise migration solution, you can. With the right toolset, you'll avoid all the pitfalls of traditional migrations and upgrades.
In this chapter, we examine the top five reasons that SharePlex® is the golden choice for data replication in your Oracle database environment.
You're smart to take your migration or upgrade from one database version to another cautiously. Traditional methods and utilities mitigate some, but not all, risk. To perform a migration or upgrade safely, you need a data replication product that enables you to stand up a complete replica of production systems, migrate or upgrade the replica during normal work hours, go live and fail back to the original database if issues arise.
You have options when it comes to data replication solutions. And while they may appear similar on the surface, deeper inspection reveals important differences to consider when choosing one for your Oracle database projects.
Let's take a look at what makes the following products different from one another:
SharePlex is a simple, low-cost, impact-free data replication solution for Oracle databases. Since 1997, SharePlex has simplified data replication for customers in a variety of industries worldwide, including many Fortune 500 companies. It decreases or eliminates downtime and minimizes risk when replicating multiple copies of Oracle data.
SharePlex meets the data replication needs of many common use cases:
Both SharePlex and Oracle GoldenGate offer near-zero downtime, continuous availability and minimal overhead.
Data replication offers the best way to migrate or upgrade production systems during normal work hours.
So why choose SharePlex?
Let's examine how SharePlex delivers on five main criteria:
When it comes to evaluating IT solutions, cost is usually of highest priority. In fact, many organizations rely on lower-cost platforms like Oracle Standard Edition to save on infrastructure costs.
SharePlex is the premier, independent database replication solution that is platform-agnostic, which lowers overall operating expenses. SharePlex includes all the tools required for reliable replication, including compare-and-repair, synchronization and an intuitive graphical interface for managing and monitoring replication activity – for one low price. With GoldenGate, compare-and-repair requires the additional purchase of Veridata; with SharePlex, compare-and-repair is included. There is no need to buy add-on packs or options as with GoldenGate.
SharePlex is available under a limited license as well, lowering recurring operating costs in these situations:
If you need a data replication solution for a short-term project only, you have the option of purchasing a three-, six-, nine- or twelve-month license. You are not forced to purchase a one-year license as with GoldenGate. That flexibility allows you to support routine or critical database maintenance while staying within your budget.
Besides supporting Oracle Enterprise and Oracle Standard Edition, SharePlex supports Oracle versions 10g through 12c, clustered environments, ASM, RAC and Exadata X2, X3, X4 and X5. It also supports diverse server platforms, including AIX, HP-UX, Solaris, Linux and Windows.
Data replication and high availability usually go together, so uptime and turnaround time are important factors to consider. Depending on your environment, you may require a higher level of support to get answers quickly and reduce downtime. Your solution should also be user-friendly to minimize staff training.
Many large software vendors support thousands of customers running multiple products. The support they offer on every call starts at level one and comes from inexperienced, generalist support staff. That kind of inefficient and time-consuming customer service has become the norm with many vendors and hardly provides an optimal customer service experience.
SharePlex offers unmatched support, consistently earning customer satisfaction ratings between 91 and 98 percent in post-support surveys since 2014. The work of the SharePlex technical support team has contributed to Quest's receipt of the Confirmit ACE (Achievement in Customer Excellence) award each year from 2011 through 2015. The availability and technical expertise of the SharePlex support team ensures timely resolution of issues, winning the hearts of customers who rely on 24/7 data availability.
SharePlex comes with one year of around-the-clock support at no extra charge. Highly-skilled support engineers, each with five or more years of SharePlex experience, provide the customer service, so customer issues are often resolved on the first support call, saving you time.
SharePlex customers also have health checks available to them. The health check tool analyzes the SharePlex environment and provides a report with recommended improvements.
Does data replication need to be complex? Oracle GoldenGate certainly gives that impression, by requiring costly add-ons to complete its solution.
That is not the case with SharePlex, which simplifies data replication in four main ways:
Download and install SharePlex and be up and running within 15 minutes. Unlike GoldenGate, SharePlex automatically instantiates the required upstream and downstream processes based on the simple information in a configuration file. By eliminating manual setup for each process, SharePlex lets you start replicating databases sooner.
SharePlex has a helpful online community comprising a support forum, video tutorials and product information. The video tutorials run five to ten minutes each and feature walk-throughs on getting started, synchronization, compare-and-repair, monitoring and partitioning. The forums offer insights from peers and experts.
Forum resources get users up and running faster with SharePlex than with Oracle GoldenGate.
The unique design of SharePlex provides setup in two quick steps: create the configuration file and activate it.
For day-to-day operations, SharePlex automatically creates and synchronizes all queues and processes, saving you the effort of setting them up and running them manually. SharePlex simplifies routine tasks like resynchronizing a table by determining where to start the copy, then automatically verifying integrity while posting, to locate potential out-ofsyncs between source and target systems.
SharePlex features like reconcile, flush and compare-and-repair ensure that source and target are synchronized and show you how to rectify any problems. Those capabilities are not available with Oracle GoldenGate, or they cost extra.
The complexity of Oracle GoldenGate has led to an industry of specialized consultants. Still, SharePlex professional services are far less costly and more efficient than those for Oracle GoldenGate.
For example, Oracle lacks compare-and-repair, which results in downtime when resynchronizing a corrupted database or table. That downtime puts your business at serious risk and often means additional service costs payable to Oracle or outside consultants. A simple web search for "GoldenGate consultants" yields hundreds more results than a similar search for "SharePlex consultants," one indicator of the relative demand for and supply of professional service providers.
Simplicity trumps complexity every time.
As volume of data grows, database infrastructure must scale accordingly. Scaling up involves moving to a bigger server; scaling out involves Oracle RAC or peer-to-peer (active-active) replication to balance the application and user load across multiple database servers.
Oracle GoldenGate may require users to upgrade to RAC or Oracle Enterprise Edition with add-on packs. SharePlex, on the other hand, offers options for horizontal and vertical scalability without increasing costs:
With SharePlex, you can scale as much or as little as you need to with any of those options, depending on your resources and availability requirements.
SharePlex's design, trial download and tutorials make it so simple to set up and operate that you won't need to add staff resources to use and maintain it. In fact, SharePlex increases staff productivity through its core features:
In-flight data integrity and instantiation provides built-in, before-and-after image data comparisons at the transaction level to detect data anomalies. That enforces integrity of the data and checkpoint by making sure all open transactions are immediately and appropriately handled, so the replica copy is guaranteed accurate. Error handling is active by default to identify replication errors and issue notifications. SharePlex can apply or roll back replicated transactions in the event of a failure or loss of network connection.
On Oracle GoldenGate, transactions are stuck in trail files on the source database. That increases the risk of lost transactions during an outage and network spikes during batch transmissions.
Compare-and-repair is designed to ensure integrity in all use cases and reduce mean-time-to-repair. SharePlex reduces or eliminates the downtime associated with taking applications offline when data is compromised. The feature makes repairs in line, saving time and mitigating risk to the business.
Oracle GoldenGate claims that compare-and-repair is beneficial only in master-to-master replication. However, corruption can take place in replication to any database, even for operational reporting. It generally takes less time to fix a few transactions and ensure accurate reporting than to rebuild a corrupted database.
By default, Oracle GoldenGate suppresses data errors (error handling is OFF). However, the product provides a very expensive add-on (more than $100K for two to four CPUs). Oracle GoldenGate Veridata detects out-of-synch conditions only and obliges you to repair the corrupted data manually, a complex and time-consuming process that ultimately requires downtime and potentially complete re-instantiation.
Migration failback provides a migration-rollback recovery mechanism to replicate from a newer version of Oracle back to an older version. This safeguards your data if the application does not work correctly after the migration, regardless of how much work users have done since the migration. It enables failback to the older version with no loss of user data.
Replication monitor GUI allows you to execute control commands on replication processes, monitor and optimize performance, and diagnose database replication problems before they cause disruptions or downtime.
Quest's SharePlex to the Cloud program offers additional cost savings, as third-party managed service providers (MSPs) can reduce staffing costs associated with maintaining a complex environment. SharePlex to the Cloud reduces the costs of IT management and delivers high ROI.
You have plenty of options in how you can perform your migrations and upgrades. And it may feel safe to stick with the same, old approach. But using manual methods or costly native tools that lack critical functionality can lead to downtime and data loss.
What if you could switch to an all-inclusive data replication solution that not only costs less up front, but also keeps operational and service costs lower, offering higher ROI from the start that only grows over time?
With SharePlex®, you get unmatched simplicity, award-winning 24x7x365 support, increased scalability and improved productivity at a much lower price. Best of all, you'll eliminate the risk of downtime and data loss — before, during and after your migrations and upgrades.
At Quest, our purpose is to solve complex problems with simple solutions. We accomplish this with a philosophy focused on great products, great service and an overall goal of being simple to do business with. Our vision is to deliver technology that eliminates the need to choose between efficiency and effectiveness, which means you and your organization can spend less time on IT administration and more time on business innovation.