Table of Contents | Next

Page 5

Contents

Contents at a Glance

Introduction 1


I Principles of Database Management Systems

1 Databases, DBMS Principles, and the Relational Model 9
2 Logical Database Design and Normalization 19
3 Physical Database Design, Hardware, and Related Issues 29
4 The Oracle Solution 43



II The Oracle Database Server

5 The Oracle Instance Architecture 53
6 The Oracle Database Architecture 73
7 Exploring the Oracle Environment 93


III Oracle Interfaces and Utilities

8 SQL*Plus for Administrators 119
9 Oracle Enterprise Manager 147
10 PL/SQL Fundamentals 173
11 Using Stored Subprograms and Packages 239
12 Using Supplied Oracle Database Packages 271
13 Import/Exportv 305
14 SQL*Loader 329
15 Designer/2000 for Administrators 351


IV Oracle on the Web

16 Oracle Web Application Server 3.0 393
17 Web Application Server Components 401
18 Installing and Configuring the Oracle Web Application Server 423


V Oracle Networking

19 Oracle Networking Fundamentals 445
20 Advanced Oracle Networking 467


Page 6



VI Managing the Oracle Database


21 Managing Database Storage 487
22 Identifying Heavy Resource Users 531
23 Security Management 567
24 Backup and Recovery 585
25 Integrity Management 621


VII Parallel and Distributed Environments

26 Parallel Query Management 649
27 Parallel Server Management 661
28 Distributed Database Management 703


VIII Performance Tuning

29 Performance Tuning Fundamentals 727
30 Application Tuning 749
31 Tuning Memory 773
32 Tuning I/O 795


Appendixes

A Oracle on UNIX 815
B Oracle on Windows NT 829
C New Features of Oracle8 847
D Oracle Certification Programs 863


Index 879

Page 7

Table of Contents

Introduction

Who Should Use This Book? 2

What's in This Book 2

I Principles of Database Management Systems

1 Databases, DBMS Principles, and the Relational Model 9

Understanding Databases 10

Understanding a DBMS 11

Securing Data 11
Maintaining and Enforcing Integrity 12
Understanding Transactions 12
Communicating with the Database 13

Understanding an RDBMS 13

Using the Relational Model 14
Using Codd's Twelve Rules 16

2 Logical Database Design and Normalization 19

Entity-Relationship Modeling 20

Mapping ERDs to the Relational Model 23

Understanding Normalization 23

Using a Normalization Example 24
Continuing the Normal Form 27

3 Physical Database Design, Hardware, and Related Issues 29

Understanding Application Types 30

Using Quantitative Estimates 31

Transaction Analysis 31
Sizing Analysis 32

Denormalizing 32

Understanding the Storage Hierarchy and RAID 34

Understanding RAID 35

Understanding Bottlenecks in a DBMS 36

Making Your Platform Selection 37

Operating System Integration and General Memory/CPU Recommendations 38

Physical Design Principles and General Hardware Layout Recommendations 39

4 The Oracle Solution 43

Reviewing Oracle History 44

Oracle Is a DBMS 44

Is Oracle an RDBMS? 45

Revisiting the Physical Layout 46

Sizing for Oracle 48

Oracle's Future 48

II The Oracle Database Server

5 The Oracle Instance Architecture 53

Introduction 54

Defining the Instance 54

Creating the Instance 55

Understanding the Oracle Instance 55

The System Global Area (SGA) 57
The Oracle Background Processes 60

Understanding the Anatomy of a Transaction 66

Monitoring the Instance 67

Using the Trace Files 67 Tracking Through the Operating System 67


Page 8



Using the v$ Tables to Monitor Instance Structures 68

6 The Oracle Database Architecture 73

Defining the Database 74

The SYS and SYSTEM Schemas 74

Understanding the Components of the Database 75

System Database Objects 75
User Database Objects 84

Understanding Database Segments 85

Tables 85
Indexes 86
Rollback Segments 87
Table Clusters 88

Hash Clusters 88

Using the Oracle Data Dictionary 89

