Oracle9i Real Application Clusters Deployment and Performance
Release 1 (9.0.1)

Part Number A89870-02
Go To Documentation Library
Home
Go To Product List
Book List
Go To Index
Index

Master Index

Feedback

Go to next page

Contents

Title and Copyright Information

List of Figures

List of Tables

Send Us Your Comments

Preface

What's New in Cluster Software Deployment and Performance?

Part I Introduction to Deployment in Real Application Clusters

1 Introduction to Application Deployment for Real Application Clusters

Taking Full Advantage of Oracle9i Features
Implementing Oracle9i Features with Real Application Clusters
High Availability and Failover in Real Application Clusters
Primary/Secondary and Active/Active Instance Configurations
Oracle Net in Real Application Clusters
The Shared Server in Real Application Clusters
Connection Load Balancing
Transparent Application Failover in Real Application Clusters
PL/SQL in Real Application Clusters
Recovery Manager (RMAN) in Real Application Clusters
Cluster File Systems in Real Application Clusters
Deployment Phases for Real Application Clusters

2 Online E-Commerce and Data Warehousing Application Deployment in Real Application Clusters

Cache Fusion and E-Commerce Applications for Real Application Clusters
Flexible Implementation with Cache Fusion
Deployment Strategies for Real Application Clusters-Based Applications
Transition to N-tier Architectures
Benefits of N-Tier Architectures with Real Application Clusters
Monitoring and Tuning Performance in N-Tier Environments
Deploying Data Warehousing Applications for Real Application Clusters
Speed-Up for Data Warehousing Applications on Real Application Clusters
Flexible Parallelism within Real Application Clusters Environments
Dynamic Parallel-Aware Query Optimization
Load Balancing for Multiple Concurrent Parallel Operations
Using Parallel Instance Groups
Disk Affinity
Deployment and Tuning of Real Application Clusters Applications
Configuring and Tuning Applications on Real Application Clusters
Administrative Aspects of System Scaling for Real Application Clusters

Part II Scaling Applications and Designing Databases for Real Application Clusters

3 Scaling Applications for Real Application Clusters

Overview of Development Techniques in Real Application Clusters
Begin with an Analysis
SQL Statement Execution in Real Application Clusters
Block Accesses During INSERT Statement Execution
Block Accesses During UPDATE Statement Execution
Block Accesses During DELETE Statement Execution
Block Accesses During SELECT Statement Execution
Workload Distribution Concepts in Real Application Clusters
Functional Partitioning
Separating E-Commerce and Data Warehousing Processing
Departmental and User Partitioning
Physical Table Partitioning
Transaction Partitioning
Workload Characterization in Real Application Clusters
Step 1: Define Your System's Major Functional Areas
Step 2: Estimate Each Functional Area's System Resource Consumption
Step 3: Analyze Each Functional Area's Data Access Pattern
Step 3.1: Identify Table Access Requirements and Define Overlaps
Step 3.2: Define the Access Type for Each Overlap
Step 3.3: Identify Transaction Volumes
Step 3.4: Classify Overlaps
Scaling-Up and Partitioning in Real Application Clusters

4 Database Design Techniques for Real Application Clusters

Principles of Database Design for Real Application Clusters
Using Free List Groups For Concurrent Inserts from Multiple Nodes
Deciding Whether to Create Database Objects with Free List Groups
Identifying Critical Tables Before Migrating to Real Application Clusters
Determining FREELIST GROUPS Reorganization Needs
Creating Tables, Clusters, and Indexes with FREELISTS and FREELIST GROUPS
FREELISTS Parameter
FREELIST GROUPS Parameter
Creating FREELISTS and FREELIST GROUPS for Clustered Tables
Creating FREELISTS for Indexes
Associating Instances and User Sessions with Free List Groups
Associating Instances with Free List Groups
Associating User Processes with Free List Groups
Preallocating Extents
Preallocating Extents with The ALLOCATE EXTENT Clause
Preallocating Extents by Setting MAXEXTENTS, MINEXTENTS, and INITIAL Parameters
Preallocating Extents by Setting the INSTANCE_NUMBER Parameter
Extent Preallocation Examples
Using Sequence Numbers in Real Application Clusters
Detecting Global Conflicts for Sequences
Using Database Tables to Generate Sequence Numbers
Tablespace Design in Real Application Clusters
Extent Management and Locally Managed Tablespaces
Identifying Extent Management Issues
Minimizing Extent Management Operations
Using Locally Managed Tablespaces
Index Issues for Real Application Clusters Design
Reducing Inter-Instance Concurrent Changes To Index Blocks
Using Reverse Key Indexes to Distribute Index Access
Assigning Different Subsequences to Each Instance to Reduce Index Contention
Using INSTANCE_NUMBER to Generate Index Keys
Reducing Index Contention by Partitioning Tables by Range
Minimizing Table Locks to Optimize Performance
Disabling Table Locks for Individual Tables
Setting DML_LOCKS to Zero
Object Creation and Performance in Real Application Clusters
Conclusions and a Summary of Guidelines

