You are previewing Oracle 10g RAC Grid, Services & Clustering.
O'Reilly logo
Oracle 10g RAC Grid, Services & Clustering

Book Description

Grid architecture is Oracle’s strategy for high-end computing and RAC is the stepping stone into this arena. This book focuses on current technology including all valid RAC features up through Oracle Database 10g Release 2, with a primary focus on deploying it in a high-end grid environment. The book discusses this technology at length which users will find beneficial when researching, implementing or monitoring a RAC environment. The author covers workshop implementation of services and the distribution of workload across instances, with threshold definitions and the new load balancing algorithms. In addition it includes detailed discussions on ASM that complements the implementation of RAC in Oracle Grid strategy. The book also includes discussions on new Oracle Clusterware, its components and its integration with RAC.

Oracle 10g RAC focuses on RAC-specific topics including ASM, operating system configuration, installation and configuration of RAC and much more. Coverage includes network configuration for high availability, FAN, TAF, ONS, implementation of maximum availability architecture (MAA), EM Grid Control, AWR, ADDM and other performance-related tools. The author includes several scripts for performance tuning and implementation that the reader can use to configure a RAC environment either on a 2, 4, 8, 60 or 99 node configuration.

* Focuses on implementing, testing and tuning features of Real Application Clusters (RAC) database
version 10g Release 2
* Provides extensive coverage of usage, day-to-day functions and operations
* Includes tips and techniques such as script samples
to illustrate various features of RAC
* A jumpstart into all the key features of 10g R2 RAC