Internal RDBMS (X$) Tables 89
Data Dictionary Tables 90
Dynamic Performance (V$) Views 90
Data Dictionary Views 90

Other Database Objects 90

Views 90
Sequences 91
Triggers 91
Synonyms 91
Database Links 92
Packages, Procedures and Functions 92

7 Exploring the Oracle Environment 93

Creating the Oracle Environment 94

Designing an Optimal Flexible Architecture 94

Creating Top-Level Directories 94
Using Application Directories 95
Managing Database Files 96
Naming Conventions 98
Putting It All Together 99

Configuring the Oracle Environment 101

Understanding the Oracle Software Environment 101

ORACLE_HOME Sweet Home 102
The ORACLE_HOME Directories 104
Other Important Configuration Files 105

Creating Your First Database 106

Creating the Initialization Parameter File 106
Creating the Instance 106
Creating the Database 108
Running Post-Database Creation Procedures 109
Creating the Supporting Database Objects 110
Securing the Default Accounts 111
Updating the System Configuration Files 111

Exploring the Oracle Database 111

Looking at the Database 112
Looking at the Database Segments 114
Looking at Miscellaneous Database Objects 114

Exploring an Unfamiliar Environment 115

Exploring the UNIX Environment 115
Exploring the Windows NT Environment 116

III Oracle Interfaces and Utilities

8 SQL*Plus for Administrators 119

Administering SQL*Plus 120

Using SQL*Plus Environment Variables 120
Invoking/Accessing SQL*Plus 122
Editing SQL Commands 122
Entering and Editing SQL*Plus Commands 124
Using Your Operating System Editor in SQL*Plus 125
Running SQL*Plus/SQL Commands 126


Page 9



Using the SQL*Plus COPY Command 130

Using SQL to Create SQL 132

Restricting a User's Privileges in SQL*Plus 135

Disabling a SQL Command 136
Reenabling a SQL Command 137
Disabling SET ROLE 139
Disabling Roles 139

Tracing SQL Statements 139

Understanding the Execution Plan 142
Using the AUTOTRACE Feature 143

9 Oracle Enterprise Manager 147

Understanding the Enterprise Manager Architecture 148

Getting Started 150

Using the Console Functions 152

Understanding the Integrated Console Functions 153
Surfing Databases with Navigator 154
Visualizing the Database World with Map 155
Automating Administration Tasks with Job 155
Responding to Change with Event Management 157

Using the Database Administration Tools 159

Managing Instances 160
Managing Schemas 161
Managing Security 163
Managing Storage 163
Executing SQL 165
Managing Recoverability 165
Managing Data 165
Managing Software 166

Using the Performance Pack 166

Monitoring and Tracking Performance 166
Tracing Database Activity 167
Managing Tablespaces 168
Monitoring Sessions 169
Using Oracle Expert 170

Using the Enterprise Value-Added Products 172

10 PL/SQL Fundamentals 173

Understanding PL/SQL 174
Understanding the PL/SQL Engine 175
Fitting into the Client/Server Environment 175
Fitting into the Client Environment 178
Server-Side Versus Client-Side Development 178

Adding PL/SQL to Your Toolbox 179

Energize Your SQL Scripts 180
Simplifying Database Administration 180
Getting Better Information With Less Hassle 180
Designing Better Database Applications 181

Getting Started with PL/SQL 181

Understanding the Schema of Things 182
Your Basic PL/SQL Development Environment 183
Accessing the Data Dictionary 184

Language Tutorial 185

Coding Conventions 185
Special Characters 186
PL/SQL's Block Structure 187
Declaring Variables 200
Assignment 214
Looping 214
Using Cursors 217
Handling Exceptions 224
Using Subprograms 230

11 Using Stored Subprograms and Packages 239

Defining Stored Subprograms and Packages 240

Page 10

Building and Using Stored Programs 240

Calling Stored Programs from SQL 244
Calling Stored Programs from PL/SQL 247

Debugging with Show Errors 248

Checking the State of a Stored Program or Package 255

Building and Using Packages 256

Using Package Parts 257
Comparing Public and Private Declarations 260
Knowing when To Use Packages 261
Referencing Package Elements 262

