This manual describes all features of the Oracle server, an object-relational database management system. It describes how the Oracle server functions and lays a conceptual foundation for much of the practical information contained in other Oracle server manuals. Information in this manual applies to the Oracle server running on all operating systems.
Oracle8i Concepts contains information that describes the features and functionality of the Oracle8i and the Oracle8i Enterprise Edition products. Oracle8i and Oracle8i Enterprise Edition have the same basic features. However, several advanced features are available only with the Enterprise Edition, and some of these are optional. For example, to partition tables, you must have the Enterprise Edition and the Partitioning Option.
For information about the differences between Oracle8i and the Oracle8i Enterprise Edition and the features and options that are available to you, see Getting to Know Oracle8i.
This manual is written for database administrators, system administrators, and database application developers.
You should be familiar with relational database concepts and with the operating system environment under which you are running Oracle.
As a prerequisite, all readers should read Chapter 1, "Introduction to the Oracle Server". That chapter is a comprehensive introduction to the concepts and terminology used throughout the remainder of this manual.
This manual is not an installation or migration guide. Therefore, if your primary interest is installation, refer to your operating system-specific Oracle documentation, or if your primary interest is database and application migration, refer to Oracle8i Migration.
While this manual describes the architecture, processes, structures, and other concepts of the Oracle server, it does not explain how to administer the Oracle server. For that information, see Oracle8i Administrator's Guide.
In addition to administrators, experienced users of Oracle and advanced database application designers will find information in this manual useful. However, database application developers should also refer to Oracle8i Application Developer's Guide - Fundamentals and to the documentation for the tool or language product they are using to develop Oracle database applications.
This manual is divided into the following parts:
This chapter provides an overview of the concepts and terminology you need for understanding the Oracle data server. You should read this overview before using the detailed information in the remainder of this manual.
This chapter describes the data dictionary, which is a set of reference tables and views that contain read-only information about an Oracle database.
This chapter discusses how physical storage space in an Oracle database is divided into logical divisions called tablespaces. The physical operating system files associated with tablespaces, called datafiles, are also discussed.
This chapter discusses how data is stored and how storage space is allocated for and consumed by various objects within an Oracle database. The space management background information here supplements that in the following chapter and in Chapter 10, "Schema Objects".
This chapter describes an Oracle instance and explains how the database administrator can control the accessibility of an Oracle database system. This chapter also describes the parameters that control how the database operates.
This chapter discusses distributed processing environments in which the Oracle data server can operate.
This chapter describes the memory structures used by an Oracle database system.
This chapter describes the process architecture of an Oracle instance and the different process configurations available for Oracle.
This chapter describes how the Database Resource Manager can be used to control resource use.
This chapter describes the database objects that can be created in the domain of a specific user (a schema), including tables, views, numeric sequences, and synonyms. Optional structures that make data retrieval more efficient, including indexes, materialized views, dimensions, and clusters, are also described.
This chapter describes how partitioning can be used to split large tables and indexes into more manageable pieces.
This chapter describes the types of relational data that can be stored in an Oracle database table, such as fixed- and variable-length character strings, numbers, dates, and binary large objects (BLOBs).
This chapter gives an overview of the object extensions that Oracle provides.
This chapter describes the user-defined object types that are available in the Oracle data server.
This chapter describes the extensions to views provided by the Oracle data server.
This chapter briefly describes SQL (the Structured Query Language), the language used to communicate with Oracle, as well as PL/SQL, the Oracle procedural language extension to SQL.
This chapter defines the concept of transactions and explains the SQL statements used to control them. Transactions are logical units of work that are executed together as a unit.
This chapter discusses the procedural language constructs called procedures, functions, and packages, which are PL/SQL program units that are stored in the database.
This chapter describes the Oracle Advanced Queuing feature, which allows users to store messages in queues for deferred retrieval and processing by the Oracle server.
This chapter describes the procedural language constructs called triggers, procedures that are implicitly executed when anyone inserts rows into, updates, or deletes rows from a database table.
This chapter explains how Oracle manages the dependencies for objects such as procedures, packages, triggers, and views.
This chapter introduces the optimizer, which is the part of Oracle that chooses the most efficient way to execute each SQL statement.
This chapter explains how the optimizer chooses the best way to execute SQL statements.
This chapter discusses how the optimizer executes SQL statements that contain joins, anti-joins, and semi-joins. It also describes how the optimizer can use bitmap indexes to execute star queries, which join a fact table to multiple dimension tables.
This chapter describes the direct-load insert path, which can be performed serially or in parallel, and the NOLOGGING option.
This chapter describes parallel execution of SQL statements (queries, DML, and DDL statements) and explains the rules for parallelizing SQL statements.
This chapter explains how Oracle provides concurrent access to and maintains the accuracy of shared information in a multiuser environment. It describes the automatic mechanisms that Oracle uses to guarantee that the concurrent operations of multiple users do not interfere with each other.
This chapter discusses data integrity and the declarative integrity constraints that you can use to enforce data integrity.
This chapter describes how to control user access to data and database resources.
This chapter discusses security at the system and schema object levels.
This chapter discusses how the Oracle auditing feature tracks database activity.
This chapter describes the files and structures used for database recovery and discusses how to protect an Oracle database from possible failures.
This chapter discusses distributed database architecture, remote data access, and table replication.
This chapter discusses replication of Oracle databases in a distributed database system.
This appendix lists all the operating system-specific references within this manual.
Every reader of this manual should read Chapter 1, "Introduction to the Oracle Server". This overview of the concepts and terminology related to Oracle provides a foundation for the more detailed information that follows in later chapters.
Each part of this manual addresses a specific audience within the general audiences previously described. For example, after reading Chapter 1, administrators who are interested primarily in managing security should focus on the information presented in Part VII, "Data Protection", particularly Chapter 29, "Controlling Database Access", Chapter 30, "Privileges, Roles, and Security Policies", and Chapter 31, "Auditing".
This manual uses different fonts to represent different types of information.
The text of this manual uses the following conventions.
Uppercase text is used to call attention to command keywords, database object names, parameters, filenames, and so on.
For example, "After inserting the default value, Oracle checks the FOREIGN KEY integrity constraint defined on the DEPTNO column," or "If you create a private rollback segment, the name must be included in the ROLLBACK_SEGMENTS initialization parameter."
Italicized words within text are book titles or emphasized words.
Commands or statements of SQL, Oracle Enterprise Manager line mode (Server Manager), and SQL*Plus appear in a monospaced font.
INSERT INTO emp (empno, ename) VALUES (1000, 'SMITH'); ALTER TABLESPACE users ADD DATAFILE 'users2.ora' SIZE 50K;
Example statements may include punctuation, such as commas or quotation marks. All punctuation in example statements is required. All example statements terminate with a semicolon (;). Depending on the application, a semicolon or other terminator may or may not be required to end a statement.
UPPERCASEin Code Examples
Uppercase words in example statements indicate the keywords within Oracle SQL. When you issue statements, however, keywords are not case sensitive.
lowercasein Code Examples
Lowercase words in example statements indicate words supplied only for the context of the example. For example, lowercase words may indicate the name of a table, column, or file.
We value and appreciate your comment as an Oracle user and reader of our manuals. As we write, revise, and evaluate our documentation, your opinions are the most important feedback we receive.
You can send comments and suggestions about this manual to the Information Development department at the following e-mail address:
If you prefer, you can send letters or faxes containing your comments to:
Server Technologies Documentation Manager
500 Oracle Parkway Redwood Shores, CA 94065
Fax: (650) 506-7228