CIS 421b: Database Administration I

Chapter 1: Introduction to Oracle9i Architecture

Objectives:
 

This chapter introduces major components of Oracle9i. The objectives important to this chapter are:

  1. Oracle9i components
  2. First look at the ORACLASS database
  3. Installation options for Oracle client and Oracle server
  4. Oracle Universal Installer
  5. Optimal Flexible Architecture
Concepts:

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 Net:
    • Oracle Enterprise Manager
    • SQL*Plus
    • Forms
    • 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 Internet.
  • 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 this course.

  • 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 databases
  • .log - used for redo log files
  • .dbf - used for data files