A DBA's Perspective on Managing Change (Part 2 of 2)
The DBA's role in, and challenges of, the change process.
Last week we examined the issues in integrating database change management into a Business Service Management (BSM) strategy. This week we continue the discussion by looking at the DBA’s role in the change process. We also present examples of change-related activities DBAs face regularly, the challenges in performing these activities, and the role BSM and automated solutions can play in alleviating those challenges.
All the best planning and coordination will come to naught if the change is not executed smoothly and without error. DBAs become engaged via the organizations change management process. In those processes, a DBA:
- Gets a description of the change. Depending on the organization or project, these changes can come from a variety of sources (such as in e-mail from a developer, a vendor script, or output from a modeling tool) or from comparing another source environment (such as a development instance). The DBA specifies the modifications in the form of commands and scripts (or some other method) so they can understand what they will be implementing. This process is often manual and tedious. It can involve hand-written scripts, cut-and-paste from other sources, or attempts to export DDLs from other systems.
- Analyzes the change. By knowing which changes will cause problems, the DBA can address the issue before running potentially damaging jobs. A change-management tool can be used to automatically look for inconsistencies and dependencies. For example, a DBA dropping a column that is referenced or is a key on another table could cause an unexpected problem.
- Builds the scripts and jobs necessary to execute the change. With a change-management tool, the DBA can ensure everything is run in proper order, that relationships are preserved and re-established, privileges are respected, and most important, that the integrity of the structure and data is guaranteed.
Though this process sounds simplistic, it can be quite complex. We present examples of change-related activities that DBAs face regularly and the challenges in performing these activities. Automated change-management solutions can expedite these time-consuming and error-prone processes so DBAs can focus on the change, not the process.
Going Beyond Native Database Alter Commands
Most real-world changes cannot be implemented without complex, multi-step processes. Problems typically occur when the changes required go beyond the native database alter commands. Extended object alterations that require tables to be dropped and recreated are tedious, time-consuming and error-prone. These complex changes to multiple databases make the task more daunting for even the most experienced DBA. For successful implementation, alterations must be planned and orchestrated perfectly to realign the tables, dependencies, data and privileges.
Database change-management systems can allow the DBA to specify the steps required for the change up front. Based on this description, the tool will generate the commands, while checking for order and dependency and ensuring that the changes result in a valid configuration, without any loss or damage to the system. Being able to analyze the change in the context of everything that needs to be done, then set up the process for execution without the danger of human errors or mistakes, is a huge benefit in an environment where changes can result in dozens of distinct actions with possibly disastrous consequences if not handled 100 percent correctly.
Comparing Before and After Object Images
When a change is considered or validated, the DBA often has to compare the “before” image of the object definitions that they want to change to an “after” image that represents the desired object state. This can be a daunting process, especially as each image might be tens of thousands of lines of DDL. A DBA may be fortunate enough to have an electronic or hard copy of both images so that a manual comparison can be made, but it will be an extremely lengthy process with a high risk for error. If the DBA doesn’t have a “before” or “after” image, then it will be a research project just to determine what the objects originally looked like, or should look like.
Change-management solutions can perform comparisons such as these with accuracy, speed, and relative ease. It just takes advance planning and preparation. Automated compare facilities compare two dataset objects or schemas and reports the differences, but they go further. These solutions provide multiple compare scenarios covering databases, DDLs, and baselines. Far beyond simply reporting the differences, compare facilities present the results in a graphical format and provide reports in HTML to review the differences in detail. Although knowing what is different is useful information, the ability to make the databases alike is the real goal. With these tools, DBAs can easily generate the DDL script to synchronize the databases with the click of a button.
Accommodate Local Variations in a Change Process
Environments in which a master database is used to define changes that are then propagated across a wide environment have an added problem: local customizations. For example, a large manufacturing concern with multiple plants may find that their materials receiving application has been customized at each site to deal with local freight-handling regulations. Being able to make core changes without losing all of the local configurations and settings can be challenging. Change management solutions automate data structure changes, migration, and versioning by providing built-in intelligence that enables DBAs to test changes required for local variations in a non-production environment. They can then apply those changes when fully tested without losing any customization that are local to each environment.
Closing the Loop with Final Roll-Out Step
Once the obstacles have been addressed and the change packages are built and tested, the process of moving the changes into production is now critical. For this process, automated change-management solutions provide a high degree of accuracy and performance to ensure that any change-triggered system downtime (as a result of implementing the change) is minimized. They also guarantee the integrity of objects and data, and analyze all of the submitted changes to ensure that the implementation is streamlined for maximum efficiency.
Solutions that can optimize the sequence of operation, take advantage of opportunities for parallelism, and leverage high-speed utilities for load and unload are crucial in ensuring availability. Finally, they ensure the safety of the operation by providing a means to back out erroneous operations or recover from problems during the change operation.
It is also important that your change process be able to accommodate change itself! As you approach the production rollout, the change-package contents are often a moving target. As systems are tested and verified, or as conditions evolve, you may find the need to add or remove specific changes very late in the process. A solution that can be easily updated with the new situation and execute a surgical change addition and removal process is a tremendous asset.
Any process must have an audit trail so the DBA can prove what was done as well as debug any issues that may arise from the change. If a problem occurs during execution, the ability to restart from the point of error is important so valuable time isn’t wasted going back to the beginning. Automation and instrumentation of the process will ensure the integrity and accuracy of the change while deploying it across a large-scale environment.
Without effective change management solutions in a Business Service Management methodology, DBAs are unable to develop a comprehensive picture of the global impact that IT changes will have on a company’s IT environment. Prior to rolling out changes, DBAs need to see which IT infrastructure components or business services are affected by the planned changes and determine a strategy to implement these changes.
Automated change management solutions can facilitate this activity, as well as provide information on the scope of the effort required to implement the planned changes by reviewing the statistics of similar changes performed in the past. By identifying in advance the impact of change on the IT infrastructure and staff, as well as on business services, IT and business managers can work together to maintain a smooth change process that ensures efficient utilization of the IT staff and minimizes disruption to the business.
With today’s enterprise companies, every system or database change presents a new challenge for IT managers and DBAs to overcome. Without sufficient knowledge of the interdependencies that exist within an environment, and a thorough understanding of how the IT infrastructure is supporting the organizations’ primary business services, it is impossible to effectively manage the IT environment. Only by employing the proper asset, configuration and change-management solutions coupled with an effective change implementation and execution capability, will enterprises be able to achieve the level of Business Service Management that is necessary for their business to thrive.