CIS 421b: Database Administration I
Chapter 1: Introduction to Oracle9i Architecture
This chapter introduces major components of Oracle9i. The objectives
important to this chapter are:
- Oracle9i components
- First look at the ORACLASS database
- Installation options for Oracle client and Oracle server
- Oracle Universal Installer
- Optimal Flexible Architecture
Before beginning this course, students are required to review the basic
SQL language. A review that allows you to practice the language may be
found at www.sqlcourse.com.
As the chapter begins, we are told that Oracle9i comes with nine main
components, and you can add optional components. The nine components described
in chapter 1 are:
- Oracle9i database - the text tells us that a database is required
for any installation of Oracle9i. Since you may not have an existing
database when installing it, Oracle9i comes with a basic database.
- Oracle Net - Think of Oracle Net as one of two interfaces to the data
you will keep in your database. You must define ports and protocols
that will be used to communicate with each of your databases. Four kinds
of components are listed that specifically communicate through Oracle
- Oracle Enterprise Manager
- non-Oracle products
- Java/Web - This is the other included interface to databases. It is
included to facilitate communication with web based tools. Oracle9i
includes an Apache web server that uses Java/Web as its interface for
XML, for SQLJ (SQL commands inside Java commands), and for PL/SQL commands
from HTML pages.
- Oracle Enterprise Manager (OEM) - This is a console for the Database
Administrator who wishes an integrated tool to manage multiple servers,
databases. It is similar to network management tools, in that it provides
means to manage the database schema, security, and other features. Wizards
are included for major tasks like backup and recovery.
- Management Packs - A management pack is actually a package of added
features for OEM. To introduce the concept, Oracle9i comes with one
management pack. (The first one's free?) One of the included features
is a web component that allows a DBA to access OEM from through the
- SQL*Plus - This component supports standard SQL commands for your
database, as well as Oracle specific extensions to the language.
- Utilities - Various tools for database tasks, such as making backups,
automatic recovery, exporting and importing tables, schemas, or databases.
- Precompilers - Precompilers are utilities that translate SQL commands
into commands for specific programming languages like C or COBOL. The
precompiler performs the translation, creating code that can be compiled
as a program.
- Add-ons - Technically this is a catch all category for anything else
that can be added to your Oracle9i system.
The text defines a database as a "collection of operating
system files that store your data". This makes little sense. Oracle
is not an operating system, nor is the data that you use in it. Oracle
is a DBMS (Database Management System), also called an RDBMS
(Relational DBMS) in this text. An Oracle DBMS includes data files (tables),
control files, and log files.
The text discusses installing database software components on a "computer".
In this discussion, the author means a server, not a workstation. This
is clear from her illustrations, but not from her discussion.
When the DBMS runs, it is running an instance of the database
on the server. Think of an instance as one copy of the program running
in memory. An instance implies a copy of the RDBMS, memory allocated to
the instance, and access to data files. A powerful server can run multiple
instances of the RDBMS at the same time. This is similar to a user
running multiple instances of a browser or a word processor on one computer.
A server can be:
- a single instance server - one instance of the RDBMS runs on
the server to access the database
- a multiple instance server - one server runs two or more instances
of the RDBMS, each of which access separate data files
- one of several clustered servers - each server in a cluster
runs an instance of the RDBMS, is managed by software on the Cluster
Manager server, and has access to a file server (possibly on a Storage
Area Network or Network Attached Storage) which has all the files needed
by the various instances.
A user typically runs an application on a workstation, which creates
a user process, which serves as the user's connection to a server
process whose purpose is to support this connection. (The word "process"
is used extensively in this chapter. A process is a program.) The server
may be configured to make only one connection of this type at a
time. If so, it is a dedicated server. The alternative is to configure
the server to be able to make multiple connections of this type,
each of which can be called a thread. A multithreaded server
can support multiple concurrent user threads.
The text lists a dozen addons that require additional license fees. This
seems to be cautionary note, to make the reader aware that some addons
have additional costs. The discussion of these features is not important
to the purpose of this class.
The text briefly discusses the ORACLASS database that will be used in
- Our class will use Oracle9i Personal Edition, which is available for
download from otn.oracle.com. (It
will fill about 4 CDs). Note that students will run both the server
and client software on their workstations in the classroom. Once the
installation files are downloaded to a student's computer, they must
be unzipped, then run to install Oracle9i.
- Once the class files are installed, you will use the ORACLASS database,
which has a user named CLASSMATE. The password for this user is CLASSPASS.
Your installation of ORACLASS will also have users named SYSTEM and
SYS. Their passwords will be given out in class.
- Each chapter will present some tasks to perform with this database.
Installation options for Oracle9i are broken into a decision tree. I
will show it here in outline form:
- Oracle9i install choices: Client or Server
- Client Install: Administrator or Runtime
- Administrator - intended for an administrator who needs to
manage databases remotely
- Runtime - can be used by programmers building applications
- Server Install: Personal, Standard, or Enterprise
- Personal - all features, but only one user allowed for the
database; intended for programmers writing applications for
an Enterprise edition
- Standard - basic features; oddly, it cannot be upgraded like
the Enterprise edition
- Enterprise - all features, supports multiple concurrent users,
multiple instances, high data traffic
The Oracle Universal Installer mimics some functions of other
install programs you may have used. It tracks components that have been
installed, and tracks what files are used by each component. This is useful
when removing components, because it guards against removing common files
that are needed by other components/applications.
The text discusses file structures used in Oracle installations. The
major sections are referred to by symbolic labels, which are confusing
because they are not the same as the names of the directories they stand
for. In the course of this discussiont, we are told that performing identical
installations on several machines is made easier by using response files.
A response file is just a text file that holds the answers to the questions
asked by the Oracle Univeral Installer. To use a response file on a Windows
computer, use this syntax:
setup.exe -responseFile NameOfResponseFile -silent
The phrase shown in italics above is replaced by the name of the actual
response file you wish to use.
Back to the confusing structures: OFA stands for Optimal Flexible Architecture.
This means that Oracle wants you to follow their Byzantine directory/file
structure on your servers, instead of using one that makes sense to you.
Following their lead will provide you with a structure that can be understood
by others who have studied their model, which has definite advantages.
So the structure:
ORACLE_BASE is the label used by Oracle to refer to the root
directory that will hold all your Oracle related files. On a Windows
server, this will actually be c:/Oracle, if you use the default
location. On a UNIX server, the default location is /pm/app/oracle.
The label ORACLE_HOME is used to refer to the directory that holds
the executable files for your Oracle instance. Other directories are also
installed, by this design, inside your ORACLE_BASE directory:
- Admin/DatabaseName - holds initialization and log files
- Oradata/DatabaseName - holds data files, control files,
and redo logs
- Product/ReleaseNumber - This is the directory that serves
as your ORACLE_HOME directory on a UNIX server.
- Oraxx - Ora is followed by the release number
on your Oracle software (e.g. Ora91, Ora92); this directory is your
ORACLE_HOME directory on a Windows server
The OFA standard also provides for three file extensions to be used for
three types of files:
- .ctl - used for control files; contains meta-information about
- .log - used for redo log files
- .dbf - used for data files