Creating a Real-World Example 263

Designing the Package Header 263
Designing the Package Body 266
Designing the Procedures 269
Wrapping Up the Package 269

12 Using Supplied Oracle Database Packages 271

About the Supplied Oracle Database Packages 272
Interaction Within the Server 272
Interaction Beyond the Server 272
Getting More Information from Your Server 272

Describing Supplied Packages 272

Getting Started with the Oracle-Supplied Packages 274

Locating the DBMS Packages 275
Making Sure the Packages Are Installed Correctly 276

Hands-On with the Oracle-Supplied Packages 277

Monitoring Programs with DBMS_APPLICATION_INFO 277
Recompiling Packages with DBMS_DDL 279
Formatting Output with DBMS_OUTPUT 282
Sharing Data with DBMS_PIPE 284
Altering the Session with DBMS_SESSION 287
Managing the Shared Pool with DBMS_SHARED_POOL 289
Obtaining Segment Space Information with DBMS_SPACE 290
Enabling Dynamic SQL with DBMS_SQL 293
Running a Trace with DBMS_SYSTEM 297
Using Miscellaneous Utilities in DBMS_UTILITY 299

13 Import/Export 305

Understanding the Purpose and Capabilities of Import/Export 306

Understanding Behavior 307

Controlling and Configuring Import and Export 309

Taking Walkthroughs of Import and Export Sessions 319

Identifying Behavior When a Table Exists 319
Reorganizing a Fragmented Tablespace 320
Moving Database Objects from One Schema to Another 323
Multiple Objects and Multiple Object Types 324
Identifying Behavior When Tablespaces Don't Match 325
Moving Database Objects from One Tablespace to Another 325

Using the SHOW and INDEXFILE Options 326

14 SQL*Loader 329

Running SQL*Loader 330

Components of SQL*Loader 331

The Control File 331
SQL*Loader Input Data 332
SQL*Loader Outputs 332
Control File Syntax 333

Page 11

Looking at SQL*Loader Examples 334

Example 1—Loading Fixed-Length Data 337
Example 2—Loading Variable-Length Data 339
Example 3—Loading with Embedded Data 341
Example 4—Loading with Conditional Checking 342
Example 5—Loading into a Table Partition 345

Conventional and Direct Path Loading 347

Using Conventional Path Load 348
Using Direct Path Load 349
Using SQL*Loader Performance Tips 350

15 Designer/2000 for Administrators 351

Designer/2000—Oracle's Popular CASE Solution 352

Systems Development Life Cycle (SDLC) 352
Upper CASE Versus Lower CASE 353

Designer/2000 Overview 353

Designer/2000 Components 354
Understanding the Repository 355
Using the Diagrammers 356
Diagramming Techniques Used by Designer/2000 357
Generators 359
Module Regeneration Strategy 362
Oracle CASE Exchange 362
Waterfall-Oriented Methodology Using Designer/2000 363

Designer/2000 Administration 365

Understanding the Repository 365
Repository Sizing 366
Protecting the Designer/2000 Repository 366
Sharing and Transferring Objects 367
Referential Integrity Using the Repository 368
Version and Change Control 369
Migrating Applications 370
Moving Primary Access Controlled (PAC) Elements 371
Placing Designer/2000 Diagrams in Documents 372
Reverse-Engineering Using Designer/2000 373
Data Administration Configuration Using Designer/2000 374

Enhancing the Performance of Designer/2000 377

Optimizing the Client Machine 377
Optimizing the Network 378
Optimizing Designer/2000 378
Optimizing the Database Server 378

Application Programming Interface 379

Using the API 379
API Views and Packages 380
API Limitations 381

Troubleshooting Designer/2000 381

Checking Common Errors 381
Using Diagnostics and Tracing 382
Tips to Efficiently Generate Developer/2000 Applications from Designer/2000 384
Designer/2000 R 2.0 Features 387
Designer/2000 and Oracle8 388

IV Oracle on the Web

16 Oracle Web Application Server 3.0 393

Introducing the Oracle Web Application Server 394

Understanding the Network Computing Architecture (NCA) 394

