One of the on-going goals of database administration is to minimize downtime and improve availability. If the DBMS is down, data cannot be accessed. If the data is not available, applications cannot run. And if your applications cannot run, your company is losing business. Lost business translates into lower earnings and perhaps even a lower stock valuation for your company. These are all detrimental to the business and therefore, the DBA is called upon to do everything in his or her power to ensure that databases are kept on line and operational.
Couple this with the fact that the business need for around-the-clock availability is increasing and the DBA is faced with a significant challenge. The days are gone when organizations enjoyed a long batch window where databases could be offline for extended periods to perform nightly processing and maintenance tasks. Much, but not all, of this increased need for uptime has been driven by the Internet and e-business. When a business operates on the Internet it dramatically alters the way that business functions. Indeed, the Internet has created expectations for businesses to be more connected, more flexible, and most importantly, more available.
When you integrate the Web with database management, heightened expectations are placed on DBAs to keep databases up and running more smoothly and for longer periods of time. Of course, e-business is not the only driver for increased availability. Other factors include:
- The pervasive “fast food” mentality that demands excellent service – and demands it “now!”
- The desire to gain a competitive advantage in the marketplace by offering superior services at a time of the customer’s choosing.
- The increasing requirement to conduct business in the global market.
- The need to react to competitors who offer better service to customers because of higher data availability.
Although the push to improve availability continues unabated, a valid question that remains is “just how much availability is enough?” Just because you can provide 24×7 availability does not mean you always should. There is a cost associated with diminishing downtime and this must be assessed in terms of the business requirements and budget before attempting to always deliver additional uptime. Yes, DBAs can take measures to design databases and build systems that are created to achieve high availability. But the DBA must negotiate with the end users and clearly explain the costs associated with a highly available system.
Be that as it may, the demand for higher availability, especially for e-commerce applications, is a reality. And many traditional forms of database administration are becoming inadequate. Modern DBAs must learn new techniques to administer, control, and assure the recoverability of the databases they manage.
Downtime and outages are the enemy of availability. There are two general causes of application downtime: planned outage and unplanned outage. Historically, unplanned outages comprised the bulk of application downtime. These outages were the result of disasters, operating system crashes, and hardware failures. This is simply not the case in today’s IT environment. Instead most outages are planned, caused by the need to apply system maintenance or make changes to the application, database, or software components. Some studies have shown that around 70 per cent of application downtime is caused by planned outages to the system, and only 30 per cent are due to unplanned outages.
What does all of this mean for the DBA? Although it is important to plan for recovery from unplanned outages, it is even more important to minimize downtime resulting from planned outages. This is so because planned outages occur more frequently and therefore can have a greater impact on availability than unplanned outages.
How can DBAs reduce downtime associated with planned outages? The best way to reduce downtime is to avoid it. Consider the following technology and software to avoid the downtime traditionally associated with planned outages:
- Performing critical database maintenance tasks such as reorganization and integrity checking while the database remains online for concurrent read/write activity. Modern database utilities can accomplish this using shadow copies of the data and synchronizing after the maintenance occurs.
- Changing DBMS system parameters without recycling the database instance or subsystem. If your DBMS does not allow this, there are third-party products for accomplishing this.
- Some storage devices can make rapid snapshots of data. When database maintenance tasks can be made to take advantage of hardware snapshot techniques backup-related outages may be able to be reduced from minutes or hours to mere seconds.
- Using high speed transaction recovery techniques to recover data while the database remains online. Several third-party products accomplish this by reading the database logs and re-creating anti-SQL – in other words, turning deletes into inserts and inserts into deletes, thereby reversing the effects of updates.
These are just a few of the techniques that can be used to minimize database downtime. The primary thrust of these techniques is to enable database maintenance tasks to be performed while the data remains online and operationally available to applications.
As databases grow in size and complexity, so, too, do the chances that bad transactions will corrupt the data on which your business depends. A prepared DBA group will have an arsenal of techniques, tools, and procedures at its disposal to minimize or eliminate database downtime.