Contents Data Dictionary Structure 5-4 Constructing the Data Dictionary 5-11 Using Administrative Scripts 5-13 Administering Stored Procedures and Packages 5-15 Using the Control File 6-
Trang 1Oracle8: Database Administration
Volume 2 • Instructor Guide
30020GC10
Production 1.0
March 1998
M06292
Trang 2Copyright Oracle Corporation, 1998 All rights reserved.
This documentation contains proprietary information of Oracle Corporation It is provided under a license agreement containing restrictions on use and disclosure and is also protected by copyright law Reverse engineering of the software is prohibited If this documentation is delivered to a U.S Government Agency of the Department of Defense, then it is delivered with Restricted Rights and the following legend is applicable:
Restricted Rights Legend
Use, duplication or disclosure by the Government is subject to restrictions for commercial computer software and shall be deemed to be Restricted Rights software under Federal law, as set forth in subparagraph (c) (1) (ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software (October 1988).
This material or any portion of it may not be copied in any form or by any means without the express prior written permission of the Worldwide Education Services group of Oracle Corporation Any other copying is a violation of copyright law and may result in civil and/or criminal penalties.
If this documentation is delivered to a U.S Government Agency not within the Department of Defense, then it is delivered with “Restricted Right,” as defined in FAR 52.227-14, Rights in Data-General, including Alternate III (June 1987).
The information in this document is subject to change without notice If you find any problems in the documentation, please report them in writing to Education Products, Oracle Corporation, 500 Oracle Parkway, Box 659806, Redwood Shores, CA 94065 Oracle Corporation does not warrant that this document is error-free.
SQL*Loader, SQL*Net, SQL*Plus, Net8, Oracle Call Interface, Oracle7, Oracle8, Developer/2000, Developer/2000 Forms, Designer/2000, Oracle Enterprise Manager, Oracle Parallel Server, Oracle Server Manager, PL/ SQL, Pro*C, Pro*C/C++, and Trusted Oracle are trademarks or registered
trademarks of Oracle Corporation.
All other products or company names are used for identification purposes only, and may be trademarks of their respective owners.
Trang 3Oracle8: Database Administration iii
Contents
Preface
Profile xii
Related Publications xiii
Typographic Conventions xiv
Curriculum Map
Oracle8 Database Administrator Curriculum xviii
Advanced DBA Curriculum xix
Introduction
Course Objectives I-3
Oracle8 Enterprise Edition I-4
Database Administrator Tasks I-5
Course Schedule I-6
Lesson 1: Oracle Architectural Components
Using the Server Manager 2-5
Oracle Enterprise Manager 2-9
Validating Privileged Users 3-5
Creating a Parameter File 3-14
Stages in Startup and Shutdown 3-19
Trang 4iv Oracle8: Database Administration
Contents
Data Dictionary Structure 5-4
Constructing the Data Dictionary 5-11
Using Administrative Scripts 5-13
Administering Stored Procedures and Packages 5-15
Using the Control File 6-4
The Contents of the Control File 6-5
Obtaining Information About the Control File 6-7
Multiplexing the Control File 6-9
Summary 6-10
Lesson 7: Maintaining Redo Log Files
Objectives 7-3
Overview 7-4
Using Online Redo Files 7-5
LGWR, Log Switches, and Checkpoints 7-7
Archiving Redo Log Files 7-9
Obtaining Log and Archive Information 7-11
Controlling Log Switches and Checkpoints 7-17
Multiplexing and Maintaining Members and Groups 7-19
Relocating Online Redo Log Files 7-22
Dropping Online Redo Log Groups and Members 7-23
Clearing Online Redo Log Files 7-27
Planning Online Redo Logs 7-28
Troubleshooting 7-30
Summary 7-31
Trang 5Oracle8: Database Administration v
Changing the Size of Tablespaces 8-16
Changing the Size of Data Files 8-18
Changing the Storage Settings 8-21
Taking Tablespaces Offline or Online 8-22
Moving Data Files 8-24
Read-Only Tablespaces 8-27
Dropping Tablespaces 8-30
Data Dictionary Information 8-32
Considerations in Creating Tablespaces 8-37
Lesson 9: Storage Structure and Relationships
Objectives 9-3
Overview 9-4
Types of Segments 9-5
Using Block Space Utilization Parameters 9-16
Obtaining Information About Storage Structures 9-21
Planning the Location of Segments 9-25
Using Rollback Segments with Transactions 10-8
Planning Rollback Segments 10-13
Creating Rollback Segments 10-15
Maintaining Rollback Segments 10-21
Obtaining Rollback Segment Information 10-26
Troubleshooting Rollback Segment Problems 10-32
Summary 10-39
Objectives 11-3
Overview 11-4
Types of Temporary Segments 11-6
Allocating Space for Temporary Segments 11-9
Obtaining Temporary Segment Information 11-11
Summary 11-14
Trang 6vi Oracle8: Database Administration
Contents
Objectives 12-3
Overview 12-4
Oracle Data Types 12-7
Creating a Table 12-16
Controlling Space Used by Tables 12-24
Retrieving Table Information 12-42
Integrity Constraints and Triggers 14-6
Implementing Constraints and Triggers 14-16
Maintaining Constraints and Triggers 14-20
Getting Constraint and Trigger Information 14-31
Using Index-Organized Tables 15-26
Retrieving Information About Index-Organized Tables 15-31
Summary 15-32
Lesson 16: Loading and Reorganizing Data
Objectives 16-3
Overview 16-4
Loading Data Using Direct-Load Insert 16-6
Loading Data Using SQL*Loader 16-9
Reorganizing Data Using Export and Import 16-29
Summary 16-48
Trang 7Oracle8: Database Administration vii
Contents
Objectives 17-3
Overview 17-4
Creating New Database Users 17-7
Altering and Dropping Database Users 17-14
Controlling Usage of Resources 18-6
Altering and Dropping a Profile 18-14
Viewing Resource Limits 18-18
Granting System Privileges 19-8
Password File Authentication 19-10
Displaying System Privileges 19-13
Revoking System Privileges 19-17
Object Privileges 19-20
Granting Object Privileges 19-21
Displaying Object Privileges 19-23
Revoking Object Privileges 19-25
Controlling Availability of Roles 20-15
Displaying Role Information 20-27
Summary 20-28
Trang 8viii Oracle8: Database Administration
Contents
Objectives 21-3
Overview 21-4
Using Database Auditing 21-7
Viewing Auditing Results 21-18
Choosing a Database and a National Character Set 22-6
Specifying Language-Dependent Behavior 22-12
NLS Parameters and SQL-Functions 22-20
NLS Parameters in SQL-Functions 22-22
Importing and Loading Data Using NLS 22-26
Obtaining Information About NLS Settings 22-27
Summary 22-32
Appendix A: Practices
Environment A-2
Exercise 1—Oracle Architectural Components A-3
Lab 2—Using Administration Tools A-5
Lab 3—Managing an Oracle Instance A-6
Lab 4—Creating a Database A-8
Lab 5—Creating Data Dictionary Views and Standard Packages A-9
Lab 6—Maintaining the Control File A-10
Lab 7—Maintaining Redo Log Files A-11
Lab 8—Managing Tablespaces and Data Files A-12
Lab 9—Storage Structure and Relationships A-13
Lab 10—Managing Rollback Segments A-14
Lab 11—Managing Temporary Segments A-15
Lab 12—Managing Tables A-16
Lab 13—Managing Indexes A-18
Lab 14—Maintaining Data Integrity A-20
Lab 15—Using Clusters and Index-Organized Tables A-22
Lab 16—Loading and Reorganizing Data A-23
Lab 17—Managing Users A-25
Lab 18—Managing Profiles A-26
Lab 19—Managing Privileges A-27
Lab 20—Managing Roles A-28
Lab 21—Auditing A-29
Lab 22—Using National Language Support A-30
Trang 9Oracle8: Database Administration ix
Contents
Appendix B: Hints
Exercise 1—Oracle Architectural Components B-2
Lab 2—Using Administration Tools B-3
Lab 3—Managing an Oracle Instance B-4
Lab 4—Creating a Database B-7
Lab 5—Creating Data Dictionary Views and Standard Packages B-9
Lab 6—Maintaining the Control File B-10
Lab 7—Maintaining Redo Log Files B-11
Lab 8—Managing Tablespaces and Data Files B-13
Lab 9—Storage Structure and Relationships B-15
Lab 10—Managing Rollback Segments B-17
Lab 11—Managing Temporary Segments B-19
Lab 12—Managing Tables B-20
Lab 13—Managing Indexes B-22
Lab 14—Maintaining Data Integrity B-24
Lab 15—Using Clusters and Index-Organized Tables B-26
Lab 16—Loading and Reorganizing Data B-28
Lab 17—Managing Users B-30
Lab 18—Managing Profiles B-31
Lab 19—Managing Privileges B-33
Lab 20—Managing Roles B-34
Lab 21—Auditing B-35
Lab 22—Using National Language Support B-36
Appendix C: Server Manager Solutions
Exercise 1—Oracle Architectural Components C-2
Lab 2—Using Administration Tools C-4
Lab 3—Managing an Oracle Instance C-8
Lab 4—Creating a Database C-16
Lab 5—Creating Data Dictionary Views and Standard Packages C-20
Lab 6—Maintaining the Control File C-25
Lab 7—Maintaining Redo Log Files C-29
Lab 8—Managing Tablespaces and Data Files C-35
Lab 9—Storage Structure and Relationships C-40
Lab 10—Managing Rollback Segments C-47
Lab 11—Managing Temporary Segments C-56
Lab 12—Managing Tables C-60
Lab 13—Managing Indexes C-70
Lab 14—Maintaining Data Integrity C-78
Lab 15—Using Clusters and Index-Organized Tables C-87
Lab 16—Loading and Reorganizing Data C-92
Lab 17—Managing Users C-102
Lab 18—Managing Profiles C-105
Lab 19—Managing Privileges C-112
Lab 20—Managing Roles C-117
Trang 10x Oracle8: Database Administration
Contents
Lab 21—Auditing C-120
Lab 22—Using National Language Support C-121
Appendix D: Oracle Enterprise Manager Solutions
Exercise 1—Oracle Architectural Components D-3
Lab 2—Using Administration Tools D-5
Lab 3—Managing an Oracle Instance D-9
Lab 4—Creating a Database D-18
Lab 5—Creating Data Dictionary Views and Standard Packages D-21
Lab 6—Maintaining the Control File D-25
Lab 7—Maintaining Redo Log Files D-28
Lab 8—Managing Tablespaces and Data Files D-34
Lab 9—Storage Structure and Relationships D-38
Lab 10—Managing Rollback Segments D-46
Lab 11—Managing Temporary Segments D-55
Lab 12—Managing Tables D-59
Lab 13—Managing Indexes D-68
Lab 14—Maintaining Data Integrity D-76
Lab 15—Using Clusters and Index-Organized Tables D-85
Lab 16—Loading and Reorganizing Data D-90
Lab 17—Managing Users D-100
Lab 18—Managing Profiles D-103
Lab 19—Managing Privileges D-110
Lab 20—Managing Roles D-115
Lab 21—Auditing D-118
Lab 22—Using National Language Support D-119
Appendix E: Certification Test: Sample Questions
Oracle Certified Professional (OCP) Program:
Oracle Certified Database Administrator Track E-2
Oracle Database Administration: Sample Test E-3
Oracle Backup and Recovery: Sample Test E-5
Answers E-8
Registering for an OCP Test E-9
Trang 11
13
Managing Indexes
Trang 1213-2 Oracle8: Database Administration
Lesson 13: Managing Indexes
Trang 13Oracle8: Database Administration 13-3
Objectives
Objectives
13-2 Copyright Oracle Corporation, 1998 All rights reserved.
Objectives
• Listing the different types of indexes
and their uses
• Creating B-tree and Bitmap indexes
• Reorganizing indexes
• Dropping indexes
• Getting index information from the data
dictionary
Trang 1413-4 Oracle8: Database Administration
Lesson 13: Managing Indexes
Types of Indexes
An index is a tree structure that allows direct access to a row in a table
Indexes can be classified based on their logical design or on their physical
implementation The logical classification groups indexes from an
application perspective, while the physical classification is derived from the
way the indexes are stored
Single Column and Concatenated Indexes
A single column index has only one column in the index key—for example,
an index on the employee number column of an employee table
A concatenated index, also known as a composite index, is created on
multiple columns in a table Columns in a concatenated index do not need to
be in the same order as the columns in the table, nor do they need to be
adjacent—for example, an index on the department and job columns of an
employee table
The maximum number of columns in a composite key index is 32 However,
the combined size of all the columns cannot exceed roughly one-third of the
data block size
13-3 Copyright Oracle Corporation, 1998 All rights reserved.
Trang 15Oracle8: Database Administration 13-5
Types of Indexes
Unique and Nonunique Indexes
A unique index guarantees that no two rows of a table have duplicate values
in the column that defines the index An index key in a unique index can
only point to one row in the table
In a nonunique index, a single key can have multiple rows associated with it
Partitioned and Nonpartitioned Indexes
Partitioned indexes are used for large tables to store index entries
corresponding to an index in several segments Partitioning allows an index
to be spread across many tablespaces, decreasing contention for index
lookup and increasing manageability Partitioned indexes are often used with
partitioned tables to improve scalability and manageability An index
partition can be created for each table partition
This lesson discusses the creation and maintenance of nonpartitioned B-tree
and bitmap indexes
Instructor Note
Do not discuss partitioning Partitioned indexes will be covered in a different
course
Trang 1613-6 Oracle8: Database Administration
Lesson 13: Managing Indexes
Although all the indexes use a B-tree structure, the term B-tree index is
usually associated with an index that stores a list of ROWIDS for each key
Structure of a B-Tree Index
At the top of the index is the root, which contains entries that point to the
next level in the index At the next level are branch blocks, which in turn
point to blocks at the next level in the index At the lowest level are the leaf
nodes, which contain the index entries that point to rows in the table The
leaf blocks are doubly linked to facilitate scanning the index in an ascending
as well as descending order of key values
Format of Index Leaf Entries
An index entry is made up of the following components:
• An entry header, which stores number of columns and locking
information
• Key column length-value pairs, which define the size of a column in the
key followed by the value for the column (The number of such pairs is a
maximum of the number of columns in the index.)
• ROWID of a row, which contains the key values
13-4 Copyright Oracle Corporation, 1998 All rights reserved.
B-Tree Index
AAAA AAAA AAAA AAA AAA AAA
AAAA AAAA AAAA AAAA
AAAA AAAA AAAA AAAA
AAAA AAAA AA AA
Index entry header Key column length Key column value ROWID
Root
Branch
Leaf
Index entry
Trang 17Oracle8: Database Administration 13-7
Types of Indexes
Index Leaf Entry Characteristics
In a B-tree index on a nonpartitioned table:
• Key values are repeated if there are multiple rows that have the same key
value
• There is no index entry corresponding to a row that has all key columns
that are NULL
• Restricted ROWID is used to point to the rows of the table, since all rows
belong to the same segment
Effect of DML Operations on an Index
The Oracle server maintains all the indexes when DML operations are
carried out on the table Here is an explanation of the effect of a DML
command on an index:
• Insert operations result in the insertion of an index entry in the
appropriate block
• Deleting a row results only in a logical deletion of the index entry The
space used by the deleted row is not available for new entries until all the
entries in the block are deleted
• Updates to the key columns result in a logical delete and an insert to the
index The PCTFREE setting has no effect on the index except at the
time of creation A new entry may be added to an index block even if it
has less space than that specified by PCTFREE
Instructor Note
You may want to inform the interested students of the following:
• Oracle does not use binary tree indexes, but a balanced tree structure
• The third-bulleted point under “Index Leaf Entry Characteristics” is only
true for global indexes on nonpartitioned tables