Understanding the Oracle Web Application Server 395

The Web Listener 397
The Web Request Broker 397
Cartridges 397

Providing Basic Services with the Oracle Web Application Server 398

Page 12

Transaction Services 399
Inter-Cartridge Exchange Services 399
Persistent Storage Services 399
Authentication Services 399

17 Web Application Server Components 401

Examining the Web Listener 402

Getting Into More Details 402
Understanding Web Listener's Architecture 403
Memory Mapping of Files 403
Directory Mapping 403
Resolving the Domain Name 403
Web Listener Configuration Parameters 404

Examining the Web Request Broker 404

WRB Messaging 405
Third-Party Implementations 405
The WRB Dispatcher 406
IPC Support 407
The WRB Execution Engine (WRBX) 407
WRB Application Program Interface 407

Examining the Web Application Server SDK 408

The WRB Logger API 408
Understanding Cartridges and ICX 410
Using the PL/SQL Agent 421

18 Installing and Configuring the Oracle Web Application
Server 423

Installing Oracle Web Application Server for Sun Solaris 424

Hardware and Software Requirements 424

Understanding Web Application Server's Latest Installation Features 425

Relinking Your Executables After Installation 425

Identifying Product Dependencies 426

Implementing Pre-Installation Tasks 426

Setting Preliminary Environment Variables 427

Setting Permission Codes for Creating Files 428

Updating Your Environment from a Startup File 428

Designing the Directory Structure 428

Installation Notes on the Web Agent 429

Inside the OWA.CFG File 431

Using the Web Administrative Server 432

Installing the Oracle Web Application Server Option 432

Configuring Web Server 433

Installing the Web Application Server Developer's Toolkit 434

Improving Performance for Multiple Web Agent Installations 435

Using the Oracle Web Application Server Administration Utility 436

Setting Up a New Web Agent Service 436

Defining Configuration Parameters for the Web Listener 438

Troubleshooting 439

Other Helpful Notes on Installation 440

Attempting to Install Oracle Web Application Server on Windows NT 441

V Oracle Networking

19 Oracle Networking Fundamentals 445

Understanding Oracle Networking Product Features 446

Understanding the Administration and Management Components 447

Page 13

Network Naming Conventions 447
Understanding the Optional Security Extensions 448

SQL*Net and Net8 Architectures 448

Networking Protocol Stacks 449

Oracle Protocol Adapters 450
Transparent Network Substrate TNS) 450

Using the Open Systems Interconnection Reference Model 451

The Foundation 451
The Interface 452
The Protocol Stack 453
The TCP/IP Protocol Stack 453

Understanding SQL*Net Operations 456

Installing and Configuring SQL*Net 456

Planning the Network Design 456
Overview of Configuration Files 457
Preparing to Install SQL*Net 458
Installing 16-Bit SQL*Net (Non-OCSM)460
Installing 32-Bit SQL*Net 461
Using The Oracle Client Software Manager (OCSM) Component 463
Installing SQL*Net Using the Oracle Client Software Manager 464

20 Advanced Oracle Networking 467

Understanding Enterprise Networking 468

Configuring SQL*Net and Net8 468

Using the Oracle Tools to Configure Oracle Networking 469
Exploring the New Net8 Parameters 470
Administering the Oracle Listener 471
Troubleshooting the Client Configuration 472
Troubleshooting the Server 474

Understanding the Oracle Names Server 475

Names Server Configuration 475
Configuring Clients to Use the Names Server 476
Configuring the Names Server for Dynamic Discovery 477

Using the Advanced Networking Option 477

Enabling Data Encryption and Checksums 478

Understanding the Multi-Threaded Server 479

Multi-Threaded Server Architecture 480
Configuring the Multi-Threaded Server 480
Administering the Multi-Threaded Server 482

Using the Oracle Connection Manager 483

Configuring Connection Multiplexing 483
Configuring Multiple Protocol Support 484

VI Managing the Oracle Database

21 Managing Database Storage 487

Administering Database Objects 488

Managing Oracle Blocks 488

Understanding PCTFREE and PCTUSED 488

