47,99 €
Oracle Database Server is the most widely used relational database in the world today. This book gives you the essential skills to master the fundamentals of Oracle database administration and prepares you for Oracle DBA certification."OCA Oracle Database 11g: Database Administration I: A Real-World Certification Guide" prepares you to master the fundamentals of Oracle database administration using an example driven method that is easy to understand. The real world examples will prepare you to face the daily challenges of being a database administrator.Starting with the essentials of why databases are important in today's information technology world and how they work, you are then guided through a full, customized installation of the Oracle software and creating your own personal database. We then examine fundamental concepts of Oracle, including architecture, storage structures, security, performance tuning, networking, and instance management. Finally, we take an in-depth look at some of the most important concepts in the daily life of an Oracle DBA - backup, recovery, and data migration."OCA Oracle Database 11g: Database Administration I: A Real-World Certification Guide" provides you with the skills you need in order to become a successful Oracle DBA, both for certification and real life tasks.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 624
Veröffentlichungsjahr: 2013
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: February 2013
Production Reference: 1150213
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84968-730-0
www.packtpub.com
Cover Image by Artie Ng (<[email protected]>)
Author
Steve Ries
Reviewer
Saurabh K. Gupta
Acquisition Editor
Erol Staveley
Lead Technical Editor
Shreerang Deshpande
Technical Editors
Vrinda Amberkar
Dennis John
Dominic Pereira
Copy Editors
Brandt D'Mello
Insiya Morbiwala
Alfida Paiva
Laxmi Subramanian
Ruta Waghmare
Project Coordinator
Arshad Sopariwala
Proofreaders
Lawrence Herman
Clyde Jenkins
Kevin McGowan
Indexer
Rekha Nair
Graphics
Aditi Gajjar
Valentina D'silva
Production Coordinators
Manu Joseph
Shantanu Zagade
Cover Work
Manu Joseph
There's never been a time in the Information Technology industry where professional certifications have been more important. Because of the specialized nature of technological careers today, certifications are considered by some to be nearly as important as technological degrees. This focus on certifications has led to the rise of an entire industry around books that assist readers in preparing for various certification tests. In the author's opinion, many, if not most, of these books make a lot of assumptions as to the prior knowledge of the reader and serve more as reference material than a cohesive learning experience.
In my role as an instructor of Oracle technologies, I have noticed a shift in the types of people seeking to learn Oracle. In the past several years, more and more students with little or no experience have been seeking to "break in" to an Oracle career path. Whether they come from backgrounds in business analysis, project management, or other non-database technical areas, these students need to be able to learn Oracle from the ground up. When instructing these types of students, I cannot make assumptions as to the knowledge they bring with them. We must start at the beginning and work our way to "certification level" knowledge. To accomplish this goal in class, the accompanying textbook must be designed in the same way.
Similarly, many certification books today serve only as "exam cram" books that neglect application to real-world scenarios. Readers of these types of books may find themselves with a certification, yet possess no way to apply the knowledge in their first job.
My goal in writing this book has been to address both of these problems. This book attempts to begin at the foundation and continue with the knowledge of the subject required for the certification exam, using real-world examples and tips along the way. This book is heavily example oriented and is intended to serve more as a step-by-step instruction than simply reference material. In essence, I attempt to bring the classroom experience to the reader, using examples, real-world tips, and end-of-the-chapter reviews. This book has been written to be read cover to cover, with the reader completing the examples and questions as they go. Using this process, it is my hope that readers can truly "begin at the beginning", regardless of previous experience, and learn Oracle database administration in a relevant way that will serve them in their pursuit of an Oracle certification as well as an Oracle career path.
Steve Ries has been an Oracle DBA for 16 years, specializing in all aspects of database administration, including security, performance tuning and backup and recovery. He is a specialist in Oracle Real Application Clusters (RAC) and has administered Oracle clustered environments in every version of Oracle since the creation of Oracle Parallel Server. Steve is the author of OCA Oracle Database 11g: SQL Fundamentals I: A Real-World Certification Guide, Packt Publishing. He holds five Oracle certifications as well as a Security+ certification. He currently consults for the Dept. of Defense, US Marine Corps, and holds a high-level security clearance. Additionally, Steve has been an adjunct instructor of Oracle technologies at Johnson County Community College for 9 years, where he teaches classes that prepare students for the Oracle certification exams. He was also a speaker at the 2011 and 2012 Oracle Open World conferences. Steve is a two-time, award-winning technical paper writer and the creator of the alt.oracle blog.
I would like to thank my wife Dee and daughter Faith for their love, personal support, and patience. I would also like to thank Bear McCreary, whose music inspired me as I wrote. A special thanks goes to Adam vonNieda for getting me started in the world of Oracle.
Saurabh K. Gupta works as Principal Technologist at Oracle. He is the author of Oracle Advanced PL/SQL Developer Professional Guide, Packt Publishing.
He has been synchronizing his on-job and off-job interests with Oracle databases for the last 6 years. His areas of expertise are database architecture, PL/SQL development, Performance Tuning, and High Availability.
He has the OCP 11g Advanced PL/SQL certification under his belt. He has been an active Oracle blogger and OTN forum member. He has published more than 70 articles on online forums and journals. His work can be seen in the RMOUG journal, PSOUG, dbanotes, Exforsys, and Club Oracle. He shares his technical experience through his blog at www.sbhoracle.wordpress.com. He is a member of the All India Oracle Users Group (AIOUG) and loves to attend technical meets and conferences.
Reach out to him through his blog to get in touch with him.
You might want to visit www.packtpub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packtpub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at <[email protected]> for more details.
At www.packtpub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://packtlib.packtpub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
If you have an account with Packt at www.packtpub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page.
The Oracle 11g: Database Administration I exam is the final step achieving the Oracle Certified Associate (OCA) certification for Oracle Database 11g. To pass the exam, an extensive knowledge of Oracle Database administration topics is required.
This book gives you the essential real-world skills to master relational database administration with Oracle 11g and prepares you to become an Oracle Certified Associate. Beginners are introduced to concepts in a logical manner while practitioners can use it as a reference to jump to relevant concepts directly.
In the first section of the book, we cover the essential topics of the Oracle 11g architecture, including installation and configuration of both the Oracle 11g software and database as well as an in-depth examination of the instance and storage architectures of the Oracle database. In the second section, we use this information to explore the types of administrative tasks that a real-world DBA encounters every day, including instance management, security, concurrence, networking and performance management. In our final section, we examine the very important topic of database recoverability, including backup concepts, hands-on backups and recoveries.
This book prepares you to master the fundamentals of database administration using an example-driven method that is easy to understand.
This definitive certification guide provides a disciplined approach for successfully clearing the 1Z0-052 Oracle Database 11g Administration I exam, which is the second and final test needed to attain the OCA on Oracle Database 11g certification. This exam is also the second requirement for the Oracle Certified Professional (OCP) certification.
Each chapter contains ample practice questions at the end. A full-blown mock test is included for practice so you can test your knowledge and get a feel the actual exam.
Chapter 1, Introducing the Oracle Relational Database System, introduces the concept of the relational database management system as well as explores the Oracle product family.
Chapter 2, Installing the Oracle Database Software, takes a hands-on, step-by-step approach to installing the heart of the Oracle database—the database software.
Chapter 3, Creating the Oracle Database, examines the process of creating a database in Oracle using the Database Configuration Assistant tool, as well as examines the scripted approach to database creation.
Chapter 4, Examining the Oracle Architecture, gives us a deeper look at Oracle "under the hood", including a thorough examination of how Oracle uses CPU and memory to perform database operations.
Chapter 5, Managing Oracle Storage Structures, examines the way Oracle stores its data on disk, including a look at tablespaces and datafiles.
Chapter 6, Managing the Oracle Instance, introduces a number of subjects at the core of Oracle instance, including database parameters, the data dictionary and database startup and shutdown procedures.
Chapter 7, Managing Security, covers one of the most important and relevant topics in database administration—database security. We examine the important and foundational topics of Oracle security, including the management of object and system-level privileges.
Chapter 8, Managing Concurrency, examines the process by which Oracle manages the life cycle of a transaction and the architectural structures that support this process.
Chapter 9, Configuring an Oracle Network, examines the fundamental ways in which Oracle operates over a network, including types of name resolution and the differences between dedicated-server and shared-server operations.
Chapter 10, Managing Database Performance, takes us through one of the most demanding tasks of an Oracle DBA—performance tuning. We examine the basic tools available to the DBA for detecting and resolving performance issues.
Chapter 11, Understanding Backup and Recovery Concepts, is the first of a three-chapter look at one of the most fundamentally important concepts in database administration—backup and recovery. This chapter explores the ways in which the Oracle architecture provides options for complete and incomplete recovery.
Chapter 12, Performing Database Backups, explores the process of backing up Oracle databases using a hands-on approach. It shows us how to perform several types of backups, including user-managed, RMAN-managed, full, incremental, offline and hot backups.
Chapter 13, Performing Database Recovery, takes what we learned in the previous chapter and uses it to perform a number of different types of database recoveries, including recoveries from cold and hot backups. We also examine the new feature of Oracle 11g, the Data Recovery Advisor.
Chapter 14, Migrating Data, explores the numerous methods in Oracle that we can use to migrate data between databases, including SQL*Loader and Data Pump.
Appendix, Preparing for the Certification Exam, examines some useful tips and techniques for preparing for the 1ZO-052 exam.
Online Chapter 1, Managing Oracle Tables, examines types and structures of database tables, including datatypes and partitioned tables, as well as database constraints.
Online Chapter 2, Managing Other Database Objects, examines several other common database objects, including indexes, index-organized tables, views, sequences, and synonyms.
This book is heavily example oriented. As such, it will be beneficial for the reader to download and install the Oracle database software as outlined in Chapter 2, Installing the Oracle Database Software, and create the database as outlined in Chapter 3, Creating the Oracle Database. An example set of database tables is available on the Packt support website; you can use them by downloading and running the example code. A working knowledge of the SQL language is also required. The subject of SQL is covered in the first book in this series—OCA Oracle Database 11g: SQL Fundamentals I: A Real-World Certification Guide (1ZO-051), Packt Publishing.
This book is for anyone who requires the essential skills to pass the Oracle Database 11g Database Administration I exam and use those skills in daily life as an Oracle database administrator.
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <[email protected]>, and mention the book title via the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the erratasubmissionform link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
We truly live in the Information age. Think for a moment about all the data that exists about you in computers around the world:
Whether it's a hospital's record system, your employer's payroll system, the invoicing records of an online store, or your financial accounts, the examples are endless. Next, multiply that amount of data by the number of people in the world. The result is a truly staggering amount of information. How is it possible that all this data can be organized and retrieved? How is it possible that you can search an online bookstore and find exactly the book you're looking for within seconds? How is all of this sensitive data protected and kept secure? In today's data-centric world, by and large, it is the Relational Database Management System (RDBMS) that makes this possible. The RDBMS is the cornerstone of the information technology world. While user interfaces, web servers, and application servers are all important parts of the way we save and obtain information, it is the RDBMS that serves as the massive storehouse for the data itself. Additionally, this massive amount of data is growing exponentially. New systems and strategies are constantly being devised in order to store and retrieve this information in a way that is useful to companies. In this book, we examine every aspect of the Oracle RDBMS, the most widely-used commercial database in the world. We will look at its architecture, the way it stores data, its security configuration, and its high degree of configurability.
This book takes a from-the-ground-up approach to Oracle database administration. The first chapter will cover topics that are not specifically covered on exam 1Z0-052, Oracle Database 11g: Administration I. Rather, it serves as a foundational knowledge for readers who are new to Oracle and a refresher for those already familiar with it. However, even experienced DBAs will likely discover new information in these chapters. Because of the amount of information we cover, we place a strong emphasis on learning by example. In addition, we will focus on comprehending the information needed for the Oracle Certification with special attention on how the information pertains to the life of a real-world Oracle DBA. At the end of each chapter, we'll highlight the exact certification topics that come directly from the Oracle Certification syllabus.
In this chapter we shall:
To better prepare ourselves to understand the Oracle database, we should first familiarize ourselves with the history of databases and how the RDBMS became such an important part of today's IT infrastructure. We'll follow this with a look at the Oracle product family.
Imagine, for a moment, that you have telephone books for the twenty largest cities in the United States, and I ask you to find all the phone numbers for all individuals named "Rick Clark" in the greater Chicago area. In order to satisfy the request, you simply do the following:
Now imagine that I take each phone book, tear out all of the pages and throw them into the air. I then proceed to shuffle the thousands of pages on the ground into a completely disorganized mess. Now I repeat the same request to find all the phone numbers for individuals named "Rick Clark" in the greater Chicago area. How do you think you would do it? It would be nearly impossible. The data is all there, but is completely disorganized. Finding the individuals named "Rick Clark" of Chicago would involve individually examining each page to see if it satisfied the request—a very frustrating task, to say the least.
This example underscores the importance of an RDBMS. Today's RDBMS is the system that enables the storage, modification, and retrieval of massive amounts of data.
When the devices that we know as computers first came into existence, they were primarily used for one thing—computation. Computers became useful entities because they were able to do numeric computation on an unprecedented scale. For example, one of the first computers, ENIAC, was designed (although not used) for the US Army to calculate artillery trajectories, a task made simpler through the use of complex sequences of mathematical calculations. As such, originally, computers were primarily a tool for mathematical and scientific research. Eventually, the use of computers began to penetrate the business market, where the company's data itself became as important as computational speed. As the importance of this data grew, the need for data storage and management grew as well, and the concept of a database was born.
The earliest databases were simple to envision. Most of them were simply large files that were similar in concept to a spreadsheet or a comma-separated values (CSV) file. Data were stored as fields. A portion of these databases might look something like the following:
In this example, the first field is determined by reading from left to right until a delimiter, in this case a comma, is reached. This first field refers to the first name of the individual. The next field is determined by reading from the first delimiter to the next. That second field refers to the last name of the individual. It continues in this manner until we have five fields: first name, last name, street address, city, and state. Each individual line or record in the file refers to the information for a distinct individual. Because this data is stored in a file, it is often referred to as a flat file database. To retrieve a certain piece of information, programs could be written that would scan through the records for the requested information. In this way, large amounts of data could be stored and retrieved in an ordered, structured way.
The flat file database system served well for many years. However, as time passed and the demands of businesses to retain more data increased, the flat file paradigm began to show some flaws.
In our previous example, the amount of information in the flat file is quite limited. It contains only five fields representing five distinct pieces of information. If this flat file database contained the data for a real company, five distinct pieces of information would not even begin to suffice. A complete set of customer data might include addresses, phone numbers, order information, the date of the order, the delivery date of the order, and so on. In short, as the need to retain more data increases, the number of fields grows. As the number of fields grows, our flat file database gets wider and wider. We should also consider the amount of data being stored. Our first example had four distinct records, not a very realistic amount for storing customer data. The number of records could actually be in the thousands or even millions. Eventually, it is completely plausible that we could have a single flat file that is hundreds of fields wide and millions of records long. We could easily find that the speed with which our original data retrieval programs can retrieve the required data is decreasing at a rapid rate and is insufficient for our needs. It is clear that this flat file paradigm needs to be revised in order to meet the growing demands for our database.
The world of databases changed in the early 1970s due in large part to the work done by Dr. Edgar "Ted" Codd. In his paper A Relational Model of Data for Large Shared Data Banks, Dr. Codd presented a new paradigm—the relational paradigm. The relational paradigm seeks to resolve the limitations of the flat file architecture by organizing our data in such a way that the data and its inter-relationships can be clearly identified. When we design a database, we begin by asking two questions: "What data do I have ?" and "How do the pieces of data relate to each other?" During this process, the data is identified and organized into entities. An entity is any person, place, or thing. An entity also has attributes, or characteristics that pertain to it.
These entities represent distinct pieces of information. We could have an Employee entity that represents information about employees, an Email entity that represents information about e-mail addresses, and so on. These entities, and any others we choose to add, make up our data model. We can also look a little closer at the attributes of a particular entity, as shown in the following diagram:
In our example, data such as First name, Last name, Address, and Branch name are the attributes of the Employee entity—they provide information about the employee. We can extend this idea to any other entities that represent a group of related information.
The true strength of the relational paradigm, however, is its ability to structure these entities in a way that forms relationships between them based on data that is common to both. Following is a simple diagram of this:
Here, we have two entities, Employee and Email, that form a relationship. The Employee entity contains information about the various employees in Companylink. The Email entity contains the e-mail addresses of these employees. Since any given employee can have one or more e-mail addresses, we say that there is a one-to-many relationship between Employee and Email, designated by the crowsfoot symbol between them. This relationship is the heart of the relational model that allows us to separate data into different entities. In the RDBMS world, we call these entities tables, while their attributes are known as columns. We will look much more closely at tables and their characteristics in future chapters. An entire data model can be visually displayed using an Entity Relationship Diagram (ERD). An ERD makes it easier to view the inter-relationships between entities.
When someone says, "I work with Oracle" what does he or she mean? The name Oracle (not to be confused with ORACLE, an early computer built by the Oak Ridge National Laboratory) can be used to refer to several different aspects of Oracle Corporation and its products. Oracle is a company, a database, and a family of products.
Oracle Corporation as we know it, began in 1977 as a company called Software Development Laboratories (SDL), founded by Larry Ellison, Bob Miner, and Ed Oates. These men, inspired by the relational theory set forth by Dr. Ted Codd and the work done on an IBM project known as System R, set out to develop the relational idea into a commercial product. In 1979, the company, renamed Relational Software Inc. (RSI), sold the first version of their relational database software, called Oracle, to Wright-Patterson Air Force Base. Although it was the first version of the Oracle database, it was designated as Version 2 because Larry Ellison didn't believe that customers would buy a Version 1 product. In 1982, RSI was renamed Oracle Corporation to more closely align the company with its flagship database.
For many years, the Oracle database software was primarily available on mainframe and minicomputer systems, the primary computing platforms of that time. In 1983, in a move that would bode well for Oracle's future, Version 3 was rewritten in the C programming language, making it portable to many other platforms. It was ported to the PC architecture with Version 4. The modern history of Oracle Corporation can be traced to the release of Oracle Version 7 in 1992. Version 7 released many new enhancements, including new security and performance features. It is at this point that the Oracle database software began its rise to become the most widely used commercial RDBMS in the world.
Since Oracle's inception, the Oracle Database Server has been and remains Oracle's flagship product. It has maintained its position as the world's most widely used database for many years and stands essentially unchallenged in the market today. The Oracle database is designed to be high performing, highly available, and highly secure. It can run on a variety of hardware and operating system platforms. One of the Oracle Database Server's strengths is its ability to run on a range of system types, from small departmental servers to massive symmetric multiprocessing servers to enormous highly available clustered systems. Many of the largest companies in the world run their database systems on Oracle software. Oracle currently holds a larger revenue share of the worldwide RDBMS market than its five closest competitors combined.
The primary language used to access Oracle databases is Structured Query Language, (SQL). SQL (pronounced either "S-Q-L" or "sequel") is the language most commonly used to address relational databases today, and likely will be for some time to come. The structure and syntax of SQL are governed by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO). It is these organizations that decide, albeit with input from other companies such as Oracle, what comprises the accepted standard for SQL. The current revision is SQL 2008. Although most commercial RDBMS products generally conform to the ANSI standard, they can differ in their implementations. This means that not every RDBMS uses the exact same SQL syntax. Oracle database also supports the use of two other programming languages within the database: PL/SQL and Java. PL/SQL is Oracle's proprietary third-generation programming language. It allows programmers to write structured code that integrates easily with SQL and stores that code as objects within the database. Java is an industry standard object-oriented language used in many types of applications today. Oracle also supports the storage of Java code within the database.
Apart from the different versions of Oracle available, Oracle also offers a number of different editions of their database software. These editions primarily differ by cost and availability of features. They are as follows:
Oracle also offers Oracle Personal Edition (PE), a low-cost, full-featured version of the Oracle database. PE is restricted to only one user per database, but provides access to all the features of the EE. Throughout the course of the book, we will use and focus on the Enterprise Edition so as to have access to the widest range of features.
The real-world DBA
Although the Enterprise Edition of Oracle is the most commonly found one in the IT world, a DBA shouldn't completely discount other editions. Often, significant cost savings can be achieved for companies that don't require "all the bells and whistles." Also, although uncommon, Oracle may separately negotiate the licensing of the EE at a lower cost, provided that the license being purchased is large enough. In these situations, companies may negotiate the purchase of the EE without a license for some of the included options. This can result in a DBA being required to administer an EE database that lacks the expected features. Always check your licensing agreement.
In addition to the various editions of the Oracle RDBMS, Oracle offers a number of options, depending on your chosen edition. These options function primarily as "add-ons," and are available at an additional cost. Some of the more commonly used options are listed here:
Although the Oracle Database Server is the cornerstone of their product offerings, Oracle has offered additional types of software products for many years. Recently, however, Oracle has acquired an enormous number of software companies to add to their product family. In 2009, Oracle acquired Sun Microsystems, signaling an important shift in the direction of the company. With the acquisition, Oracle acquired Sun's well-respected line of hardware, as well as the Solaris operating system, the MySQL open source RDBMS, and the Java programming language. Although many in the industry believed that this move would signal the end of Sun's software product line, Oracle has continued to offer, promote, and support many of these products. As a result, Oracle now offers a staggering amount of hardware and software solutions that span every layer of enterprise IT, including hardware, operating systems, databases, application servers, and enterprise administration. An exhaustive discussion of the complete line of Oracle products is beyond the scope of this book; however, we mention some of the most important ones here.
With the purchase of Sun Microsystems, Oracle achieved its long standing desire to offer complete hardware solutions bundled with Oracle software. These hardware products come pre-installed with Oracle software and are ready to operate after a quick installation and configuration. They represent an attractive offering for customers that require new solutions that can be up and running in a short period of time. The flagship of Oracle's product line is the Exadata Database Machine. Exadata is a complete hardware/storage/database solution that provides a highly available, high performance database platform out of the box. Exadata can provide superior performance for most types of database operations, since the hardware itself is tailored to the requirements of the database. Oracle also offers the Database Appliance, a smaller, less expensive platform tailored for the Oracle Database that lacks some of the high-performance features of Exadata. For the application server side of IT, Oracle offers Exalogic and Exalytics, two hardware platforms that can be used to support application operations and data analysis, respectively.
Server virtualization has become extremely important to enterprise IT in recent years. The concept of allowing one server or a group of servers to appear as many virtual servers provides IT organizations with a way to make more effective use of expensive hardware resources. Say for instance that a company's database servers, on average, use less than 50 percent of their available memory, and run at 20 percent CPU usage. With virtualization, these servers could serve as hosts for virtualized servers and make more effective use of these resources. When users connect to these virtual servers, they see what appears to be a physical machine, when in reality they are connected to a virtual machine. For enterprises, Oracle offers Oracle VM, a complete virtualization solution that allows servers to host virtual machines. Oracle VM is based on the Xen Hypervisor technology and actually runs from a Linux kernel. For desktop-level virtualization, Oracle offers VirtualBox, which it acquired from Sun. With VirtualBox, users can create their own virtual machines on a desktop system, such as a personal computer. To do this, we simply install the VirtualBox software on a PC and create a new virtual machine. Then we install the operating system, as well as any other software we desire, on this empty virtual machine.
The real-world DBA
It is interesting to note that the author runs VirtualBox on a Linux desktop and can use it to run many different operating systems, including DOS, Windows 95, and several distributions of Linux. In fact, all of the screenshots in this book were taken using Oracle databases and tools running in virtual machines from a desktop. VirtualBox can be a great way to experience and learn about different operating systems without trying to maintain multiple computers at home!
The choice of an operating system for any platform running the Oracle database is a crucial one. The operating system stands between the database and the hardware that services the needs of the database. An operating system that makes efficient use of hardware resources to serve the database can have a positive impact on the performance of the database. Although many Oracle products are supported on various operating systems, Oracle offers two different operating systems of their own.
In 2006, Oracle began offering Oracle Enterprise Linux (now simply known as Oracle Linux), a repackaged version of the Red Hat Linux operating system. Oracle Linux, like all distributions of Linux under the GNU General Public License, can be downloaded and used for free, even for enterprise production-level systems. Oracle, like many other companies that offer Linux, also offers paid support contracts for the use of Oracle Linux. Oracle Linux is distributed with two separate kernels. The Red Hat Compatible Kernel is identical to the one shipped with Red Hat Linux. In 2010, Oracle announced the second kernel, the Unbreakable Enterprise Kernel, which includes enhancements designed to increase performance for the Oracle database.
In addition to its Linux product, Oracle offers the Solaris operating system, now known as Oracle Solaris. While Solaris is commonly associated with the SPARC chip architecture found in Sun hardware, it is also available for x86 and x86-64 chip architectures, such as the ones found in personal computers. Solaris is a true POSIX-compliant version of the Unix operating system.
The real-world DBA
Since both Oracle Linux and Oracle Solaris can run on the x86 platform, you can download either of them and install them at home if you have a spare computer with sufficient resources. Additionally, both operating systems can run the Oracle Database. This can be a great way to learn about administering Oracle on a Unix-like environment.
Application servers provide an environment that facilitates the development, deployment, and execution of the various software applications that a company utilizes. This can include anything from simple web servers to more advanced middleware architectures that use Java and clustering for high availability. In this domain, Oracle has historically offered the Oracle Application Server, which was later incorporated into Oracle Fusion Middleware, a package of software products that facilitate business intelligence, SOA, and content management operations. In 2008, Oracle acquired BEA Systems and their WebLogic application server product. It has, since then, essentially replaced Oracle Application Server as Oracle's de facto standard.
Oracle also has a significant presence in the Customer Relationship Management (CRM) market. In 2005, Oracle purchased PeopleSoft, which had previously acquired JD Edwards. Adding these two products to their own CRM product, Oracle Applications, Oracle became a major player in the CRM market.
People who are new to the world of Oracle are often curious about the different versions available and what their letter suffixes (the "g" in 11g, for instance) actually mean. As we mentioned previously, the first release of Oracle Database was Oracle 2. Oracle continued the standard approach of numbering subsequent major releases of the Oracle database with increasing number values until Version 8. With Version 8i, Oracle began suffixing their version numbers with abbreviations to align their products with their marketing focus. The "i" in 8i stands for "internet" as that version contains many features that facilitate the use of the Oracle database as the backend for Internet applications. The ninth major version of Oracle was similarly named Oracle 9i. With the release of the tenth version of Oracle in 2004, Oracle suffixed the letter "g" (short for "grid") to the version, naming the release "10g", to align their product with the grid computing market. Version 11g followed this pattern as well. With the current focus on cloud computing, it is speculated that Oracle Database Version 12 will be named, "12c", for "cloud."
Apart from the common release name, since Version 8i, Oracle Database products have been versioned in an extended form as well. While the database may be "11g," its proper version name may be 11.2.0.2.0. The following table shows what this long version number of Version 11.2.0.2.0 describes:
Version number
Description
11
Major version (release) number
.2
Database maintenance release number
.0
Application server release number
.2
Component-specific release number (akin to "patch level")
.0
Platform-specific release number
The Application server release number (the third decimal digit) is used only for application server releases and doesn't apply to the database version. Rather, it's a way for Oracle to standardize release naming across its product family. The platform-specific release number (the last decimal digit) applies only when a certain platform requires a release that only applies to that platform and not others. Additionally, Oracle database versions are often referred to by the information in the first two decimal digits of their version. So, if our database is Version 11.2.0.2.0, we might say that we're running Oracle 11g Release 2. If our version is 10.1.0.3.0, we could refer to it as Oracle 10g Release 1. Moving to a later major release of the database is usually referred to as an upgrade while a later release of any other components (the other digits) is referred to as a patch.
Despite all of the industry talk about "zero administration systems," DBAs are as necessary today as they have ever been, and likely more so. The basic function of an Oracle DBA is to safeguard the integrity and availability of the data in the database. However, defining the precise role of a DBA can be difficult in today's world. In the past, the DBA would be responsible for every aspect of the database, often including the operation of the hardware and operating system. In such a role, the morning of the DBA's day might be spent writing SQL statements to create new tables within the database, while the afternoon would find him or her troubleshooting issues with the disks in a storage unit. Relatively speaking, the systems of the past were less complicated and less demanding in terms of time and resources, allowing (or perhaps burdening) the DBA to be involved in all operations even tangentially related to the database. At times, the DBA was also the system administrator, the network administrator, or the programmer. While these types of DBA positions still exist, today, because of the demands of modern IT, the role of the DBA is often highly specialized. Rather than a single DBA, IT organizations today often have teams that are responsible for database administration. The responsibilities of these teams are sometimes divided based on the lines of business. For instance, one part of the DBA team might be responsible for all databases that support the finance department of a company, while another group would administer any databases related to the HR department. Each member of the team is a DBA, but different parts of the team focus on certain lines of business to provide better support.
Because of the complex nature of technology, it is not uncommon to differentiate DBAs based on their skillsets or functional roles. In the spectrum of technologists, the role of the DBA stands between system administrators on one side and developers on the other. Because of the vast difference between those two roles, it can be difficult to find DBAs who have all of the skillsets required to span that gap. In some IT organizations, DBAs are roughly divided into Physical DBAs and Logical DBAs. A Physical DBA (sometimes called an Environmental DBA) has a role that generally tracks closer to the hardware and system side of database operations, while the Logical DBA (sometimes referred to as an Application DBA) tends to work more with developers in the creation and support of the database objects required for the application to function. This delineation can be somewhat subjective, but we list a general division of responsibilities as follows:
Naturally, the role of any individual DBA may overlap these categories, but these are some of the divisions that have developed over time in many IT organizations.
The real-world DBA
In today's IT world, it is very easy for a DBA to allow oneself to become "stuck" in a certain job role. It is always safer to stick with what you already know than to branch out into new areas. However, having a skillset that spans both categories of a DBA can be very satisfying and rewarding, since such DBAs are highly sought after. Always press yourself to learn and expand your knowledge.
What makes a good DBA? What types of characteristics are needed for the job? Being an Oracle DBA is one of the most demanding and rewarding jobs in all technologies. A DBA is afforded the opportunity to work with many diverse types of technologies, but that opportunity can require an extremely broad knowledge base. It's been said that, in IT, "everyone wants to be a DBA." However, not everyone is capable of being one. Here are a few of the traits commonly found in successful DBAs:
