22
Expert Oracle RAC 12c Syed Jaffar Hussain Tariq Farooq Riyaj Shamsudeen Kai Yu

Expert Oracle RAC 12c - Springer978-1-4302-5045-6/1.pdf · Oracle RAC: Cache Fusion ... 11 RAC Background Processes

Embed Size (px)

Citation preview

  • Expert Oracle RAC 12c

    Syed Jaffar Hussain

    Tariq Farooq

    Riyaj Shamsudeen

    Kai Yu

  • Expert Oracle RAC 12c

    Copyright 2013 by Syed Jaffar Hussain, Tariq Farooq, Riyaj Shamsudeen, and Kai Yu

    This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publishers location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law.

    ISBN-13 (pbk): 978-1-4302-5044-9

    ISBN-13 (electronic): 978-1-4302-5045-6

    Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

    The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.

    While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.

    President and Publisher: Paul ManningAcquisitions Editor: Jonathan GennickDevelopmental Editor: Tom WelshTechnical Reviewers: Arup Nanda and Sandesh RaoEditorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Louise Corrigan, Morgan Ertel,

    Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham, Matthew Moodie, Jeff Olson, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Gwenan Spearing, Matt Wade, Steve Weiss, Tom Welsh

    Coordinating Editor: Katie SullivanCopy Editor: Brendan FrostCompositor: SPi GlobalIndexer: SPi GlobalArtist: SPi GlobalCover Designer: Anna Ishchenko

    Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.

    For information on translations, please e-mail [email protected], or visit www.apress.com.

    Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk SaleseBook Licensing web page at www.apress.com/bulk-sales.

    Any source code or other supplementary materials referenced by the author in this text is available to readers at www.apress.com/9781430250449. For detailed information about how to locate your books source code, go to www.apress.com/source-code.

    [email protected]@apress.comwww.apress.comwww.apress.com/bulk-saleswww.apress.comwww.apress.com/source-code/

  • iii

    Contents at a Glance

    About the Authors xvii

    About the Technical Reviewers xix

    Acknowledgments xxi

    Chapter 1: Overview of Oracle RAC 1

    Chapter 2: Clusterware Stack Management and Troubleshooting 29

    Chapter 3: RAC Operational Practices 69

    Chapter 4: New Features in RAC 12c 97

    Chapter 5: Storage and ASM Practices 123

    Chapter 6: Application Design Issues 165

    Chapter 7: Managing and Optimizing a Complex RAC Environment 181

    Chapter 8: Backup and Recovery in RAC 217

    Chapter 9: Network Practices 243

    Chapter 10: RAC Database Optimization 285

    Chapter 11: Locks and Deadlocks 321

    Chapter 12: Parallel Query in RAC 353

    Chapter 13: Clusterware and Database Upgrades 381

    Chapter 14: RAC One Node 411

    Index 431

  • v

    Contents

    About the Authors xvii

    About the Technical Reviewers xix

    Acknowledgments xxi

    Chapter 1: Overview of Oracle RAC 1

    High Availability and Scalability 1

    What Is High Availability? 2

    Database Scalability 3

    Oracle RAC 4

    Database Clustering Architecture 4

    RAC Architecture 5

    Hardware Requirements for RAC 6

    RAC Components 8

    Oracle RAC: Cache Fusion 11

    RAC Background Processes 14

    Achieving the Benefits of Oracle RAC 16

    High AvailabilityAgainst Unplanned Downtime 16

    High Availability Against Planned Downtime 19

    Oracle RAC One Node to Achieve HA 21

    RAC Scalability 21

    Consolidating Database Services with Oracle RAC 23

    Considerations for Deploying RAC 25

    Cost of Ownership 25

    High Availability Considerations 26

  • Contents

    vi

    Scalability Considerations 26

    RAC or Not 27

    Summary 28

    Chapter 2: Clusterware Stack Management and Troubleshooting 29

    Clusterware 12cR1 and Its Components 30

    Storage Components of Oracle Clusterware 30

    Clusterware Software Stack 31

    Clusterware Startup Sequence 33

    ASM and Clusterware: Which One is Started First? 35

    Clusterware Management 36

    Clusterware Management Tools and Utilities 36

    Start Up and Stop Clusterware 37

    Managing Oracle Clusterware 38

    Managing OCR and the Voting Disk 40

    Managing CRS Resources 42

    Adding and Removing Cluster Nodes 43

    Troubleshooting common Clusterware Stack Start-Up Failures 45

    Diagnose, Debug, Trace Clusterware and RAC Issues 49

    Debugging Clusterware Components and Resources 50

    Grid Infrastructure Component Directory Structure 52

    Oracle Clusterware Troubleshooting - Tools and Utilities 55

    CHM 60

    Summary 67

    Chapter 3: RAC Operational Practices 69

    Workload Management 69

    Services70

    Service Metrics 71

    Load Balancing Goals 73

    Runtime Failover 75

    Service in Second Network 75

    Guidelines for Services 76

  • Contents

    vii

    SCAN and SCAN Listeners 76

    SCAN Listener in Second Network (12c) 80

    Guidelines for SCAN Listeners 81

    Global Database Services (12c) 81

    Failover in RAC 82

    TAF 82

    Fast Connection Failover 84

    WebLogic Active GridLink 84

    Transaction Guard (12c) 85

    Application Continuity (12c) 85

    Policy-Managed Databases 86

    Temporary Tablespaces 86

    Massive Data Changes 88

    Performance Metrics Collection 88

    Parameter File Management 88

    Password File Management 89

    Managing Databases and Instances 90

    Managing VIPs, Listeners 92

    Miscellaneous Topics 93

    Process Priority 93

    Memory Starvation 94

    SGA size 94

    Filesystem Caching 94

    Summary 95

    Chapter 4: New Features in RAC 12c 97

    Oracle Flex Clusters 98

    Oracle Flex Cluster Architecture 98

    Scalability and Availability of Flex Clusters 99

    Configuring Flex Clusters 101

  • Contents

    viii

    Flex ASM Architecture 105

    Oracle Flex ASM Architecture 105

    Flex ASM and Flex Clusters 107

    Configuring Flex ASM 107

    ASM Clients and Relocating 109

    New ASM Storage Limits 109

    Replacing ASM Disk in Disk Group 110

    Scrubbing ASM Disk Groups and Files 110

    Reading Data Evenly in ASM Disk Group 110

    Measure and Tune Rebalance Operation 110

    What-If Command Evaluation 111

    PDBs on Oracle RAC 112

    PDB Architecture Overview 113

    PDBs on Oracle RAC 116

    12cR1: Miscellaneous New Features for RAC 119

    Public Networks for RAC: IPv6 Support Added 120

    Global Data Services 120

    Online Resource Attribute Modification 120

    RAC 12cR1: Policy-Based Management and Administration 120

    ASM Disk Group: Shared ASM Password File 120

    Valid Node Checking: Restricting Service Registration 120

    12cR1: Shared GNS 121

    RAC 12cR1: Restricting Service Registration 121

    Oracle ASM, ACFS, and ADVM: Improvements and New Features 121

    NFS High Availability 121

    12cR1: CHM Enhancements 121

    Windows: Support for Oracle Home User 121

    OUI: Enhancements and Improvements 121

    12cR1: Installations/UpgradesRunning Scripts Automatically 122

    12cR1: Introducing Application Continuity 122

    Transaction Idempotence and Java Transaction Guard 122

  • Contents

    ix

    Deprecated and Desupported Features 122

    Summary 122

    Chapter 5: Storage and ASM Practices 123

    Storage Architecture and Configuration for Oracle RAC 124

    Storage Architecture and I/O for RAC 125

    RAID Configuration 127

    Storage Protocols 129

    Multipath Device Configuration 132

    Set Ownership of the Devices 134

    ASM 135

    ASM Instance 136

    ASM Storage Structure 143

    Manage ASM Using SQL Command and V$ASM Views 151

    Store OCR and Voting Disk in ASM 151

    Choose ASM for OCR and Voting Disk at GI Installation 152

    Move OCR and Voting Disk Files to a New ASM Diskgroup 155

    ACFS 157

    Create ACFS 159

    Create ACFS for Oracle RAC Home with ASMCA 161

    Summary 164

    Chapter 6: Application Design Issues 165

    Localized Inserts 165

    Excessive TRUNCATE or DROP Statements 168

    Sequence Cache 169

    Freelists and ASSM 172

    Excessive Commits 173

    Long Pending Transactions 174

    Localized Access 174

    Small Table Updates 175

  • Contents

    x

    Index Design 176

    Inefficient Execution Plan 176

    Excessive Parallel Scans 177

    Full Table Scans 177

    Application Affinity 178

    Pipes178

    Application Change Deployment 178

    Summary 179

    Chapter 7: Managing and Optimizing a Complex RAC Environment 181

    Shared vs Non-Shared Oracle Homes 182

    Server Pools 183

    Types of Server Pools 184

    System-Defined Server Pools 184

    User-Defined Server Pools 184

    Creating and Managing Server Pools 185

    Planning and Designing RAC Databases 188

    Policy-Managed Databases 188

    Instance Caging 191

    Small- vs Large-Scale Cluster Setups 193

    Split-Brain Scenarios and How to Avoid Them 194

    Understanding, Debugging, and Preventing Node Evictions 196

    Node EvictionsSynopsis and Overview 196

    Extended Distance (Stretch) ClustersSynopsis, Overview, and Best Practices 199

    Extended Distance (Stretch) Clusters: Setup/Configuration Best Practices 200

    Setup and ConfigurationLearning the New Way of Things 201

    OUI 201

    Oracle Enterprise Manager Cloud Control 12c 204

    RAC Installation and SetupConsiderations and Tips for OS Families: Linux, Solaris, and Windows 206

  • Contents

    xi

    RAC Database Performance Tuning: A Quick n Easy Approach 208

    The 3 As of Performance Tuning 208

    Summary 215

    Chapter 8: Backup and Recovery in RAC 217

    RMAN Synopsis 217

    Media Management Layer 218

    Online Backup and Recovery Prerequisites 219

    Non-RAC vs RAC Database 221

    Shared Location for Redo and Archive Logs 221

    Snapshot Control File Configuration 222

    Multiple Channels Configuration for RAC 223

    Parallelism in RAC 226

    Instance/Crash Recovery in RAC 226

    Real-World Examples 230

    Manage RMAN with OEM Cloud Control 12c 233

    OCR recovery 239

    Summary 241

    Chapter 9: Network Practices 243

    Types of Network 243

    Network Layers 244

    Protocols 246

    VIPs 250

    Subnetting 250

    Cluster Interconnect 252

    Jumbo Frames 254

    Load Balancing and Failover 259

    Kernel Parameters261

    Network Measurement Tools 262

    GC Lost Block Issue 266

  • Contents

    xii

    Configuring Network for Oracle RAC and Clusterware 268

    Establishing IP Address and Name Resolution 271

    Network Specification in Grid Infrastructure Installation 274

    Network Configuration in Clusterware 277

    Network Failover 283

    Second Network 284

    Summary 284

    Chapter 10: RAC Database Optimization 285

    Introduction to Cache Fusion285

    Cache Fusion Processing 286

    GRD 288

    BL Resources and Locks 288

    Performance Analysis 292

    Analysis of the Receiving Side 292

    RAC Wait Events 299

    GC Current Block 2-Way/3-Way 299

    GC CR Block 2-Way/3-Way 301

    GC CR Grant 2-Way/Gc Current Grant 2-Way 302

    GC CR Block Busy/GC Current Block Busy 302

    GC CR Block Congested/GC Current Block Congested 302

    Placeholder Wait Events 303

    Sending-Side Analysis 303

    Block Types Served 306

    GCS Log Flush Sync 307

    Defending LMS Process 308

    GC Buffer Busy Acquire/Release 308

    Unique Indexes 310

    Table Blocks 311

    DRM 313

  • Contents

    xiii

    Overview of DRM Processing 314

    DRM Stages 316

    GRD Freeze 316

    Parameters 317

    Changes in 12c 317

    DRM and Undo 317

    Troubleshooting DRM 318

    AWR Reports and ADDM 318

    ASH Reports 319

    Summary 320

    Chapter 11: Locks and Deadlocks 321

    Resources and Locks 321

    SGA Memory Allocation 323

    Resource Types 325

    Lock Modes 327

    Lock-Related Views 327

    Pluggable Databases (12c) 328

    Troubleshooting Locking Contention 328

    Enqueue Contention 331

    TX Enqueue Contention 331

    TM Enqueue Contention 334

    HW Enqueue Contention 335

    DFS Lock Handle 336

    SV Resources 337

    CI Resources 340

    DFS Lock Handle Summary 342

    Library Cache Locks/Pins 342

    Troubleshooting Library Cache Lock Contention 344

    Enqueue Statistics 346

    v$wait_chains 346

  • Contents

    xiv

    Hanganalyze 347

    Deadlocks 348

    LMD Trace File Analysis 349

    Summary 352

    Chapter 12: Parallel Query in RAC 353

    Overview 353

    PX Execution in RAC 357

    Placement of PX Servers 358

    Measuring PX Traffic 361

    PX and Cache Fusion 363

    PEMS 364

    Parallelism Features and RAC 364

    Debugging PX Execution 375

    Index Creation in RAC 376

    Parallel DML in RAC 377

    Concurrent Union Processing (12c) 378

    Partition-Wise Join 379

    Summary 380

    Chapter 13: Clusterware and Database Upgrades 381

    Configuration 381

    Pre-Upgrade Checklist 383

    Initiating an Oracle Clusterware Upgrade 385

    The Importance of the Rootupgradesh Script 396

    Post-Upgrade Tasks398

    Clusterware Downgrade 399

    Database Upgrade 402

    Deploying Manual Database Upgrade 403

    Post-Database Upgrade Steps 405

    Database Upgrade Using the DBUA 406

  • Contents

    xv

    DBUA Advantages 409

    Database Downgrade 409

    Summary 410

    Chapter 14: RAC One Node 411

    The Big Picture 411

    Upgrading to 11202 or Higher 412

    Deploying RAC One Node Binaries 412

    Deploying a RAC One Node Database 415

    Satisfying Prerequisites 415

    Initiating DBCAs Creation Process 416

    Parameters Specific to RAC One Node 418

    Managing RAC One Node Database 419

    Verifying Configuration Details 419

    Verifying the Online Relocation Status 420

    Stop and Start the Database 420

    Performing Online Database Relocation 420

    Handling Unplanned Node and Cluster Reboots 423

    Converting Between RAC One Node and Standard RAC 423

    Scaling Up to Standard RAC 424

    Scaling Down to RAC One Node 425

    Managing RAC One Node with Cloud Control 12c 425

    Database Relocation with Cloud Control 12c 425

    Third-Party Cold Failover vs RAC One Node 428

    Summary 429

    Index 431

  • xvii

    About the Authors

    Syed Jaffar Hussain has over 20 years of I.T. experience that includes more than 14 years of production Oracle database administration. Oracle has honored him with the prestigious Oracle ACE Director role and named him DBA of the Year for 2011, both for his excellent knowledge and for contributions to the Oracle community. He is an Oracle Certified Master (OCM) for Oracle Database 10ga status granted only after passing extensive challenges in a hands-on environment. He is also an Oracle Database 10g RAC Certified Expert. Syed Jaffar is coauthor of Oracle 11g R1/R2 Real Application Clusters Essentials (Packt Publishing, 2011), and he blogs regularly at http://jaffardba.blogspot.com. He is a frequent speaker, has presented at various Oracle conferences, including Oracle OpenWorld, and has delivered many technical Oracle-oriented webinars. Also, he actively participates in most of the social networking sites: you can follow him on twitter/facebook/linkedin on sjaffarhussain id, and he can be reached at [email protected].

    Tariq Farooq is an Oracle technologist/architect/problem-solver and has been working with various Oracle technologies for 20+ years in very complex environments at some of the worlds largest organizations. He is the founding President of the IOUG Virtualization & Cloud Computing Special Interest Group. He is an active community leader/organizer, speaker, author, forum contributor, and blogger. He is the founder of www.BrainSurface.com, a social networking & IT collaboration site with thousands of signed-up users from the various Oracle communities. Tariq founded, organized, and chaired various conferences, including VirtaThon, the largest online-only conference for the various Oracle domains; the CloudaThon & RACaThon series of conferences; and the first-ever Oracle-centric conference at the Massachusetts Institute of Technology (MIT) in 2011. He was the founder and anchor/show host of the VirtaThon Internet Radio series program. Tariq is an Oracle RAC Certified Expert, holds a total of 14 professional Oracle certifications, and is the author of 100+ articles, whitepapers,

    and other publications. Tariq has presented and spoken at almost every major Oracle conference/event all over the world, including Oracle OpenWorld, COLLABORATE, BrainSurface, VirtaThon, IOUG, OOUG, OUGLC, TCOUG, UKOUG, The OTNExpert+ Conference, and others. Tariq has been awarded the Oracle ACE and ACE Director awards from 2010 to 2013.

    http://jaffardba.blogspot.comsjaffarhussain@gmail.comwww.BrainSurface.com

  • About the Authors

    xviii

    Riyaj Shamsudeen is an industry-recognized RAC expert, database internals specialist, and performance tuning specialist with 20 years of experience in implementing, using, and tuning RAC and Oracle products. He is an Oracle ACE Director and proud member of the OakTable network. Riyaj has coauthored four books about Oracle Database and performance. He is an active blogger (at http://orainternals.wordpress.com), President of OraInternals, and frequent international speaker in major conferences such as UKOUG, HOTSOS, OpenWorld, and RMOUG. Social: www.linkedin.com/in/riyajshamsudeen; @riyajshamsudeen.

    Kai Yu is a Senior Principal Engineer and technologist in Dells Oracle Solutions Engineering Lab specializing in Oracle RAC, Oracle Virtualization, and Cloud. With 18+ years of experience working on Oracle technology, he has implemented and managed many large, mission-critical Oracle RAC databases, including those in his tenure with an IT organization having more than 2,000 RAC databases. Kai is a well-known author of technical articles and a frequent international speaker at Oracle conferences in 16 countries such as OpenWorld, Collaborate, UKOUG, EMEA OUG Harmony, Norway OUG, OTN Asia/Pacific tour, and Latin America tours. He has also keynoted at Oracle Architect Day.

    Kai has served IOUGs Oracle RAC SIG as president, and in two chair positions. He has served the IOUG collaborate conference committee, as well as managing IOUGs RAC boot camp, HA boot camp, and Enterprise Manager 12c deep dive. He was awarded the Oracle ACE Director title in 2010, given the Oracle ACE Spotlight in 2011 by Oracle Technology Network (OTN), and named the 2011 OAUG Innovator of Year Award by the Oracle Applications User Group (OAUG). In 2012,

    Oracle Magazine awarded him the Oracle Excellence Award: Technologist of the Year: Cloud Architect. Kai has been active in sharing his Oracle knowledge on his Oracle blog at http://kyuoracleblog.wordpress.com/.

    http://orainternals.wordpress.comwww.linkedin.com/in/riyajshamsudeen@riyajshamsudeenhttp://kyuoracleblog.wordpress.com/

  • xix

    About the Technical Reviewers

    Arup Nanda (Email: [email protected]; Twitter: @arupnanda; LinkedIn: linkedin.com/in/arupnanda/) has been an Oracle DBA for the last 18 years, spanning all aspects of the job from modeling to performance tuning. He specializes in RAC, Exadata, and High Availability solutions. He has authored four books on Oracle technology, written 500+ published articles, and presented almost 300 training sessions in 22 countries. He is an Oracle Certified Professional, Oracle ACE Director, member of the OakTable Network, member of the Board of Directors of Exadata SIG, and member of the Editorial Board for SELECT Journal (the IOUG publication). Acknowledging his accomplishments and community involvement, Oracle awarded him DBA of the Year in 2003 and Enterprise Architect of the Year in 2012. He blogs at http://arup.blogspot.com.

    Sandesh Rao is a Senior Director running the RAC Assurance Team within RAC Development at Oracle Corporation specializing in performance tuning, high availability, disaster recovery, and architecting cloud-based solutions using the Oracle Stack. With more than 14 years of experience working in the HA space and having worked on several versions of Oracle with different application stacks, he is a recognized expert in RAC, database internals, and solving big datarelated problems. Most of his work involves working with customers in the implementation of projects in financial, retailing, scientific, insurance, biotech, and the tech space. His current position involves running a team that develops best practices for the Oracle Grid Infrastructure 12c including products like RAC (Real Application Clusters) and Storage (ASM, ACFS). You can find more details about him and his work at www.linkedin.com/pub/sandesh-rao/2/956/1b7.

    http://[email protected]"//@arupnandahttp://linkedin.com/in/arupnanda/http://arup.blogspot.comwww.linkedin.com/pub/sandesh-rao/2/956/1b7

  • xxi

    Acknowledgments

    I would like to dedicate this book to my parents (Mrs. and Mr. Saifulla), my wife Ayesha, my three little champs (Ashfaq, Arfan, and Aahil), and the entire Oracle community.

    First and foremost, I would like to thank the Almighty for everything and giving me such a wonderful life. Also, my parents for teaching me all the good things in my life and making me what I am today. I owe a very big thank-you to my wife and kids for sacrificing their family time and letting me concentrate on this assignment, and encouraging me all through this phase. Beyond a doubt, this project wouldnt have been possible without the tremendous moral support and encouragement from my wife, friends, and colleagues. Thank you everyone once again.

    I would like to take this opportunity to thank my management (Khalid Al-Qathany, Hussain Mobarak AlKalifah, and Majed Saleh AlShuaibi), my dearest friends (Khusro Khan, Mohammed Farooqui, Naresh Kumar, Shaukat Ali, Ahmed, Mohammed Abdul Kaleem, Mohammed Arifuddin Ghori, Haris Afsar Ahmed, Sachin, Ibrahim Ali, Chand Basha, Mohammed Anees, Asgar Ali, Gaffar Baig, Hakeem, Mohsin), my fellow colleagues, well-wishers, supporters, nears and dears for their immense support and constant encouragement.

    I am also very thankful from the bottom of my heart to the official technical reviewers (Sandesh Rao and Arup Nanda) for taking some time out from their busy schedule to review our book and for providing their valuable inputs. I cant conclude the list without mentioning the efforts by the official members of Apress, who put everything into this project. This is for every individual who was involved on this project on behalf of Apress: You people just rock and have been of great help to us during the book-writing journey; looking forward to working with the team in future; thank you everyone. A very special thanks to Jonathan Gennick for having confidence in us and giving us the opportunity to write for Apress Publications.

    I would like to extend my sincere thanks to my unofficial technical reviewers, in no particular order, Jeff Smith, Bernhard de Cock Buning, Asad Khan, Yury Veli Kanov, Khusro Khan, Shautkat, Aman Sharma, and Inam Ullah Bukhary, who helped me a lot, in terms of reviewing my part of chapters, providing their inputs, plus correcting my grammar.

    I would like to conclude this by thanking my fellow coauthors, Riyaj Shamsudeen, Kai Yu, and Tariq Farooq, for the immense contribution, dedication, and hard work that they have displayed over the past year on this book. The book wouldnt have been feasible without your help/support/assistance/contribution. I really enjoyed working with you guys and am looking forward to other opportunities to work with you again in the coming times.

    Syed Jaffar Hussian

    I would like to take this opportunity to express my endless gratitude and thanks to the Almighty, my parents (Mr. and Mrs. Abdullah Farooq), my wife (Ambreen), especially my kids (Sumaiya, Hafsa, Fatima, and Muhammad-Talha), and everyone else around me, both at home and at work, for continuing to stand behind me while I spent the better part of a year working on this project.

    Authoring a book is a painstakingly lengthy and laborious process; this project would not have been possible without the help and guidance of the Apress team: many, many appreciative thanks to them and the book review team, particularly Jonathan Gennick. And finally, kudos and thanks to my awesome friends and coauthors (Syed, Kai, and Riyaj) for the amazing team effort and making this book happen.

    Tariq Farooq

  • xxii

    ACknowledgments

    I dedicate this book to you, the readers of the book. I thank my familymy wife Nisha and kids Shibi, Irfan, and Imranfor their great support and encouragement. Especially, I should thank my youngest son, Imran, for his understanding while Dad is busy writing the book (as he fondly quotes the book in the air!). My sincere thanks to Apress staff.

    Many thanks to my current and past clients (you know who you are; I am thanking you without naming you) for giving me an opportunity to probe complex issues and learn so much more about RAC; Oracle-L listers and peers for asking me thought-provoking questions; and OakTable members for helping me to go to the next level when I am stuck on issues. My sincere thanks to the ContentConcepts guys (http://contentconcepts.in) for the preliminary editing of my chapters.

    Riyaj Shamsudeen

    I want to thank all the people who have assisted this book, especially the Apress team of Acquisitions Editor Jonathan Gennick, Developmental Editor Tom Welsh, and Copy Editor Brendan Frost for their efforts, patience, and skills in transforming the technical writing into a finished book. I definitely would like to thank the technical reviewers, Arup Nanda and Sandesh Rao, for their time and effort in checking the technical content of the entire book as well as providing their very valuable comments and advice for improving the quality of this book.

    I would like to dedicate this book to my parents, who encouraged me to pursue my education and career in computer technology. I would like to thank my wife Jin and my daughter Jessica for their consistent support and providing me the time to work on this book at night and on weekends.

    I would like to thank my management at DellDavid Mar, Ibrahim Fashho, Dr. Reza Rooholaminifor their long-time support and encouragement and my colleagues in the Dell Oracle Solution Engineering team for their assistance and many great discussions on Oracle RAC, Red Hat Linux, and Oracle Linux and storage. I also want to specially thank my mentors in Oracle who really inspired me to work with the Oracle community: Dr. Nadia Bendjedou, a senior director from Oracle, and Erik Peterson, General Manager of Oracle Mexico Development Center. Last but certainly not least I would like to thank my coauthors Syed, Tariq, and Riyaj for the amazing teamwork. In particular, I want to thank Syed for his great leadership on the team and his confidence and encouragement.

    Kai Yu

    Contents at a GlanceContentsAbout the AuthorsAbout the Technical ReviewersAcknowledgments