You are previewing Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance.
O'Reilly logo
Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance

Book Description

Real Application Clusters (RAC) and the Grid architecture are Oracle's strategy for scaling out enterprise systems to cope with bigger workloads and more users. Many books limit themselves by conceptualizing and theorizing about RAC technology, but this book is the first to portray implementing and administering an Oracle 10g RAC system in a Linux environment. This book features basic concepts underlying Linux and Oracle RAC, design strategies, hardware procurement and configuration, and many other topics.

The RAC-specific technologies described include configuration of the interconnect, OCFS, ASM, Cluster Ready Services, and Grid Control. The Oracle features RMAN and Data Guard are also discussed, along with available hardware options. The authors include practical examples and configuration information, so that upon reading this book, youll be armed with the information you need to build an Oracle RAC database on Linux, whether it is on a single laptop or a 64-node Itanium cluster.

Table of Contents

  1. About the Authors
  2. About the Technical Reviewers
  3. Acknowledgments
  4. Introduction
    1. Coverage and Audience
    2. Standards and Conventions
    3. Errata and Additional Material
  5. 1. Introduction to RAC
    1. What Is Real Application Clusters?
    2. Clustered Database Concepts
      1. Cluster Terminology
      2. High Availability
      3. Scalability
      4. Disaster Recovery
    3. Why Deploy RAC?
      1. Cost of Ownership Advantages and Benefits
      2. High Availability Advantages and Disadvantages
      3. Scalability Advantages and Disadvantages
      4. Manageability Advantages and Disadvantages
      5. Transparency Advantages and Disadvantages
    4. Alternatives to RAC
      1. Single Instance Databases
      2. Data Guard
      3. Third-Party Clustering Solutions
    5. Differences Between Single-Instance and RAC Databases
    6. Differences Between Oracle 9i and Oracle 10g
    7. History of Real Application Clusters
    8. Summary
  6. 2. Introduction to Linux
    1. History of Linux
      1. UNIX
      2. Free Software
      3. Linux
      4. Open Source
    2. Oracle, Open Source, and Linux
      1. Unbreakable Linux
      2. Red Hat Enterprise Linux
      3. SUSE Linux Enterprise Server
      4. Asianux
    3. Summary
  7. 3. RAC Concepts
    1. Oracle Clusterware
      1. Oracle Cluster Registry
      2. Voting Disk
    2. Node Applications
      1. Listener
      2. Oracle Notification Service (ONS)
      3. Virtual IP (VIP)
      4. Global Services Daemon (GSD)
    3. Database Structure
      1. Datafiles
      2. Control Files
      3. Online Redo Log Files
      4. Undo Tablespaces
      5. Archived Logs
      6. Recovery Area
    4. Instances
      1. Global Cache Service (GCS)
      2. Global Enqueue Service (GES)
    5. Parameters
      1. Initialization Parameter File (PFILE)
      2. Server Parameter File (SPFILE)
      3. Global Parameters
      4. Instance-Specific Parameters
      5. RAC-Specific Parameters
    6. Background Processes
      1. RDBMS Instance Background Processes
      2. ASM Instance Background Processes
    7. Workload Management
      1. Services
      2. Connection Load Balancing
      3. Transparent Application Failover (TAF)
    8. Administration
      1. Enterprise Manager
      2. Server Control Utility (SRVCTL)
      3. SQL*Plus
      4. CRSCTL
    9. Monitoring
      1. Operating System Utilities
      2. Enterprise Manager
      3. Automatic Workload Repository (AWR)
      4. Automatic Database Diagnostic Monitor (ADDM)
      5. Active Session History (ASH)
      6. Dynamic Performance Views
      7. Statistics
    10. Tools and Utilities
      1. Cluster Verification Utility
      2. Oracle Universal Installer (OUI)
      3. Virtual IP Configuration Assistant (VIPCA)
      4. Database Creation Assistant (DBCA)
      5. Database Upgrade Assistant (DBUA)
      6. Network Configuration Assistant (NETCA)
      7. Oracle Interface Configuration Tool (OIFCFG)
      8. OCR Configuration Tool (OCRCONFIG)
    11. Backup and Recovery
      1. Recovery Manager (RMAN)
      2. Storage-Based Backup and Recovery
    12. Disaster Recovery
      1. Data Guard
      2. Stretch Clusters
      3. Hardware Disaster Recovery Solutions
    13. Summary
  8. 4. RAC Design
    1. Business Requirements
      1. Technical Requirements
      2. Business Constraints
      3. Upgrade Policy
    2. Architecture
      1. Development and Test Systems
      2. Disaster Recovery
      3. Stretch Clusters
      4. Reporting Systems
      5. Spare Servers
    3. Storage Requirements
      1. ASM and Cluster File Systems
      2. Shared Oracle Homes vs. Local Oracle Homes
      3. Backup and Recovery
      4. Archived Redo Logs
    4. Hardware Requirements
    5. Application Design
      1. Bind Variables
      2. Sequences
    6. Database Design
      1. Cursor Sharing
      2. Optimizer Statistics
      3. Histograms
      4. Dynamic Sampling
      5. System Statistics
      6. Locally Managed Tablespaces
      7. Automatic Segment Space Management (ASSM)
      8. Reverse Key Indexes
      9. Partitioning
    7. Summary
  9. 5. Benchmarking Concepts
    1. Load Testing and Benchmarks
    2. TPC Benchmarks
      1. The TPC-C Benchmark
      2. The TPC-H Benchmark
    3. Summary
  10. 6. Hardware
    1. Oracle Availability
    2. Server Architecture
      1. Processors
      2. Memory
      3. Additional Platform Features
    3. Network and Private Interconnect
      1. Network I/O
      2. Private Interconnect Selection
      3. Fully Redundant Ethernet Interconnects
    4. Summary
  11. 7. Storage
    1. RAC I/O Characteristics
      1. Read Activity
      2. Write Activity
      3. Forced Reads and Writes
      4. Asynchronous I/O
      5. Direct I/O
    2. Storage Fundamentals
      1. Disk Drive Performance
      2. RAID
      3. RAID 0 Striping
      4. RAID 1 Mirroring
      5. RAID 10 Striped Mirrors
      6. RAID 0+1 Mirrored Stripes
      7. RAID 5
      8. Storage Cache
      9. RAID Summary
      10. Intelligent Storage
    3. Storage Protocols for Linux
      1. SCSI
      2. Fibre Channel
      3. iSCSI
      4. S-ATA
      5. Using Block-Based Storage
      6. Linux I/O Scheduling
      7. NAS
      8. SAN and NAS Compared
    4. SAN Storage Example
      1. PowerPath
      2. HBA and Driver Configuration
      3. Fibre Channel Switch Configuration
      4. EMC CLARiiON Configuration
    5. NFS and iSCSI Storage Example
      1. NetApp Filer RAID Configurations
      2. Aggregates and Volumes
      3. NFS
      4. Snapshot Backup and Recovery
      5. iSCSI
    6. Summary
  12. 8. Oracle Cluster File System (OCFS)
    1. Cluster File Systems and OCFS
    2. OCFS Version 1
      1. OCFS Design Considerations
      2. Installation and Configuration
      3. Tools and Utilities
      4. Debugging and Tracing OCFS
      5. Operating System Utilities
    3. OCFS Version 2 (OCFS2)
      1. Installation and Configuration
      2. Tools and Utilities
    4. Summary
  13. 9. Automatic Storage Management (ASM)
    1. Introducing ASM
    2. ASM Installation
      1. configure
      2. start
      3. stop
      4. status
      5. createdisk
      6. scandisks
      7. listdisks
      8. querydisk
      9. deletedisk
    3. ASM Instance Configuration
      1. Adding an ASM Instance Using DBCA
      2. Adding an ASM Instance Manually
      3. Deleting an ASM Instance Using DBCA
      4. Deleting an ASM Instance Manually
      5. Re-Creating the ASM Instance
      6. Using Files Instead of Devices
    4. ASM Components
      1. ASM Instance
      2. ASM Files
    5. ASM Administration
      1. ASM Administration Using DBCA
      2. ASM Administration Using SQL*Plus
      3. ASM Administration Using SRVCTL
      4. ASM Administration Using Enterprise Manager
      5. ASM Administration Using FTP
      6. ASM Administration Using ASMCMD
    6. Monitoring ASM
      1. Dynamic Performance Views
      2. Fixed Views
    7. Summary
  14. 10. Installing Linux
    1. Linux Software Selection
    2. Hardware Requirements
    3. Networking Requirements
    4. Installing Red Hat Enterprise Linux 4 AS
      1. Starting the Installation
      2. Installation Media Check
      3. Anaconda Installation
      4. Language Selection
      5. Keyboard Configuration
      6. Upgrade Examine
      7. Disk Partitioning
      8. Boot Loader Configuration
      9. Network Configuration
      10. Firewall Configuration
      11. Additional Language Support
      12. Time Zone Selection
      13. Root Password Configuration
      14. Package Installation Defaults
      15. Package Group Selection
      16. Start Installation
      17. Installing Packages
      18. Installation Complete
      19. Welcome
      20. License Agreement
      21. Date and Time
      22. Display
      23. Red Hat Login
      24. Why Register?
      25. System User
      26. Additional CDs
      27. Finish Setup
      28. Manual Package Installation
    5. Installing SUSE Linux Enterprise Server
      1. Starting the Installation
      2. License Agreement
      3. Select Your Language
      4. Previous Installation
      5. Installation Settings
      6. Suggested Partitioning
      7. Preparing Hard Disk
      8. Expert Partitioner
      9. Software Selection
      10. Time Zone
      11. Warning
      12. Root Password
      13. Network Configuration
      14. Test Internet Connection
      15. Service Configuration
      16. User Authentication Method
      17. Add a New Local User
      18. Release Notes
    6. Summary
  15. 11. Configuring and Verifying Linux
    1. Operating System and RPM Package Checks
    2. Hostnames and Name Resolution
    3. NTP
    4. Hangcheck-Timer
    5. Kernel Parameters
      1. Shared Memory
      2. Semaphores
      3. Network
      4. Open Files
      5. Kernel Parameter Example
    6. Oracle User Configuration
      1. Creating the dba and oinstall Groups
      2. Creating the oracle User
      3. Setting the Password for the oracle User
      4. Setting Environment Variables
      5. Creating the Oracle Software Directories
      6. Setting Security Limits
    7. Secure Shell Configuration
    8. Shared Storage Configuration
      1. Partitioning
      2. Preparing the Oracle Clusterware Partitions
    9. Channel Bonding
    10. Cluster Verification
      1. Java Runtime Environment
      2. Syntax
      3. Stage Checks
      4. Component Checks
    11. Summary
  16. 12. Installing and Configuring Oracle Software
    1. Preparing to Install
      1. Installation Media
    2. Oracle Clusterware
      1. Preinstallation Tasks
      2. Verifying the Configuration
      3. Running the Installer
      4. Verifying the Oracle Clusterware Installation
    3. Oracle Database Software Installation
      1. Verifying the Configuration
      2. Running the Installer
    4. Troubleshooting
      1. Cluster Verification Utility
      2. Common Problems
      3. Other Information Sources
    5. Configuration Files
      1. Inventory
      2. OCR
      3. /etc/inittab
    6. Deinstallation
    7. Summary
  17. 13. Creating and Configuring Databases
    1. Using DBCA As a GUI Tool
      1. Configuring ASM
      2. Creating a Database
      3. Deleting a Database
      4. Creating a Template
      5. Managing Instances
      6. Managing Services
    2. Using DBCA at the Command Line
    3. Creating a Database Using Scripts
      1. Primary node
      2. Secondary Nodes
      3. Running the Scripts
    4. Summary
  18. 14. Installing and Configuring Enterprise Manager
    1. Manageability Infrastructure
    2. Database Control
    3. Grid Control
      1. Planning
      2. Preparation
      3. Management Service Installation and Configuration
      4. Starting and Stopping the Management Service
      5. Management Agent Installation
    4. Summary
  19. 15. Linux Administration
    1. Run Levels
    2. Services
    3. Terminal Sessions
    4. Manual Pages
    5. Bash Shell
      1. Commands
    6. Packages
    7. Kernel Parameters
    8. Swap Space and File Systems
      1. Swap Space
      2. General File Systems
      3. NFS
    9. Booting the System
      1. Bootloaders
      2. Initial Ramdisk Image
    10. Log Files, Tracing, and Debugging
      1. Log Files
      2. Tracing
      3. Debugging
    11. Summary
  20. 16. Oracle Clusterware
    1. Oracle Clusterware Components
      1. Cluster Synchronization Services (CSS)
      2. Cluster Ready Services (CRS)
      3. Event Manager (EVM)
    2. Oracle Clusterware Files
      1. Oracle Cluster Registry (OCR)
      2. Voting Disk
    3. Oracle Clusterware High Availability Framework
    4. Oracle Clusterware Installation and Configuration
      1. Virtual Internet Protocol Configuration Assistant (VIPCA)
      2. OIFCFG
    5. Administering Oracle Clusterware
      1. CRSCTL
      2. CRS_STAT
      3. OCRCONFIG
      4. OCRCHECK
      5. OCRDUMP
    6. Administering Voting Disks
    7. Oracle Clusterware Logging
    8. Summary
  21. 17. Application Development
    1. RAC-Specific Development Considerations
      1. Instances and Database Services
      2. Multiple SGAs
      3. Local and Shared Storage
      4. Node Affinity
    2. Transparent Application Failover
    3. Fast Application Notification
      1. Oracle Notification Service
      2. Server-Side Callouts
      3. Fast Connection Failover
    4. Oracle Clusterware High Availability Framework
      1. Example Application
      2. Implementing the HA Framework
      3. HA Framework Commands
    5. Summary
  22. 18. Using Administrative Tools
    1. Using EM
      1. Starting and Stopping Databases and Instances
      2. Setting Parameters
      3. Performance Options
      4. Administrative Options
      5. Maintenance Options
    2. Using SRVCTL
      1. SRVCTL Syntax
      2. Administering Databases
      3. Administering Instances
      4. Administering Node Applications
      5. Administering the Listener
    3. Using SQL*Plus
      1. Setting the SQL*Plus Prompt
      2. Connecting to a RAC Instance Using SQL*Plus
      3. Starting an Instance
      4. Stopping an Instance
      5. Setting Parameters in an Initialization Parameter File (PFILE)
      6. Setting Parameters in a Server Parameter File (SPFILE)
    4. Summary
  23. 19. Workload Management
    1. Workload Distribution
      1. Client-Side Connection Balancing
      2. Server-Side Connection Balancing
    2. Database Services
      1. Implementing Database Services
      2. Administering Database Services
      3. Monitoring Services
    3. Summary
  24. 20. Adding and Deleting Nodes and Instances
    1. Running GUI Tools
    2. Adding a Node
      1. Plan the Installation
      2. Install and Configure the New Hardware
      3. Configure the Network
      4. Install the Operating System
      5. Configure the Storage
      6. Install Oracle Clusterware
      7. Install Oracle Database Software
      8. Configure the Listener
    3. Adding an Instance
    4. Deleting an Instance
    5. Deleting a Node
      1. Delete ASM Instance
      2. Delete the Listener Process
      3. Delete the Oracle Database Software
      4. Update Inventories on Remaining Hosts
      5. Remove Node-Specific Interface Configuration
      6. Disable Oracle Clusterware Applications
      7. Delete the Node from the OCR
      8. Delete the Oracle Clusterware Software
      9. Update the Inventories on the Remaining Hosts
      10. Verify Node Deletion Using CLUVFY
    6. Summary
  25. 21. Trace and Diagnostics
    1. Trace File Locations
      1. Alert Log
      2. Trace Files
    2. DBMS_MONITOR
      1. Tracing Applications
      2. Tracing Multitier Applications
      3. DBA_ENABLED_TRACES
    3. ORADEBUG
      1. LKDEBUG
      2. Events
    4. Summary
  26. 22. RAC Internals
    1. Global Enqueue Services
      1. Background Processes
      2. Resources and Enqueues
      3. Lock Types
      4. Library Cache Locks
      5. Row Cache Locks
      6. Tracing GES Activity
      7. Optimizing Global Enqueues
    2. Global Cache Services
      1. Global Resource Directory (GRD)
      2. Cache Coherency
      3. Cache Fusion
      4. Cache Fusion Examples
      5. Disk Writes
      6. System Change Numbers (SCNs)
      7. Optimizing the Global Cache
    3. Instance Recovery
    4. Summary
  27. 23. Benchmarking Tools: Hammerora and Swingbench
    1. Hammerora
      1. Installation
      2. Bespoke Application Load Tests
      3. TPC-C Simulation
    2. Swingbench
      1. Installation and Configuration
      2. Calling Circle
      3. Developing Swingbench Benchmarks
    3. Summary
  28. 24. Performance Monitoring
    1. Oracle Performance Monitoring
      1. Performance Monitoring with Enterprise Manager
      2. AWR Reports
      3. Active Session History
      4. Automatic Database Diagnostic Monitor
      5. Performance Monitoring Using SQL*Plus
      6. GV$ Views
      7. System Statistics
      8. Segment Statistics
      9. Global Cache Services
      10. Global Enqueue Service
      11. Library Cache
      12. Dictionary Cache
      13. Lock Conversions
    2. Linux Performance Monitoring
      1. ps
      2. free
      3. top
      4. vmstat
    3. Summary
  29. 25. Backup and Recovery
    1. Backup and Recovery Strategy
    2. Recovery Manager (RMAN)
      1. RMAN Utility
      2. RMAN Repository
      3. Backup Sets
      4. Tags
      5. Parameters
      6. Flashback Recovery Area
      7. Performing Backups
      8. Image Copies
      9. Incremental Backups
      10. Block Change Tracking
      11. Incrementally Updated Backups
      12. Housekeeping
      13. Performing a Restore
      14. Performing Recovery
    3. RAC Considerations
      1. Archived Redo Logs
    4. Summary
  30. 26. Disaster Recovery
    1. Oracle Data Guard
    2. Data Protection Modes
      1. Maximum Performance Mode
      2. Maximum Availability Mode
      3. Maximum Protection Mode
      4. Setting the Data Protection Mode
    3. Redo Transport Services
      1. ARCn Background Process
      2. LGWR Background Process
      3. Asynchronous Network I/O (ASYNC)
      4. Synchronous Network I/O (SYNC)
    4. Standby Redo Logs
      1. Log Apply Services
    5. Role Management
      1. Read-Only Mode
      2. Switchover
      3. Failover
    6. RAC and Physical Standby
    7. RMAN
    8. NOLOGGING Attribute
    9. Archive Log Gaps
    10. Initialization Parameters
      1. LOG_ARCHIVE_DEST_n
      2. LOG_ARCHIVE_DEST_STATE_n
      3. LOG_ARCHIVE_START
      4. LOG_ARCHIVE_FORMAT
      5. DB_UNIQUE_NAME
      6. LOG_ARCHIVE_CONFIG
      7. REMOTE_ARCHIVE_ENABLE
      8. STANDBY_ARCHIVE_DEST
      9. STANDBY_FILE_MANAGEMENT
      10. FAL_CLIENT
      11. FAL_SERVER
    11. Creating a Physical Standby Database
      1. Enable Archiving on the Primary Database
      2. Create Password Files on Primary Nodes
      3. Force Logging on the Primary Database
      4. Back Up the Primary Database
      5. Set Parameters on the Primary Database
      6. Create Directories on Standby Nodes
      7. Create Password Files on Standby Nodes
      8. Create Server Parameter File for Standby Database
      9. Create Initialization Parameter Files on Standby Nodes
      10. Copy the RMAN Backup from Primary to Standby
      11. Update /etc/oratab on Standby Nodes
      12. Add the Standby Database to the OCR
      13. Update the Listener Configuration Files on Standby Nodes
      14. Update Oracle Net Configuration Files on All Nodes
      15. Set Parameters on the Standby Database
      16. Create Standby Database
      17. Enable Managed Recovery on the Standby Database
      18. Check the Standby Configuration
      19. Verify Log Transportation
    12. Role Management
      1. Read-Only Mode
      2. Switchover
      3. Failover
    13. Summary
  31. A. Third-Party Clustering Solutions
    1. Clusterware
      1. Third-Party Certification Programs
    2. PolyServe Matrix Server
      1. Central Cluster Management Console
      2. SAN Management Layer
      3. Sophisticated Fencing
      4. Dynamic Volume Manager
      5. CFS
      6. Matrix Server ODM
    3. Summary