Always Learning

Scaling Oracle8i: Building Highly Scalable OLTP System Architectures
James Morle

ISBN-10: 0201325748
ISBN-13:  9780201325744

Publisher:  Addison-Wesley Professional
Copyright:  2000
Format:  Paper; 544 pp
Published:  12/23/1999
Status: Instock


Customers outside the U.S., click here.


Print this content

In this section:


Table of Contents



Figure List.


Preface.


Introduction.

I. CONCEPTS AND ARCHITECTURE.

1. Scaling Concepts.

What Is Scaling?

Speedup.

Concurrency (Scaleup).

Latches and Locks.

Why Lock?

Things That Need Locking/Latching.

Waiting on Latches and Locks.

Design Considerations to Reduce Lock Contention.

Linked Lists.

What Is a Linked List?

What Are Linked Lists Used For?

Optimizing Chain Lengths.

Hashing.

What Is Hashing?

Caching.

Cache Fundamentals.

Memory Hierarchies.

Cache Reference Patterns.

I/O Caching.

CPU Cache Concepts.

Chapter Summary.

Further Reading.

2. Hardware Architectures and I/O Subsystems.

Introduction to Hardware Architectures.

System Interconnects.

Bus Architecture.

Direct Memory Access (DMA).

Cache Coherency.

Single Processor Architectures (Uniprocessors).

Advantages.

Oracle on Uniprocessors.

Other Disadvantages.

Summary.

Symmetric Multiprocessors (SMPs).

SMP Advantages.

Kernel Challenges.

Oracle on SMP Architectures.

Shared-Bus Limitations.

Summary.

Point-to-Point SMP.

Cache Coherency.

Summary.

Clustered SMP.

Clustering Types.

Summary.

Massively Parallel Processors (MPPs).

Definition.

Oracle on MPP Systems.

Summary.

Cache Coherent Nonuniform Memory Access (ccNUMA).

Definition.

Sequent NUMA-Q 20.

SGI Origin 20.

Oracle on NUMA Systems.

Summary.

Storage Systems.

I/O Busses.

Controllers.

Disk Drives.

Disk Drive Sizing.

Redundancy.

RAID Levels.

RAID-5.

Cached Disk Arrays: EMC Symmetrix.

Chapter Summary.

Further Reading.

II. BUILDING SUPPORT SOFTWARE.

3. Benchmark Concepts and Design.

Why Develop a Benchmark?

Capacity Planning.

Upgrades.

Platform Changes.

What Are We Simulating?

Defining Application Areas.

Defining the Application Split.

Careful with Those Assumptions, Eugene.

Selecting a Development Approach.

Using Remote Terminal Emulation Software.

Custom Simulation Development.

Building a Simulator Using RTE Software.

Building a Custom Benchmark Suite.

Programming Environment.

When the Application Has Not Been Written.

If the Application Exists: Trap and Emulate All SQL Calls.

Using Tracefiles to Generate a Simulation: An Introduction to dbaman.

Validate Server-Side System Utilization.

Building a Multiuser Framework.

Scale the Simulator.

Data Problems.

User Control Problems.

Simpler Methods for Use with dbaman.

Make It Easy to Run.

Portability.

Packaging.

Start-Up Scripts.

Automating Information Retrieval at Closedown.

Define Limitations in Advance.

A Benchmark Is Never Perfect.

Measure the Impact of the Inaccuracies.

Chapter Summary.

Further Reading.

4. System/Database Monitoring.

Why Monitor?

Proactive Fault Detection.

Rapid Fault Diagnosis.

Historical Performance Records.

Low-Intrusion Techniques.

Go Easy on the System.

Avoiding Single-Threaded Resources.

Introduction to V$ Views.

What Are the V$ Views ?

Accessing the V$ Views.

Structure of the V$ Views.

Overhead of Using V$ Views.

Minimizing Overhead.

Using dbaman to Optimize Data Collection.

Defining the Cursors.

Parsing and Executing the SQL.

Process the Result Sets.

Pulling it Together with a Main Loop.

Processing Statistics.

Data Transports.

Alarm Propagation.

Defining the "Flight Envelope."

What Is a "Flight Envelope"?

How Do I Define a Flight Envelope for the System?

Using Excel Spreadsheets for Data Visualization.

Chapter Summary.

III. HOW ORACLE WORKS.

5. Physical Oracle.

Introduction.

Overview.

Control Files.

Datafile Information.

Operating Information.

Redo Log Information.

Log History.

Backup Information.

The INIT.ORA File.

Rules for init.ora Creation.

Data Storage.

Overview: The Physical Picture.

Blocks: An Introduction.

Block Cleanout.

Redo Logfiles.

Key Database Objects.

Rollback Segments.