Table of Contents

  1. Copyright
    1. Dedication
  2. Oracle Database Related Book Titles
  3. About the Author
    1. About the Technical Contributors
      1. Chapter 11: Best Practices
      2. Chapter 5 and Chapter 6: Java Code Support
    2. About the Technical Reviewers
  4. Acknowledgments
  5. Preface
    1. About This Book
      1. How to Use This Book
      2. Appendices
  6. 1. Oracle Grid
    1. 1.1. Electric power grid
    2. 1.2. Computational grids
    3. 1.3. Evolution
    4. 1.4. Enterprise grid computing
      1. 1.4.1. Virtualization
      2. 1.4.2. Dynamic provisioning
      3. 1.4.3. Unified management
    5. 1.5. Globus Toolkit
    6. 1.6. Oracle grid
      1. 1.6.1. Oracle Database Clustering
      2. 1.6.2. Enterprise Manager
    7. 1.7. Conclusion
  7. 2. Real Application Cluster Architecture
    1. 2.1. RAC components
      1. 2.1.1. Oracle Clusterware
        1. Oracle Clusterware architecture
        2. Oracle Cluster Registry
        3. Cluster Synchronization Services (CSS)
        4. Oracle Clusterware stack
        5. Cluster interconnect
        6. Gigabit Ethernet
        7. Infiniband technology
        8. Virtual Interface or Virtual IP
    2. 2.2. Real Application Cluster
    3. 2.3. Background processes in RAC
      1. LMS
      2. LMON
      3. LMD
      4. LCK
      5. DIAG
    4. 2.4. Database files in RAC
      1. 2.4.1. Server parameter file
      2. 2.4.2. Datafiles
      3. 2.4.3. Control files
      4. 2.4.4. Online redo log files
      5. 2.4.5. Archived redo log files
      6. 2.4.6. Other files
    5. 2.5. Maintaining read consistency in RAC
      1. Undo management
    6. 2.6. Cache fusion
      1. Resource mode
      2. Resource role
    7. 2.7. Global Resource Directory
      1. Database block address (DBA)
      2. Location
      3. Mode
      4. Role
      5. System change number
      6. Past image
      7. Current image
    8. 2.8. Mastering of resources
    9. 2.9. Lock management
    10. 2.10. Multi-instance transaction behavior
      1. Read/read behavior
      2. Read/read behavior with no transfer
      3. Read/read behavior with transfer
      4. Read/write behavior
      5. Write/write behavior
      6. Write/read behavior
      7. Write-to-disk behavior
    11. 2.11. Recovery
      1. 2.11.1. Cache recovery
      2. 2.11.2. Transaction recovery
        1. Fast-start on demand
        2. Fast-start parallel rollback
      3. 2.11.3. Online block recovery
    12. 2.12. Conclusion
  8. 3. Storage Management
    1. 3.1. Disk fundamentals
      1. 3.1.1. RAID 0
      2. 3.1.2. RAID 1
      3. 3.1.3. RAID 0+1
      4. 3.1.4. RAID 1+0
      5. 3.1.5. RAID 5
    2. 3.2. Data operations
    3. 3.3. SAME
    4. 3.4. Oracle Managed Files
    5. 3.5. Storage options for RAC
      1. 3.5.1. RAW devices
      2. 3.5.2. Clustered file system
    6. 3.6. Automatic storage management (ASM)
      1. 3.6.1. ASM installation
        1. ASM Library (ASMLIB)
        2. ASMLIB installation
      2. 3.6.2. Configuring ASMLIB
        1. What is multipathing?
      3. 3.6.3. Architecture
        1. ASM instance
      4. 3.6.4. Disks
      5. 3.6.5. Disk groups
      6. 3.6.6. Using the command line to create disk groups
      7. 3.6.7. Failure groups
      8. 3.6.8. Normal redundancy
      9. 3.6.9. High redundancy
      10. 3.6.10. External redundancy
        1. Creation of disk groups using DBCA
        2. Create disk groups using EM
      11. 3.6.11. ASM templates
      12. 3.6.12. Stripe types
      13. 3.6.13. Disk group in a RAC environment
      14. 3.6.14. ASM files
      15. 3.6.15. ASM-related V$ Views
      16. 3.6.16. Background process
        1. ASM-related RDBMS background processes
        2. Cluster synchronization services (CSS)
      17. 3.6.17. How do they all work?
      18. 3.6.18. ASM allocation units
      19. 3.6.19. ASM component relationship
      20. 3.6.20. New command-line interface
    7. 3.7. Migration to ASM
      1. 3.7.1. Converting non-ASM database to ASM using RMAN
      2. 3.7.2. Converting non-ASM datafile to ASM using RMAN
      3. 3.7.3. Converting non-ASM datafile to ASM using DBMS_FILE_TRANSFER stored procedure
      4. 3.7.4. Transferring non-ASM datafile to ASM using FTP
    8. 3.8. ASM performance monitoring using EM
    9. 3.9. ASM implementations
      1. 3.9.1. Using ASM from a single node
      2. 3.9.2. Using ASM from multiple nodes
      3. 3.9.3. Using ASM in a RAC environment
    10. 3.10. ASM instance crash
    11. 3.11. ASM disk administration
      1. Backing up data from an ASM disk
      2. Reusing ASM diskgroups
    12. 3.12. Client connection to an ASM instance
    13. 3.13. Conclusion
  9. 4. Installation and Configuration
    1. 4.1. Optimal Flexible Architecture
      1. 4.1.1. Installation
      2. 4.1.2. Preinstallation steps
    2. 4.2. Selecting the clusterware
    3. 4.3. Operating system configuration
      1. 4.3.1. Creation of an oracle user account
    4. 4.4. Network configuration
    5. 4.5. NIC bonding
    6. 4.6. Verify interprocess communication buffer sizes
    7. 4.7. Jumbo frames
      1. 4.7.1. Linux kernel version 2.4 and 2.6
      2. 4.7.2. AIX
      3. 4.7.3. Solaris
    8. 4.8. Remote access setup
    9. 4.9. Configuring the kernel
    10. 4.10. Configuring the hangcheck timer on Linux systems
    11. 4.11. Configuring and synchronizing the system clock
    12. 4.12. Installing Oracle
      1. 4.12.1. Phase I: Oracle Clusterware installation
      2. 4.12.2. Phase II: Oracle Software Installation
      3. 4.12.3. Phase III: database configuration
        1. Database Configuration Assistant
        2. Manual database configuration
      4. 4.12.4. Phase IV: cluster components
        1. Oracle Cluster Registry
      5. 4.12.5. OCR backup and restore
      6. 4.12.6. Setting paths and environment variables
    13. 4.13. Additional information
    14. 4.14. Conclusion
  10. 5. Services and Distributed Workload Management
    1. 5.1. Service framework
      1. 5.1.1. Types of services
        1. Characteristics of a service
      2. 5.1.2. Service creation
        1. 1. DBCA
        2. 2. Server control (srvctl) utility
        3. 3. PL/SQL procedures
        4. 4. EM
        5. Service structure
    2. 5.2. Distributed workload management
      1. 5.2.1. Oracle Database Resource Manager
      2. 5.2.2. Oracle Scheduler
        1. Oracle Scheduler architecture
      3. 5.2.3. DWM workshop
    3. 5.3. Fast Application Notification
      1. 5.3.1. Oracle Notification Services
        1. ONS configuration
        2. ONS communication
      2. 5.3.2. FAN events
        1. ONS logging
        2. FAN API logging
    4. 5.4. Conclusion
  11. 6. Failover and Load-Balancing
    1. 6.1. Failover
      1. 6.1.1. How does the failover mechanism work?
      2. 6.1.2. Database/instance recovery
      3. 6.1.3. Failover of VIP system service
        1. How does the VIP failover?
      4. 6.1.4. Transparent application failover
        1. TAF configuration
        2. TNSNAMES-based configuration
        3. TAF implementation
        4. Connect-time failover and client load-balancing
        5. Preestablishing a connection
        6. Defining TAF rules in the database
        7. OCI API requests
        8. TAF callbacks
        9. TAF verification
        10. Other benefits of TAF
        11. Transactional shutdown
        12. Quiescing the database
      5. 6.1.5. Fast Connect Failover
        1. Implicit Connection Cache
        2. Oracle Notification Service
        3. How does the JDBC application get these notifications?
        4. Using FAN with ODP.NET
    2. 6.2. Load-balancing
      1. 6.2.1. Applications not using connection pooling
        1. Client load-balancing
        2. Connection load-balancing
      2. 6.2.2. Applications using connection pooling
        1. Load-balancing definition
        2. Defining thresholds
        3. Verification
    3. 6.3. Conclusion
  12. 7. Oracle Clusterware Administration Quick Reference
    1. 7.1. Node verification using olsnodes
    2. 7.2. Oracle Control Registry
      1. 7.2.1. Server control (srvctl) utility
      2. 7.2.2. Cluster services control (crsctl) utility
      3. 7.2.3. OCR administration utilities
        1. OCR verification (ocrcheck) Utility
        2. OCR configuration (ocrconfig) Utility
        3. OCR dump (ocrdump) Utility
    3. 7.3. ONS control (onsctl) utility
    4. 7.4. EVMD verification
    5. 7.5. Oracle Clusterware interface
      1. 7.5.1. Scripting interface framework
      2. 7.5.2. Oracle Clusterware API
    6. 7.6. Conclusion
  13. 8. Backup and Recovery
    1. 8.1. Recovery Manager
    2. 8.2. RMAN components
      1. 8.2.1. RMAN process
      2. 8.2.2. Channels
      3. 8.2.3. Target database
      4. 8.2.4. Recovery catalog database
      5. 8.2.5. Media Management Layer
    3. 8.3. Recovery features
      1. 8.3.1. Flash recovery
        1. Sizing the flashback area
      2. 8.3.2. Change tracking
      3. 8.3.3. Backup encryption
    4. 8.4. Configuring RMAN for RAC
    5. 8.5. Backup and recovery strategy
      1. 8.5.1. Types of RMAN backups
    6. 8.6. Configuring RMAN
    7. 8.7. Reporting in RMAN
    8. 8.8. Recovery
      1. 8.8.1. Instance recovery
      2. 8.8.2. Database recovery
        1. Applying archive logs from multiple instances
    9. 8.9. Conclusion
  14. 9. Performance Tuning
    1. 9.1. Methodology
    2. 9.2. Storage subsystem
    3. 9.3. Automatic Storage Management
    4. 9.4. Cluster interconnect
    5. 9.5. Interconnect transfer rate
    6. 9.6. SQL*Net tuning
      1. 9.6.1. Tuning network buffer sizes
      2. 9.6.2. Device queue sizes
    7. 9.7. SQL tuning
      1. 9.7.1. Hard parses
      2. 9.7.2. Logical reads
      3. 9.7.3. SQL Advisory
      4. 9.7.4. Queries with high cluster overhead
    8. 9.8. Sequences and index contention
    9. 9.9. Undo block considerations
    10. 9.10. Load-balancing
      1. 9.10.1. Tracing the load metric capture
    11. 9.11. Resource availability
    12. 9.12. Response time
    13. 9.13. Oracle Wait Interface
      1. 9.13.1. Consistent read versus current
      2. 9.13.2. gc cr/current block 2-way/3-way
      3. 9.13.3. gc cr/current block congested
      4. 9.13.4. gc remaster
      5. 9.13.5. wait for master SCN
      6. 9.13.6. gc cr/current request
      7. 9.13.7. gc current/CR block busy
      8. 9.13.8. gc current grant busy
    14. 9.14. Server/database statistics
      1. 9.14.1. Time model statistics
    15. 9.15. Service-level metrics
    16. 9.16. Identifying blockers across instances
    17. 9.17. Identifying hot blocks
    18. 9.18. Monitoring remastering
    19. 9.19. Operating system tuning
      1. 9.19.1. CPU utilization
      2. 9.19.2. Memory utilization
    20. 9.20. Automatic workload repository
    21. 9.21. Automatic Database Diagnostic Monitor
    22. 9.22. Active session history
    23. 9.23. EM Grid Control
      1. 9.23.1. Cluster latency/activity
      2. 9.23.2. Topology view
      3. 9.23.3. Spotlight® on RAC
    24. 9.24. Conclusion
  15. 10. MAA and More
    1. 10.1. Data Guard
      1. 10.1.1. Data Guard architecture
        1. Data Guard Broker
        2. Fast-start failover
      2. 10.1.2. Workshops
        1. Basic physical standby
        2. Data Guard Broker
        3. Fast-start failover
      3. 10.1.3. Failover
        1. Planned failover
        2. Unplanned failover
      4. 10.1.4. FAN and TAF
      5. 10.1.5. Adding instances
    2. 10.2. Oracle Streams
      1. 10.2.1. Architecture
      2. 10.2.2. Capture
      3. 10.2.3. Types of capture
      4. 10.2.4. Activation of the capture process
      5. 10.2.5. Staging (propagation)
      6. 10.2.6. Consumption (apply)
      7. 10.2.7. Activation of the apply process
      8. 10.2.8. Streams configuration workshop
        1. Source database
        2. Target database
    3. 10.3. Extended clusters
      1. 10.3.1. Architecture
      2. 10.3.2. Drawbacks
    4. 10.4. Conclusion
  16. 11. Best Practices
    1. 11.1. Planning
      1. 11.1.1. Understand RAC architecture
      2. 11.1.2. Set your expectations appropriately
      3. 11.1.3. Define your objectives
      4. 11.1.4. Build a project plan
    2. 11.2. Implementation
      1. 11.2.1. Cluster installation/configuration
      2. 11.2.2. Shared storage configuration
      3. 11.2.3. Oracle Clusterware (CRS) installation/configuration
      4. 11.2.4. Oracle RAC installation/configuration
    3. 11.3. Database creation
    4. 11.4. Application deployment
    5. 11.5. Operations
      1. 11.5.1. Production migration
      2. 11.5.2. Backup and recovery
      3. 11.5.3. Database monitoring and tuning
    6. 11.6. Conclusion
  17. A. References
  18. B. Utilities and Scripts
    1. B.1 SRVCTL – Server Control
      1. START command
        1. Usages
      2. STOP command
        1. Usages
      3. STATUS command
        1. Usages
      4. CONFIG command
        1. Usages
      5. ADD and REMOVE commands
        1. Usages
    2. B.2 Cluster ready service (CRS) utility
      1. Status command
      2. Register command
      3. Start command
      4. Stop command
      5. Relocate command
      6. Setup command
    3. B.3 ORADEBUG - Oracle Debugger
    4. B.4 Perl Script
    5. B.5 RMAN Scripts
  19. C. Oracle Clustered File System
    1. C.1. OCFS 1.0
    2. C.2. OCFS2
    3. C.3. Conclusion
  20. D. TAF and FCF using Java
    1. D.1 TAF example using Java
      1. Section 1
      2. Section 2
      3. Section 3
      4. Section 4
      5. FCF example using Java
  21. E. Migration(s)
    1. E.1. Oracle 9iR2 to 10g R2 RAC
      1. E.1.1. Current environment
        1. 1. Dependencies and prerequisites
        2. 2. Configuration of network components
        3. 3. Installation of Oracle Clusterware
        4. 4. Installation of Oracle software
        5. 5. Housekeeping
    2. E.2. Data migration from OCFS to ASM
      1. 1. Set dependencies and prerequisites
      2. 3. Migrate datafiles to ASM
      3. Command-line utility
    3. E.3. Conclusion
  22. F. Adding Additional Nodes to an Existing Oracle 10g R2 Cluster on Linux
    1. F.1. Current environment
      1. 1. Dependencies and prerequisites
      2. 2. Configuration of network components
      3. 3. Establishing user equivalence with SSH
      4. 3. Installation of Oracle Clusterware
      5. What is NIC bonding?
      6. 5. Installation of Oracle software
      7. 6. Addition of new instance(s)
      8. 7. Housekeeping
    2. F.2. Conclusion