Available:*
Shelf Number | Material Type | Copy | Shelf Location | Status |
---|---|---|---|---|
005.7565 22 | 1:E-BOOK | 1 | 1:ONLINE | Searching... Unknown |
Bound With These Titles
On Order
Summary
Summary
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.
Author Notes
About the Author
Murali Vallath has over 18 years of information technology experience and over 13 years using Oracle products. His work spans industries such as broadcasting, manufacturing and telephony and most recently transportation logistics. Vallath is no stranger to the software development life cycle; his solid understanding of IT covers requirement analysis, architecture, modeling, database design, application development, performance tuning and implementation.
Vallath is an Oracle Certified Database Administrator and has worked on a variety of database platforms for small to very large implementations, designing extensive databases for high volume, machine critical, real time OLTP systems. His expertise is with Oracle Real Application Clusters. Vallath has successfully completed over 60 successful small, medium and terabyte sized RAC implementations (Oracle 9i & Oracle 10g) for reputed corporate firms.
Vallath is the president of the RAC SIG (www.oracleracsig.org) and the Charlotte Oracle Users Group (www.cltoug.org).
Vallath is a regular speaker at national and international conferences, including the Oracle Open World, IOUG, UKOUG on RAC and Oracle Performance Tuning related topics.
Vallath currently provides Oracle consulting services through Summersky Enterprises LLC (www.summersky.biz). The firm specializes in implementation and performance tuning of Oracle products, including RAC, Data Guard and Oracle Streams. Prior to this he worked as Senior Database Architect at Elogex Inc. Where apart from the regular performance tuning efforts, he led the Performance Management SWAT team. His previous work and consulting experience includes Hinditron Computers in India, Digital Equipment Corporation, GTE Mobile, Navistar International and DST Interactive (formerly DBS Systems).
Vallath can be reached at murali.vallath@summersky.biz
Table of Contents
About the Author | p. xv |
About the Technical Contributors | p. xvi |
About the Technical Reviewers | p. xvi |
Acknowledgments | p. xix |
Preface | p. xxiii |
About This Book | p. xxiii |
How to Use This Book | p. xxiv |
Appendices | p. xxvi |
Graphics Used | p. xxvi |
1 Oracle Grid | p. 1 |
1.1 Electric power grid | p. 3 |
1.2 Computational grids | p. 4 |
1.3 Evolution | p. 5 |
1.4 Enterprise grid computing | p. 6 |
1.4.1 Virtualization | p. 7 |
1.4.2 Dynamic provisioning | p. 7 |
1.4.3 Unified management | p. 7 |
1.5 Globus Toolkit | p. 8 |
1.6 Oracle grid | p. 8 |
1.6.1 Oracle Database Clustering | p. 9 |
1.6.2 Enterprise Manager | p. 12 |
1.7 Conclusion | p. 13 |
2 Real Application Cluster Architecture | p. 15 |
2.1 RAC components | p. 15 |
2.1.1 Oracle Clusterware | p. 18 |
2.2 Real Application Cluster | p. 30 |
2.3 Background processes in RAC | p. 32 |
2.4 Database files in RAC | p. 35 |
2.4.1 Server parameter file | p. 35 |
2.4.2 Datafiles | p. 36 |
2.4.3 Control files | p. 36 |
2.4.4 Online redo log files | p. 37 |
2.4.5 Archived redo log files | p. 38 |
2.4.6 Other files | p. 38 |
2.5 Maintaining read consistency in RAC | p. 39 |
2.6 Cache fusion | p. 40 |
2.7 Global Resource Directory | p. 42 |
2.8 Mastering of resources | p. 46 |
2.9 Lock management | p. 49 |
2.10 Multi-instance transaction behavior | p. 50 |
2.11 Recovery | p. 65 |
2.11.1 Cache recovery | p. 66 |
2.11.2 Transaction recovery | p. 66 |
2.11.3 Online block recovery | p. 67 |
2.12 Conclusion | p. 68 |
3 Storage Management | p. 69 |
3.1 Disk fundamentals | p. 70 |
3.1.1 RAID 0 | p. 73 |
3.1.2 RAID 1 | p. 73 |
3.1.3 RAID 0+1 | p. 74 |
3.1.4 RAID 1+0 | p. 74 |
3.1.5 RAID 5 | p. 75 |
3.2 Data operations | p. 76 |
3.3 SAME | p. 76 |
3.4 Oracle Managed Files | p. 78 |
3.5 Storage options for RAC | p. 78 |
3.5.1 RAW devices | p. 78 |
3.5.2 Clustered file system | p. 79 |
3.6 Automatic storage management (ASM) | p. 79 |
3.6.1 ASM installation | p. 80 |
3.6.2 Configuring ASMLIB | p. 84 |
3.6.3 Architecture | p. 87 |
3.6.4 Disks | p. 88 |
3.6.5 Disk groups | p. 89 |
3.6.6 Using the command line to create disk groups | p. 91 |
3.6.7 Failure groups | p. 93 |
3.6.8 Normal redundancy | p. 94 |
3.6.9 High redundancy | p. 95 |
3.6.10 External redundancy | p. 97 |
3.6.11 ASM templates | p. 103 |
3.6.12 Stripe types | p. 107 |
3.6.13 Disk group in a RAC environment | p. 108 |
3.6.14 ASM files | p. 109 |
3.6.15 ASM-related V$ Views | p. 110 |
3.6.16 Background process | p. 110 |
3.6.17 How do they all work? | p. 115 |
3.6.18 ASM allocation units | p. 117 |
3.6.19 ASM component relationship | p. 119 |
3.6.20 New command-line interface | p. 120 |
3.7 Migration to ASM | p. 121 |
3.7.1 Converting non-ASM database to ASM using RMAN | p. 121 |
3.7.2 Converting non-ASM datafile to ASM using RMAN | p. 122 |
3.7.3 Converting non-ASM datafile to ASM using DBMS_FILE_TRANSFER stored procedure | p. 123 |
3.7.4 Transferring non-ASM datafile to ASM using FTP | p. 125 |
3.8 ASM performance monitoring using EM | p. 126 |
3.9 ASM implementations | p. 127 |
3.9.1 Using ASM from a single node | p. 128 |
3.9.2 Using ASM from multiple nodes | p. 129 |
3.9.3 Using ASM in a RAC environment | p. 131 |
3.10 ASM instance crash | p. 132 |
3.11 ASM disk administration | p. 132 |
3.12 Client connection to an ASM instance | p. 133 |
3.13 Conclusion | p. 135 |
4 Installation and Configuration | p. 137 |
4.1 Optimal Flexible Architecture | p. 137 |
4.1.1 Installation | p. 138 |
4.1.2 Preinstallation steps | p. 139 |
4.2 Selecting the clusterware | p. 140 |
4.3 Operating system configuration | p. 142 |
4.3.1 Creation of an oracle user account | p. 142 |
4.4 Network configuration | p. 143 |
4.5 NIC bonding | p. 147 |
4.6 Verify interprocess communication buffer sizes | p. 155 |
4.7 Jumbo frames | p. 157 |
4.7.1 Linux kernel version 2.4 and 2.6 | p. 158 |
4.7.2 AIX | p. 158 |
4.7.3 Solaris | p. 159 |
4.8 Remote access setup | p. 159 |
4.9 Configuring the kernel | p. 161 |
4.10 Configuring the hangcheck timer on Linux systems | p. 163 |
4.11 Configuring and synchronizing the system clock | p. 164 |
4.12 Installing Oracle | p. 164 |
4.12.1 Phase I: Oracle Clusterware installation | p. 166 |
4.12.2 Phase II: Oracle Software Installation | p. 183 |
4.12.3 Phase III: database configuration | p. 190 |
4.12.4 Phase IV: cluster components | p. 204 |
4.12.5 OCR backup and restore | p. 206 |
4.12.6 Setting paths and environment variables | p. 206 |
4.13 Additional information | p. 208 |
4.14 Conclusion | p. 208 |
5 Services and Distributed Workload Management | p. 209 |
5.1 Service framework | p. 209 |
5.1.1 Types of services | p. 211 |
5.1.2 Service creation | p. 212 |
5.2 Distributed workload management | p. 223 |
5.2.1 Oracle Database Resource Manager | p. 223 |
5.2.2 Oracle Scheduler | p. 225 |
5.2.3 DWM workshop | p. 229 |
5.3 Fast Application Notification | p. 242 |
5.3.1 Oracle Notification Services | p. 243 |
5.3.2 FAN events | p. 247 |
5.4 Conclusion | p. 257 |
6 Failover and Load-Balancing | p. 259 |
6.1 Failover | p. 261 |
6.1.1 How does the failover mechanism work? | p. 261 |
6.1.2 Database/instance recovery | p. 264 |
6.1.3 Failover of VIP system service | p. 267 |
6.1.4 Transparent application failover | p. 270 |
6.1.5 Fast Connect Failover | p. 288 |
6.2 Load-balancing | p. 298 |
6.2.1 Applications not using connection pooling | p. 299 |
6.2.2 Applications using connection pooling | p. 303 |
6.3 Conclusion | p. 308 |
7 Oracle Clusterware Administration Quick Reference | p. 311 |
7.1 Node verification using olsnodes | p. 312 |
7.2 Oracle Control Registry | p. 314 |
7.2.1 Server control (srvctl) utility | p. 314 |
7.2.2 Cluster services control (crsctl) utility | p. 317 |
7.2.3 OCR administration utilities | p. 324 |
7.3 ONS control (onsctl) utility | p. 328 |
7.4 EVMD verification | p. 333 |
7.5 Oracle Clusterware interface | p. 335 |
7.5.1 Scripting interface framework | p. 336 |
7.5.2 Oracle Clusterware API | p. 343 |
7.6 Conclusion | p. 343 |
8 Backup and Recovery | p. 345 |
8.1 Recovery Manager | p. 347 |
8.2 RMAN components | p. 347 |
8.2.1 RMAN process | p. 348 |
8.2.2 Channels | p. 349 |
8.2.3 Target database | p. 349 |
8.2.4 Recovery catalog database | p. 350 |
8.2.5 Media Management Layer | p. 350 |
8.3 Recovery features | p. 350 |
8.3.1 Flash recovery | p. 350 |
8.3.2 Change tracking | p. 353 |
8.3.3 Backup encryption | p. 355 |
8.4 Configuring RMAN for RAC | p. 356 |
8.5 Backup and recovery strategy | p. 361 |
8.5.1 Types of RMAN backups | p. 361 |
8.6 Configuring RMAN | p. 363 |
8.7 Reporting in RMAN | p. 370 |
8.8 Recovery | p. 373 |
8.8.1 Instance recovery | p. 373 |
8.8.2 Database recovery | p. 376 |
8.9 Conclusion | p. 380 |
9 Performance Tuning | p. 381 |
9.1 Methodology | p. 382 |
9.2 Storage subsystem | p. 389 |
9.3 Automatic Storage Management | p. 394 |
9.4 Cluster interconnect | p. 395 |
9.5 Interconnect transfer rate | p. 397 |
9.6 SQL*Net tuning | p. 404 |
9.6.1 Tuning network buffer sizes | p. 405 |
9.6.2 Device queue sizes | p. 407 |
9.7 SQL tuning | p. 407 |
9.7.1 Hard parses | p. 408 |
9.7.2 Logical reads | p. 409 |
9.7.3 SQL Advisory | p. 412 |
9.7.4 Queries with high cluster overhead | p. 414 |
9.8 Sequences and index contention | p. 415 |
9.9 Undo block considerations | p. 416 |
9.10 Load-balancing | p. 416 |
9.10.1 Tracing the load metric capture | p. 419 |
9.11 Resource availability | p. 421 |
9.12 Response time | p. 423 |
9.13 Oracle Wait Interface | p. 423 |
9.13.1 Consistent read versus current | p. 425 |
9.13.2 gc cr/current block 2-way/3-way | p. 427 |
9.13.3 gc cr/current block congested | p. 429 |
9.13.4 gc remaster | p. 430 |
9.13.5 wait for master SCN | p. 430 |
9.13.6 gc cr/current request | p. 431 |
9.13.7 gc current/CR block busy | p. 432 |
9.13.8 gc current grant busy | p. 432 |
9.14 Server/database statistics | p. 432 |
9.14.1 Time model statistics | p. 434 |
9.15 Service-level metrics | p. 435 |
9.16 Identifying blockers across instances | p. 441 |
9.17 Identifying hot blocks | p. 442 |
9.18 Monitoring remastering | p. 443 |
9.19 Operating system tuning | p. 444 |
9.19.1 CPU utilization | p. 444 |
9.19.2 Memory utilization | p. 445 |
9.20 Automatic workload repository | p. 448 |
9.21 Automatic Database Diagnostic Monitor | p. 455 |
9.22 Active session history | p. 458 |
9.23 EM Grid Control | p. 460 |
9.23.1 Cluster latency/activity | p. 460 |
9.23.2 Topology view | p. 460 |
9.23.3 Spotlight on RAC | p. 461 |
9.24 Conclusion | p. 462 |
10 MAA and More | p. 463 |
10.1 Data Guard | p. 464 |
10.1.1 Data Guard architecture | p. 466 |
10.1.2 Workshops | p. 470 |
10.1.3 Failover | p. 488 |
10.1.4 FAN and TAF | p. 494 |
10.1.5 Adding instances | p. 494 |
10.2 Oracle Streams | p. 496 |
10.2.1 Architecture | p. 497 |
10.2.2 Capture | p. 497 |
10.2.3 Types of capture | p. 499 |
10.2.4 Activation of the capture process | p. 499 |
10.2.5 Staging (propagation) | p. 503 |
10.2.6 Consumption (apply) | p. 503 |
10.2.7 Activation of the apply process | p. 504 |
10.2.8 Streams configuration workshop | p. 505 |
10.3 Extended clusters | p. 517 |
10.3.1 Architecture | p. 518 |
10.3.2 Drawbacks | p. 519 |
10.4 Conclusion | p. 520 |
11 Best Practices | p. 521 |
11.1 Planning | p. 522 |
11.1.1 Understand RAC architecture | p. 522 |
11.1.2 Set your expectations appropriately | p. 523 |
11.1.3 Define your objectives | p. 525 |
11.1.4 Build a project plan | p. 527 |
11.2 Implementation | p. 529 |
11.2.1 Cluster installation/configuration | p. 532 |
11.2.2 Shared storage configuration | p. 533 |
11.2.3 Oracle Clusterware (CRS) installation/configuration | p. 534 |
11.2.4 Oracle RAC installation/configuration | p. 535 |
11.3 Database creation | p. 536 |
11.4 Application deployment | p. 539 |
11.5 Operations | p. 541 |
11.5.1 Production migration | p. 542 |
11.5.2 Backup and recovery | p. 543 |
11.5.3 Database monitoring and tuning | p. 543 |
11.6 Conclusion | p. 545 |
A References | p. 547 |
B Utilities and Scripts | p. 549 |
B.1 SRVCTL - Server Control | p. 549 |
B.2 Cluster ready service (CRS) utility | p. 555 |
B.3 ORADEBUG - Oracle Debugger | p. 557 |
B.4 Perl Script | p. 558 |
B.5 RMAN Scripts | p. 561 |
C Oracle Clustered File System | p. 563 |
C.1 OCFS 1.0 | p. 563 |
C.2 OCFS2 | p. 569 |
C.3 Conclusion | p. 579 |
D TAF and FCF using Java | p. 581 |
D.1 TAF example using Java | p. 581 |
E Migration(s) | p. 593 |
E.1 Oracle 9iR2 to 10gR2 RAC | p. 593 |
E.1.1 Current environment | p. 593 |
E.2 Data migration from OCFS to ASM | p. 615 |
E.3 Conclusion | p. 625 |
F Adding Additional Nodes to an Existing Oracle 10g R2 Cluster on Linux | p. 625 |
F.1 Current environment | p. 625 |
F.2 Conclusion | p. 647 |
Index | p. 649 |