Read-Only Tablespaces.

Temporary Tablespaces and Temporary Segments.

Tables.

Indexes.

Other Database Objects.

The Data Dictionary.

Chapter Summary.

Further Reading.

6. Oracle8 in Operation.

Introduction.

The Oracle Kernel.

Process Architecture.

Shadow Processes.

Net8.

The SGA Components.

High-Level View.

Fixed Region.

Variable Region.

Buffer Cache.

Operation of the Buffer Cache.

Introduction.

Hash Chains.

LRU Chains.

Latch Coverage.

CR Versions.

DBWR Operation.

Flowchart Summary of Buffer Cache Operation.

Shared Pool Structure.

Shared Pool: The Library Cache.

Introduction.

Cursors.

The Parsing Mechanism.

Latch Coverage.

Other Memory Structures.

Dictionary Cache.

Log Buffer.

Oracle Parallel Server Concepts

Introduction.

Distributed Lock Manager (DLM).

Parallel Cache Management.

Design Considerations for OPS.

Summary.

Further Reading for OPS.

V$ Views Exposed.

Session-Level Information.

V$SESSION_EVENT.

.System-Level Information.

Chapter Summary.

Further Reading.

IV. HOW UNIX WORKS.

7. Introduction to UNIX.

What Is a Kernel?

"That Picture."

Execution Modes.

Explicit Kernel Processing (Process Context Kernel Mode).

Implicit Kernel Processing (System Context Kernel Mode).

Processes.

The Process "Table."

Process Scheduling.

Signals.

Process Lifecycle.

Memory Management: The Virtual Memory System.

Introduction.

Virtual Memory Introduction.

Virtual Memory Hierarchy.

The Memory/Disk Hierarchy.

Implementing the Hierarchy.

Implications of fork() and exec().

Summary.

I/O System.

Everything Is a File.

Filesystems.

Raw Disk.

Filesystems Versus Raw Disk.

Logical Volume Managers.

Interprocess Communication (IPC).

Pipe Communication.

System V IPC.

More on System Calls.

Chapter Summary.

Further Reading.

8. Oracle User's Guide to UNIX.

Coengineering the Oracle Kernel.

VOS Responsibilities.

Vendor Coengineering.

UNIX Tools.

top.

Tcl and expect.

Korn Shell.

awk.

Further Reading

V. IMPLEMENTING ORACLE.

9. Scalable Transaction Processing.

Scalable Applications.

Application Design.

Scalable SQL.

Transac. 0201325705T04062001



Back to top

Print this content

In this section:


Author Bios

James Morle runs a specialist consulting company, Scale Abilities, that specializes in solving complex technical and architectural problems for leading companies. He has built a number of the world's largest and most challenging systems, including one of the first large Oracle Parallel Server systems. Specializing in high-performance scalable systems, his background is in Oracle and UNIX internals. He can be contacted directly at James.Morle@Scaleabilities.co.uk.

0201325748AB04062001


Backcover Copy

As open systems continue to replace traditional mainframe systems, system scalability is becoming an increasingly important topic. Although far more flexible than mainframe systems, open systems applications tend to be less reliable and more difficult to scale. There is no cookbook approach to solving this challenge: A thorough understanding of the technologies involved is essential for designing scalable solutions that meet long-term business needs.

Scaling Oracle8i™ offers valuable insights and techniques for designing reliable and scalable online transaction processing (OLTP) applications using Oracle. This book focuses on providing the in-depth information about Oracle and the underlying hardware required to build systems that scale effectively.

You will find coverage of relevant hardware and I/O operation; benchmark and database monitoring systems; Oracle internals, operation, and implementation; and UNIX operating system issues that impact Oracle performance and scalability. Essential topics covered include:

  • Critical scalability concepts, including latches and locks, lists, hashing, and caching
  • A briefing on various hardware architectures, including symmetric multiprocessor, clustered SMP, ccNUMA, and massive parallel processors
  • I/O technology, including the physical attributes of I/O systems and RAID technology
  • Producing application benchmarks using Oracle trace files
  • An introduction to the Tcl-based Oracle scripting tool dbaman, for easy, general purpose database programming
  • Interrogating the Oracle fixed tables to derive operational data
  • Oracle Parallel Server
  • The inner workings of the UNIX kernel and virtual memory system
  • Oracle's Virtual Operating System abstraction interface, including hardware vendor co-engineering
  • Writing scalable SQL
  • Using TP monitors
  • Performance tuning
  • Scaling large Oracle applications

In addition, a real-life case study of a large-scale Oracle system illustrates concepts, approaches, and experienced-based pointers for implementation. Scaling Oracle8i™ concludes with a look at Oracle's future, including its role in the emerging field of Internet OLTP development.



0201325748B04062001

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top