Introduction to database change management

Database change management is the process of determining what changes need to be made to a database, specifying those changes, evaluating the effects of those changes, and then deploying them.

Changes to database schemas can be required for a number of reasons, including new business requirements, mergers, legislative changes, and application changes. Schema changes can involve changes to both logical database objects (for example, tables, columns, primary keys, and constraints) and to physical database objects (for example, databases, table spaces, buffer pools, and indexes). Changing database objects, regardless of their type, is often not a trivial operation. Changes often impact dependent objects and sometimes even underlying data. The process of analyzing and maintaining these dependencies is traditionally time-consuming and prone to error.

Consider a typical database environment, like the one shown in the following figure, in which new applications and database design changes are initially introduced on a dedicated development system, are then validated on a test system, and are finally deployed to the organization's production system.

Figure 1. Typical database environment
The steps required to manage changes to a database are change specification, deployment, and auditing.
Although the overall design of the development, test, and production systems is typically quite similar, the business rules that govern each system are likely to be different. The production database operates under strict business rules and must be running 24 hours a day, 7 days a week. The test database also operates under strict business rules to assure that what is tested will run properly in production. However, the test database does not require the same level of availability that the production system requires. In contrast to the production and test systems, the development database often has fewer business rules because developers need to constantly make changes. The process of managing these disparate database systems often requires a DBA to:
Change management is often a difficult and time-consuming process for a database administrator because it presents the following challenges:

Change management software can make the process of change management easier because it increases reliability and reduces human error.


Feedback