Read an Excerpt
Introduction
The Oracle database is a complex and ever-changing product that has grown increasingly complex and powerful over the years. In the bad old days, the working Oracle database administrator (DBA) had a limited set of tools to automate the day-to-day tasks of maintaining the health and integrity of Oracle databases. Thankfully, that has changed over time, and now with Oracle 9i, and especially Oracle 10g, nearly everything associated with the database can be automated. Unfortunately, Oracle has provided little documentation on exactly how best to accomplish this. We hope this book will help you on your road to discovering the many ways that Oracle can be automated.
Why Automate?
Very few DBAs are allowed the luxury of managing a single database, or even two, or three. In these days of increasing workloads, many of us are managing 20, 30, or more databases, and they're frequently scattered all over the world. With the number of databases in use on the rise, it's important to streamline every step of the process as much as possible. Automation improves your productivity in two very important ways: It reduces the time you need to spend waiting for the database to do something, and it improves the overall quality and repeatability of what you do.
Improved Productivity
The first advantage to automation is improving the overall productivity of the Oracle DBA. When the DBA performs a task manually, there is, inevitably, a substantial amount of time spent waiting for the database to do its thing. There's also a good deal of time usually spent by the database waiting on you to tell it what to do next. In both cases, time is wasted and the overall productivity of the DBA is seriously affected. Besides, let's face it, the stuff you can automate is usually the boring stuff you don't really want to be doing anyway! So let Oracle do the work for you.
Improved Quality
The hidden benefit to automation is a significant improvement in the quality of the DBA's work. An automated task is a predictable and repeatable task. When you do a task manually, especially one you do repeatedly, you will eventually make mistakes. Sometimes they're small mistakes, sometimes big ones. But if you automate the task, it will always be performed the same way, time after time after time.
Use What's Already There
Right from the very beginning, with the initial software installation, Oracle allows you to reduce or eliminate the need for a DBA to watch and wait. Once Oracle has been installed, you can configure the network and create one or more databases automatically, with no human intervention.
After the software is installed and the database created, the DBA finally reaches the real meat of the job. For the experienced DBA, there's a very real tendency to keep using the tools he or she has always used, even if the tools were originally created for use with Oracle 7. The fledgling DBA can run into similar problems, since it's difficult to discover all the different automation opportunities included with Oracle while simultaneously dealing with demands from users, developers, and management.
In spite of these challenges, or even because of them, it's vitally important to automate as much as is possible. It's equally important to avoid recreating a capability that's already available. The two most recent versions of Oracle have added an almost unbelievable wealth of options for the overworked DBA to automate his or her way to a quieter pager.
Test Everything First
With the multitude of new capabilities in recent versions, there's a temptation to implement everything that the documentation says will help improve operations or performance. Resist the temptation—at least long enough to allow time for testing of each and every new feature prior to implementation. Some of the new features will help in all situations, some will help in all but a few situations, and a few might create problems in certain circumstances. Testing prior to implementation is essential.
What's in this Book?
Chapter 1 will introduce the Oracle Universal Installer (OUI), and explain the use and creation of response files, which are files that provide your responses to the installer. Response files allow a highly automated installation session to proceed with little or no user intervention. You can even use these files as templates for manual installs, when you need to deviate slightly from the response file's intended course.
In Chapter 2, Oracle Network Configuration Assistant (NetCA) will receive similar treatment. While not as automation-friendly as the OUI, NetCA does have a reasonable amount of flexibility, using response files similar to those used by OUI.
Chapter 3 is all about the Oracle Database Configuration Assistant (DBCA). The DBCA is one of the most versatile parts of a DBA's toolkit, and extremely easy to automate. You can use DBCA-specific response files, but the real strength of the tool lies in its unique use of template files. The DBCA can create databases, clone them, and even "reverse-engineer" an existing database into a template, or even a set of scripts.
Finally, Chapter 4 can be regarded as a "survey course" of Oracle features that can be used to automate some of the tasks that consume a DBA's time day in and day out.
Talk to Us
We have made every attempt in this short volume to provide as complete a reference as we could, always with the goal of keeping it brief and easy to find the information you need. Our goal was to give the working Oracle DBA a tool to make him or her more productive, and we sincerely hope you find it useful. Every effort has been made to be both complete and accurate. If you do find an error or omission, or have a comment on the book, we very much want to hear from you. Please write us at: OracleAutomation@scribes.com. We don't promise to answer every question or comment, but we do read them and very much appreciate them.