Managing Table Storage 489

Managing Indexes 491

Monitoring Temporary Tablespaces and Segments 492

Understanding Database Fragmentation 492

Understanding Fragmented Tablespaces 492

Dealing with Fragmented Tablespaces 495

Understanding Object Fragmentation 496



Page 14



Managing Rollback Segments 499

Understanding Rollback Segment Operation 500
Sizing Rollback Segments 501
Avoiding Rollback Segment Contention 503
Using the OPTIMAL Parameter 504
Performing Load Tests to Obtain Rollback Estimates 505

Identifying Storage Problems 506

Exploring Tablespaces 508
Checking on Tables 511
Optimizing Cluster Storage 512
Checking Indexes 513
Watching the Growth of Rollback Segments 513
Managing Temporary Tablespace 514

Administering a Growing Database 514

Monitoring Database Storage 515
Correcting Excessive Table Growth 518
Consolidating Clusters 518
Consolidating Indexes 519
Managing Tablespace Growth 519
Understanding Space Manager521
Knowing the Features of Space Manager 521
Using the Output of Space Manager 522
Configuring and Using Space Manager 525

22 Identifying Heavy Resource Users 531

Resources That Make the Difference 532

Resource: CPU 533

Taking a CPU Overview 533
Finding Heavy CPU Users 536

Resource: File I/O (Disk Access) 549

Taking an I/O Overview 550
Finding Heavy I/O Users 555

Resource: Memory 557

Process Memory Breakup 559
Taking a Memory Overview 560
Finding Heavy Memory Users 562

23 Security Management 567

User Authentication 568

Database Authentication 568
External Authentication 570
Enterprise Authentication 571

Database Privilege Management 572

Understanding Security Roles 578
Understanding Administration 578

Monitoring Database Assets 579

Auditing Logins 579
Auditing Database Actions 580
Auditing DML on Database Objects 581
Administering Auditing 581

Protecting Data Integrity 582

Hardware Security 582

Recovering Lost Data 583

Operating System Backup 583
Logical Backup 584

24 Backup and Recovery 585

Backup Strategy 586

Understanding Physical and Logical Data Loss 587

Using Logical Backups 590

Full Logical Backups 593
Logical Backups of Specific User Schemas 594
Logical Backups of Specific Tables 594

Using Cold Physical Backups 595

Command-Line_Driven Cold Physical Backups 595
Desktop-Driven Cold Backups 598

Using Hot Physical Backups 600

Understanding the Reasoning 600
Command-Line_Driven Hot Physical Backups 601
Desktop-Driven Hot Physical Backups 603

Restoring from Logical Backups 604

Page 15

Fully Restoring from a Logical Backup 607
Partial Restores with Logical Backups 608

Using Physical Recovery 609

Physically Re-creating a Database 609
Complete Recovery 611
Incomplete Recovery 614

Testing Strategies 618

25 Integrity Management 621

Introduction 622

Implementing Locks 622

Need for Locking 622
Locking Concepts 623

Analyzing v$lock 627

Case 1: A Table Locked Exclusively 628
Case 2: Session Updating a Row of an Exclusively Locked Table 629
Case 3: A Session Trying to Update an Updated Row by Another Session 630

Monitoring Locks on the System 631

Avoiding Locks: Possible Solutions 635

Implementing Locks with Latches 638

Functioning of Latches 638
Analyzing Views Related to Latches 639
Checking for Latch Contention 640
Tuning Some Important Latches 642

VII Parallel and Distributed Environments

26 Parallel Query Management 649

Introduction 650

Parallel Load 650
Parallel Recovery 651
Parallel Propagation (Replication) 651
Parallel SQL Execution 651

SQL Operations That Can Be Parallelized 653

Understanding the Degree of Parallelism 654

Determining the Degree of Parallelism 654
When Enough Query Slaves Are Not Available 656

Understanding the Query Server Processes 656

Analyzing Objects to Update Statistics 656

Understanding the 9,3,1 Algorithm 657

Understanding Parallel DML 657

Parallel Execution in OPS Environment 658

Tuning Parallel Query 659

