One of the ongoing 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 online and operational.
But the business need for around-the-clock availability is increasing. 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. Exacerbating this trend is the drive toward ebusiness. When a business is coupled to the internet it dramatically alters the way that business operates. 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, ebusiness 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 24x7 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 ecommerce 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. Studies show that approximately 70% of application downtime is caused by planned outages to the system; only 30% is 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:
- Perform 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.
- Change 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.
- Use 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.
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