Read an Excerpt
Chapter 1: About Being an Oracle DBA
We've heard it said that "Nobody knows exactly what an Oracle database administrator really does, but every company is very sure they need at least one or, probably, two or more of them." Even as late as a couple of years ago, if you asked a group of Oracle database administrators (DBAs), "How many of you grew up saying, 'When I grow up, I want to be an Oracle DBA?" there would be no hands raised. More recently, the same question will produce several hands waving in the air. High school students are becoming more aware of the industry need for trained Oracle professionals and are entering college with the intent of becoming Oracle DBAs. More and more people interested in changing careers are looking toward Oracle technology as a great (and potentially lucrative) field in which to work.
In this chapter, we will examine not only what a database is but also what an Oracle DBA is and does. We'll show you the possible tasks that you could spend your days doing and the steps you might take to help you realize your goal of becoming an Oracle DBA.
How You "Talk" to a Database
In order to communicate with an Oracle database, you must be able to "speak" the language that an Oracle database understands. Originally, that language was called User Friendly Interface (UFI). UFl was a very early and limited language, and you could not do much more than basic database actions. You could perform the following basic tasks:
- Insert, which allowed you to put information into your database
- Update, which allowed you to modify existing information
- Select, which allowed you to look at the information stored in the database
- Delete, which allowed you to remove information from the database
- Perform mathematical operations
- Perform some limited date manipulations
As the language evolved, it was renamed Structured Query Language or SQL (pronounced "see-quel"). Over the years, SQL has become the standard that you use to speak to a database. We realize that a basic understanding of SQL is necessary to help you understand the scripts and other code that we will be presenting in this book. We have taken great care to explain each script and piece of code thoroughly. However, teaching you SQL is outside the scope of this book, and if you find that you are having trouble understanding the scripts and code and how they work, we recommend you look for a basic book on SQL to study.
What Is an Oracle DBA, and What Does One Do?
So, what is an Oracle DBA? To answer this question, we'll have to look at what an Oracle database is. Or, better yet, let's talk first about what a general database is. Take just a minute to look around you. How many databases do you see? Well, if you are sitting in a room that has any books or magazines lying around, you can count each of them as a database of sorts. Loosely stated, a database is a collection of information. A dictionary is a collection or database of words, while a cookbook is a database of recipes. If you have a telephone book, you have a database of names and their associated telephone numbers and addresses.
Now, let's take this one step further and think about what electronic databases you have in your home. If you have a speed dialer on your phone, you have a database of numbers that you frequently call. Likewise, a caller identification box would be a database of people who call you frequently. If you have cable television, usually one or more channels show the television program schedule. Wow, there's yet another database to count. My gosh, you're surrounded by them! If you are a person who owns and uses a personal digital assistant (PDA), such as a Palm Pilot, you carry a multipurpose database around with you.
A Banking Example
If you have an account at a bank and use their automatic teller machine (ATM), you are interacting with a database that holds your account information. You might have a checking account, a savings account, a money market account, some kind of loan account-to buy a car or a house-a Christmas fund, and even an individual retirement account (IRA), all at the same bank. The database that stores all the information about all of your accounts might even be an Oracle database.
What happens when you can't get to your specific bank branch and you need money? You can usually use a "fast cash" machine at a grocery store or go to an ATM at another bank branch, and not necessarily another branch of your specific bank. The machine that you use can tap into several different systems to interact with many different banks and enable you to get money from your personal account remotely. Pretty amazing!
The mechanism that lets you get money from your account is actually one or more computer programs made up of lists of commands or instructions that tell a computer what to do. Once you have inserted your card in the ATM and entered your personal identification number (PIN) for the account, a group of computer programs (called an application) present information and ask you questions to perform the following actions:
- Determine what action you want to take-in this case, withdraw cash
- Find out how much cash you want
- Compare how much money you are requesting with how much you have available
- Determine whether you have enough money to remove some and still have whatever minimum amount is required by your bank to keep the account solvent
- Dispense the requested amount to you if you have enough money available
The programs that have been run to perform all of these tasks are written to interact with a database. The programs ask for information, or query, the database during some of the steps listed here. When you insert your card into the machine and are prompted for your PIN, the program checks the information on the magnetic strip on the back of the card to determine that the PIN you have entered matches the value stored on the strip. After the program has obtained the inputs from you for what action you want to perform and how much money you want, the database is queried to find out your account balance. The program takes the following actions:
- Verifies whether the card has been reported as stolen
- Does the math to verify that you have sufficient funds for the transaction
- Checks to make su re the transaction will not exceed your daily withdrawal limit
- Updates your account to show a withdrawal has occurred
- Modifies the balance to reflect the withdrawn amount plus any service charges your bank imposes on ATM withdrawals
- Modifies your old balance to reflect your new balance
- Dispenses the money to you
How does the program know it has located the correct account? What information is stored in the database? Where exactly is it stored? What mechanisms are used to ensure that your account information is really yours? We'll look at the answers to these questions in the next section.
Storing the Information
The pieces of information that the bank's database would need to store for your account might be
- Your name
- Your address
- Your telephone number
- A way to uniquely identify your account (account number)
- A way to verify you are who you say you are (mother's maiden name, perhaps)
- The amount of money you have available
You can probably think of other pieces of information that might also be required. Taking a look at the composition of the information, we see that your name actually might have up to five parts:
- A salutation, such as Mr., Mrs., Ms.
- First name
- Middle name or middle initial
- Last name
- A suffix, such as junior, or a number (the first, second, third, etc.)
Your address could have the following parts:
- Street number
- Street name
- Apartment number
- Zip code
In other words, each area of information could be broken down into smaller pieces. A database is used to organize and store the pieces of information.
So, What's an Oracle Database?
Oracle Corporation has produced a set of very complex software programs that enable people to build and populate databases with all kinds of information. Since the information is defined based on the relational model, the databases are referred to as relational database management systems (RDBMS). In Chapter 2, we will begin to tell you how the Oracle software is used to handle and organize the information. more complex. Controlling the configuration and performance has become almost an art form that requires both skill and knowledge on the part of the people who administer the databases. The status and tasks required of an Oracle DBA have changed and matured as well.
Oracle database is. Let's take a few minutes to examine whether you have what it takes to be an Oracle DBA.
time. If you have not worked for a living yet, try to think about a comparable situation that you have been through. After you've had a chance to mull over your answers to the following questions, we'll look at the possible evolution of a DBA from junior DBA through expert.
Do You Have What It Takes to Be a DBA?
This bit of humor was circulating around electronic mail a while ago. We don't know who wrote it, but it's a fun twist on an old joke:
CIOs leap tall buildings in a single bound
Are faster than a speeding bullet (rats, missed him again)
Are more powerful than a locomotive
Talk to God
Sr. Managers leap short buildings with a running start
Are faster than a BB gun
Are more powerful than a streetcar
Ask God questions
Midlevel DBAs can clear a single-story house most of the time
Can outrun the arrows that users shoot at them, with a head start
Get run over by bicycles
Beg God not to notice them
Junior DBAs trip over the stoop
Wonder why there are holes in their body
Say "Look at the choo-choo"
Make God mad by asking, "What happens if I turn off the server?"
Senior DBAs run through buildings
Eat the bullets
Throw the locomotive at the users
Are Oracle Gods (or Goddesses)!
Below are some questions to ask yourself to determine whether you have the proper personality and mind-set to enjoy being a DBA. We've included some of our perspectives on the interpretation of the questions. Remember that this is all for fun (with just a little bit of reality thrown in), so relax and enjoy it. Please realize, too, that if some of these questions seem too negative, there is really a positive side to each one. We'll try to show you the positive in each of these questions...