27 Parallel Server Management 661

Understanding the Benefits of Parallel Server 662

Using Single Instance Versus Parallel Server Databases 663

Using Vendor Interfaces 664
Using the Parallel Cache Management Lock Process 664
Using Parallel Cache Management Lock Parameters 667
Parallel Server Initialization Parameters 675
Rollback Segment Considerations for Parallel Server 678
Redo Logs and Parallel Server Instances 679
Using Freelist Groups to Avoid Contention 680

Determining when Parallel Server Can Solve a Business Need 683

Designing a Parallel Database for Failover 684

Page 16

Designing a Parallel Database for Scalability 686

Application and Functional Partitioning 687
Department/Line of Business Partitioning 689
Physical Table Partitioning 690
Transaction Partitioning 691
Indexes and Scalability Considerations 691
Sequence Generators and Multiple Instances 692

Special Considerations for Parallel Server Creation 693

Monitoring and Tuning Parallel Server 695

Monitoring V$LOCK_ACTIVITY 696
Monitoring V$BH 698
Monitoring V$CACHE and V$PING 699
Tuning Strategy for Parallel Server 700

28 Distributed Database Management 703

Understanding Distributed Databases 704

Describing Each Type of Database 704
Naming Databases 705
Achieving Transparency 705
Using Oracle Security Server and Global Users 706
SQL*Net 707

Using a Distributed Database 707

Setting Up a Distributed System 708
Identifying Potential Problems with a Distributed System 712
Tuning a Distributed System 712

Using Distributed Transactions 713

Understanding Two-Phased Commit 713
Dealing with In-Doubt Transactions 714

Understanding Read-Only Snapshots 717

Setting Up a Snapshot 717
Using Snapshot Refresh Groups 719
Identifying Potential Problems with a Snapshot 719
Understanding Limitations of Snapshots 722
Tuning Snapshots 723
Using Initialization Parameters for Snapshots 724

VIII Performance Tuning

29 Performance Tuning Fundamentals 727

Revisiting Physical Design 728

Understanding Why You Tune 729

Knowing the Tuning Principles 730

Tuning Principle 1 730
Tuning Principle 2 731
Tuning Principle 3 732
Tuning Principle 4 732
Tuning Principle 5 733

Tuning Goals 734

Using the Return on Investment Strategy 735

Step 1: Do a Proper Logical Design 735
Step 2: Do a Proper Physical Design 735
Step 3: Redesign If Necessary 736
Step 4: Write Efficient Application Code 736
Step 5: Rewrite Code If Necessary 736
Step 6: Tune Database Memory Structures 736
Step 7: Tune OS Memory Structures If Necessary 736
Step 8: Tune Database I/O 737
Step 9: Tune OS I/O If Necessary 737
Step 10: Tune the Network If Necessary 737
Step 11: Tune the Client(s) If Necessary 738
Step 12: If All Else Fails, Consider More Exotic Solutions 738

Page 17

Revisiting Application Types 741

OLTP Issues 741
DSS Issues 742
Other Considerations for both OLTP and DSS 743

Understanding Benchmarks 743

Using Oracle Diagnostic Tools 745

Using SQL_TRACE and TKPROF 745
Using EXPLAIN PLAN 745
Using the V$ Dynamic Performance Views 745
Using the Server Manager Monitor 746
Using the Performance Pack of Enterprise Manager 746
Using utlbstat/utlestat and report.txt 746
Using Third-Party Products 747

30 Application Tuning 749

Motivation 750

Understanding the Optimizer 751

Ranking Access Paths 752
Analyzing Queries to Improve Efficiency 754
Specifying Optimizer Mode 755
Understanding Optimization Terms 758

SQL Trace and tkprof 759

Understanding EXPLAIN PLAN 762

Identifying Typical Problems 764

The Proper Use of Indexes 764
Dealing with Typical Problems in Application Tuning 766

Rewriting Queries 768

Using Set Operators 769
Using Boolean Conversions 769

Introducing New Index Features for Oracle8 770