Part III Real Application Clusters Performance Monitoring and Tuning

5 General Tuning Recommendations for Real Application Clusters

Overview of Tuning Real Application Clusters
Statistics for Monitoring Real Application Clusters Performance
The Content of Real Application Clusters Statistics
Recording Statistics for Tuning
Tracing Execution History with the TRACE_ENABLED Parameter
Significant Real Application Clusters Statistics
Using Views to Evaluate Real Application Clusters Performance
Using V$SYSSTAT for Real Application Clusters Statistics
Using V$SYSTEM_EVENT for Real Application Clusters Statistics
Using Other Views to Obtain Real Application Clusters Statistics
Measuring Workload Performance in Real Application Clusters
General Tuning Recommendations for Workload Performance
Measuring Workload Performance
Using V$CLASS_CACHE_TRANSFER and V$FILE_CACHE_TRANSFER for Real Application Clusters Statistics
Identifying Contended Objects with V$CACHE, V$CACHE_TRANSFER, V$BH, and V$FILE_CACHE_TRANSFER
Estimating I/O Synchronization Costs
Determining the Costs of Synchronization In Real Application Clusters
Calculating CPU Service Time Required
Measuring Global Cache Coherency and Contention
Maintaining Application Profiles per Transaction per Unit of Time
Measuring Global and Local Work Ratios in Real Application Clusters
Calculating the Global Cache Synchronization Costs Due to Contention in Real Application Clusters
Contention for the Same Data Blocks
Identifying Contended Objects with V$CACHE, V$CACHE_TRANSFER, and V$BH
Contention for Segment Headers and Free List Blocks
Contention for Resources other than Database Blocks
Contention for the Data Dictionary Cache and The Row Cache
Contention for the Library Cache
Contention Problems Specific to Applications Running on Real Application Clusters
Using Sequence Number Multipliers
Using the CACHE Clause When Creating Oracle Sequences
Resolving Performance Problems in Real Application Clusters-Based Applications
Query Tuning Tips
Using Large Block Sizes
Increasing the Value for DB_FILE_MULTIBLOCK_READ_COUNT
Application Tuning Tips
Diagnosing Performance Problems
GCS Statistics for Monitoring Contention and CPU Usage
Advanced Queuing and Real Application Clusters
Queue Table Instance Affinity
Global Cache Service Resource Acquisition
Advanced Queuing and Queue Table Cache Transfers

6 Tuning Real Application Clusters and Inter-Instance Performance

How Cache Fusion Produces Current and Consistent Read Blocks
Improved Scalability with Cache Fusion
Block Transfers Using High Speed Interconnects
Elimination of I/O for Forced Disk Writes of Blocks
Partitioning Data To Further Reduce Hot Spots Due to Blocks Modified by Multiple Instances
The Interconnect and Interconnect Protocols for Real Application Clusters
Influencing Interconnect Processing
Performance Expectations of Cache Fusion
Monitoring Cache Fusion and Inter-Instance Performance
Cache Fusion and Performance Monitoring Goals
Statistics for Monitoring Real Application Clusters and Cache Fusion
Creating Real Application Clusters Data Dictionary Views with CATCLUST.SQL
Global Dynamic Performance Views
Analyzing Global Cache and Cache Fusion Statistics
Procedures for Monitoring Global Cache Statistics
Analyzing Global Enqueue Statistics
Procedures for Analyzing Global Enqueue Statistics
Analyzing GES Resource, Message, and Memory Resource Statistics
How GES Workloads Affect Performance
Procedures for Analyzing GES Resource Statistics
GES Message Statistics Processing
Procedure for Analyzing GES Message Statistics
Analyzing Block Mode Conversions by Type
Using the V$LOCK_ACTIVITY View to Analyze Block Mode Conversions
Using the V$CLASS_CACHE_TRANSFER View to Identify Block Mode Conversions by Block Class
Using the V$CACHE_TRANSFER View to Identify Hot Objects
Analyzing Latch Statistics in Real Application Clusters
Procedures for Analyzing Latch Statistics
Using the V$SYSTEM_EVENT View to Identify Performance Problems
Real Application Clusters Events in V$SYSTEM_EVENT
Events Related to Server Coordination Resources
General Observations for Tuning Inter-Instance Performance