Using Index Partitioning 770
Using Equi-Partitioned, Local Indexes 770
Using a Partition-Aware Optimizer 771
Using Index-Only Tables 771
Using Reverse Key Indexes 771

31 Tuning Memory 773

Introduction 774

UTLBSTAT/UTLESTAT 774

Interpreting Results 775
Reviewing the Report File 776

Tuning the Shared Pool 776

Guidelines for Improving the Performance of the Library Cache 778
MultiThreaded Server Issues 781

Tuning the Database Buffer Cache 782

Tuning Sorts 786

What Triggers Sorts? 787
Parameters for Sorts 788
Other Fine-Tuning Parameters for Sorts 790

Tuning the MultiThreaded Server (MTS) 791

Tuning Locks 792

Operating System Integration Revisited 793

32 Tuning I/O 795

Tuning Tablespaces and Datafiles 796

Partitioning Tablespaces 797
Clustering 798
Monitoring 801

Tuning Blocks and Extents 802

Using Preallocation 802
Using Oracle Striping 803
Avoiding Fragmentation 804

Tuning Rollback Segments 807

Tuning Redo Logs 808

Oracle8 New I/O Features 810

Partition-Extended Table Names 810
Direct Load Inserts 811

Page 18

Appendixes

A Oracle on UNIX 815

Solaris 816

A UNIX Primer for Oracle DBAs 816

Shells and Process Limits 816
Soft and Hard Links 817
Named Pipes and Compression 817
Temporary Directories 818

The SA and DBA Configuration on UNIX 818

Setting Up the dba Group and OPS$ Logins 819
Using the oratab File and dbstart/dbshut Scripts 819
Using the oraenv Scripts and Global Logins 820

Configuring Shared Memory and Semaphores 821

Understanding the OFA 822

Comparing Raw Disk and UFS 824

Using Additional UNIX Performance Tuning Tips 825

B Oracle on Windows NT 829

Why Choose Oracle on Windows NT? 830

Windows NT File Systems 831

FAT Features 831
NTFS Features 832

Understanding Windows NT Administration 833

Associated Windows NT Tools 833
Windows NT Services and Oracle Instances 835

Installing Oracle Server on the Windows NT Server 837

Before Installing 837
Installation Instructions 837
Before Upgrading 838
Upgrade Instructions 838

Creating an Instance on Windows NT 839

Creating INITsid.ora 839
Creating a Service 839

Tuning and Optimizing Oracle on Windows NT 841

Adjusting Windows NT Configurations 841
Storing Oracle Configurations 842

Learning from Oracle Windows NT 842

Knowing the Limitations 842
Installing Enterprise Manager 843
Accessing Large File Sizes on Windows NT 843
Exporting Directly to Tape on Windows NT 843
Trying Automation on Windows NT 843
The UTL_FILE Package 84

Supporting Oracle8 on Windows NT 845

C New Features of Oracle8 847

Changing from Oracle7 to Oracle8 848

Enhanced Database Datatypes 848
New Database Datatypes 849
Enhanced ROWID Format 850
Heterogeneous Services 850
Internal Changes to the Database Engine 850

Supporting Large Databases 851

Partitioned Tables and Indexes 851
Direct Load Insert and NOLOGGING 852
Enhanced Parallel Processing Support 853
Index Fast Full Scan 853

Supporting Object-Relational Features 853

Abstract Datatypes 854
Variable Arrays 855
Nested Tables 855
Object Views 856

Administering Oracle8 857

Enhancements to Password Administration 857

Page 19

Backup and Recovery Optimizations 857
shutdown transactional 858
Disconnect Session Post Transactional 858
Minimizing Database Fragmentation 858
New Replication Options 858

Developing Applications 858

External Procedures 858
Index-Only Tables 859
Reverse Key Indexes 859
Instead Of Triggers 860
Data Integrity Management 860

D Oracle Certification Programs 863

Benefiting from Technical Certification 864

The Oracle Certified Professional Program 864

Becoming an Oracle Certified Database Administrator 865

Describing the Program 865
Preparing for the Tests 866

The Certified Database Administrator Program 874

Description of the Program 874

Index 879

Page 20

Table of Contents | Next