Part IV Using Oracle Enterprise Manager to Monitor and Tune Real Application Clusters Databases

7 Monitoring Performance with Oracle Performance Manager

Oracle Performance Manager Overview
Starting Oracle Performance Manager
Displaying Charts
Using the Statistics Charts
Total Ping Chart
Global Cache Timeouts Chart
Global Cache CR Request Chart
Global Cache Lock Convert Chart
Instance Ping Chart
Global Cache CR Timeouts by Instance Chart
Global Cache Convert Timeouts by Instance Chart
Global Cache Freelist Waits by Instance Chart
Global Cache CR Request by Instance Chart
Global Cache Lock Convert by Instance Chart
Ping by File Chart
File Ping by Instance Chart
Ping by Block Class Chart
Ping by Object Chart
Object Ping by Instance Chart
Maximum Ping by Block Chart
Library Cache Lock Chart
Library Cache Lock by Instance Chart
Row Cache Lock Chart
Row Cache Lock by Instance Chart
Global Cache Current Block Request Chart
Global Cache Current Block Request by Instance Chart
Global Cache Current Block Instance Activity Chart
File I/O Rate Default Chart
File I/O Rate by Object Default Chart
File I/O Rate by Instance Default Chart
Lock Activity Default Chart
Sessions Default Chart
Users Default Chart
Users Per Instance Default Chart
Active Users Chart
Active Users by Instance Chart
Clusters Data Block Ping by Instance Chart

Part V Real Application Clusters Reference

A Configuring Multi-Block Lock Assignments (Optional)

Before You Override the Global Cache and Global Enqueue Service Resource Control Mechanisms
Deciding Whether to Override Global Cache Service and Global Enqueue Service Processing
When to Use Pre-Release 1 (9.0.1) Locks
Setting GC_FILES_TO_LOCKS
GC_FILES_TO_LOCKS Syntax
Lock Assignment Examples
Blocking Factor, Extent Allocation, and Free List Groups
Dynamic Allocation of Blocks on Lock Boundaries
Moving a Segment's High Water Mark
Additional Considerations for Setting GC_FILES_TO_LOCKS
Expanding or Adding Datafiles
Files To Avoid Including in GC_FILES_TO_LOCKS Settings
Database Design Considerations and Free List Groups
Associating Locks with Free Lists
Tuning Parallel Execution on Real Application Clusters
Analyzing Real Application Clusters I/O Statistics
Analyzing Real Application Clusters I/O Statistics Using V$SYSSTAT
Monitoring Multi-Block Lock Usage by Detecting False Forced Writes
Pre-Release 1 (9.0.1) Lock Names and Lock Formats
Lock Names and Lock Name Formats
Lock Names
Pre-Release 1 (9.0.1) Lock Types and Names

B A Case Study in Real Application Clusters Database Design

Case Study Overview
Case Study: From Initial Database Design to Real Application Clusters
Eddie Bean Catalog Sales
Eddie Bean Database Tables
Eddie Bean Users
The Eddie Bean Application Profile
Analyzing Access to Tables
Table Access Analysis Worksheet
Estimating Volume of Operations
Calculating I/Os for Each Operation
I/Os for Each Operation for Sample Tables
Case Study: Table Access Analysis
Analyzing Transaction Volume by Users
Transaction Volume Analysis Worksheet
Case Study: Transaction Volume Analysis
ORDER_HEADER Table
ORDER_ITEM Table
ACCOUNTS_PAYABLE Table
Case Study: Initial Partitioning Plan
Case Study: Further Partitioning Plans
Design Option 1
Design Option 2
Partitioning Indexes
Implement and Tune Your Design

Glossary

Index


Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Index
Index

Master Index

Feedback