About the Authors |
|
xvii | |
About the Technical Reviewers |
|
xix | |
Acknowledgments |
|
xxi | |
|
Chapter 1 Overview of Oracle RAC |
|
|
1 | (28) |
|
High Availability and Scalability |
|
|
1 | (1) |
|
What Is High Availability? |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
Database Clustering Architecture |
|
|
4 | (1) |
|
|
5 | (1) |
|
Hardware Requirements for RAC |
|
|
6 | (2) |
|
|
8 | (3) |
|
|
11 | (3) |
|
|
14 | (2) |
|
Achieving the Benefits of Oracle RAC |
|
|
16 | (1) |
|
High Availability Against Unplanned Downtime |
|
|
16 | (3) |
|
High Availability Against Planned Downtime |
|
|
19 | (2) |
|
Oracle RAC One Node to Achieve HA |
|
|
21 | (1) |
|
|
21 | (2) |
|
Consolidating Database Services with Oracle RAC |
|
|
23 | (2) |
|
Considerations for Deploying RAC |
|
|
25 | (1) |
|
|
25 | (1) |
|
High Availability Considerations |
|
|
26 | (1) |
|
Scalability Considerations |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
Chapter 2 Clusterware Stack Management and Troubleshooting |
|
|
29 | (40) |
|
Clusterware 12cR1 and Its Components |
|
|
30 | (1) |
|
Storage Components of Oracle Clusterware |
|
|
30 | (1) |
|
Clusterware Software Stack |
|
|
31 | (2) |
|
Clusterware Startup Sequence |
|
|
33 | (2) |
|
ASM and Clusterware: Which One is Started First? |
|
|
35 | (1) |
|
|
36 | (1) |
|
Clusterware Management Tools and Utilities |
|
|
36 | (1) |
|
Start Up and Stop Clusterware |
|
|
37 | (1) |
|
Managing Oracle Clusterware |
|
|
38 | (2) |
|
Managing OCR and the Voting Disk |
|
|
40 | (2) |
|
|
42 | (1) |
|
Adding and Removing Cluster Nodes |
|
|
43 | (2) |
|
Troubleshooting common Clusterware Stack Start-Up Failures |
|
|
45 | (4) |
|
Diagnose, Debug, Trace Clusterware and RAC Issues |
|
|
49 | (1) |
|
Debugging Clusterware Components and Resources |
|
|
50 | (2) |
|
Grid Infrastructure Component Directory Structure |
|
|
52 | (3) |
|
Oracle Clusterware Troubleshooting - Tools and Utilities |
|
|
55 | (5) |
|
|
60 | (7) |
|
|
67 | (2) |
|
Chapter 3 RAC Operational Practices |
|
|
69 | (28) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
71 | (2) |
|
|
73 | (2) |
|
|
75 | (1) |
|
Service in Second Network |
|
|
75 | (1) |
|
|
76 | (1) |
|
|
76 | (4) |
|
SCAN Listener in Second Network (12c) |
|
|
80 | (1) |
|
Guidelines for SCAN Listeners |
|
|
81 | (1) |
|
Global Database Services (12c) |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
82 | (2) |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
85 | (1) |
|
Application Continuity (12c) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
86 | (2) |
|
|
88 | (1) |
|
Performance Metrics Collection |
|
|
88 | (1) |
|
Parameter File Management |
|
|
88 | (1) |
|
|
89 | (1) |
|
Managing Databases and Instances |
|
|
90 | (2) |
|
|
92 | (1) |
|
|
93 | (1) |
|
|
93 | (1) |
|
|
94 | (1) |
|
|
94 | (1) |
|
|
94 | (1) |
|
|
95 | (2) |
|
Chapter 4 New Features in RAC 12c |
|
|
97 | (26) |
|
|
98 | (1) |
|
Oracle Flex Cluster Architecture |
|
|
98 | (1) |
|
Scalability and Availability of Flex Clusters |
|
|
99 | (2) |
|
Configuring Flex Clusters |
|
|
101 | (4) |
|
|
105 | (1) |
|
Oracle Flex ASM Architecture |
|
|
105 | (2) |
|
Flex ASM and Flex Clusters |
|
|
107 | (1) |
|
|
107 | (2) |
|
ASM Clients and Relocating |
|
|
109 | (1) |
|
|
109 | (1) |
|
Replacing ASM Disk in Disk Group |
|
|
110 | (1) |
|
Scrubbing ASM Disk Groups and Files |
|
|
110 | (1) |
|
Reading Data Evenly in ASM Disk Group |
|
|
110 | (1) |
|
Measure and Tune Rebalance Operation |
|
|
110 | (1) |
|
What-If Command Evaluation |
|
|
111 | (1) |
|
|
112 | (1) |
|
PDB Architecture Overview |
|
|
113 | (3) |
|
|
116 | (3) |
|
12cR1: Miscellaneous New Features for RAC |
|
|
119 | (1) |
|
Public Networks for RAC: IPv6 Support Added |
|
|
120 | (1) |
|
|
120 | (1) |
|
Online Resource Attribute Modification |
|
|
120 | (1) |
|
RAC 12cR1: Policy-Based Management and Administration |
|
|
120 | (1) |
|
ASM Disk Group: Shared ASM Password File |
|
|
120 | (1) |
|
Valid Node Checking: Restricting Service Registration |
|
|
120 | (1) |
|
|
121 | (1) |
|
RAC 12cR1: Restricting Service Registration |
|
|
121 | (1) |
|
Oracle ASM, ACFS, and ADVM: Improvements and New Features |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
121 | (1) |
|
Windows: Support for Oracle Home User |
|
|
121 | (1) |
|
OUI: Enhancements and Improvements |
|
|
121 | (1) |
|
12cR1: Installations/Upgrades---Running Scripts Automatically |
|
|
122 | (1) |
|
12cR1: Introducing Application Continuity |
|
|
122 | (1) |
|
Transaction Idempotence and Java Transaction Guard |
|
|
122 | (1) |
|
Deprecated and Desupported Features |
|
|
122 | (1) |
|
|
122 | (1) |
|
Chapter 5 Storage and ASM Practices |
|
|
123 | (42) |
|
Storage Architecture and Configuration for Oracle RAC |
|
|
124 | (1) |
|
Storage Architecture and I/O for RAC |
|
|
125 | (2) |
|
|
127 | (2) |
|
|
129 | (3) |
|
Multipath Device Configuration |
|
|
132 | (2) |
|
Set Ownership of the Devices |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
136 | (7) |
|
|
143 | (8) |
|
Manage ASM Using SQL Command and V$ASM Views |
|
|
151 | (1) |
|
Store OCR and Voting Disk in ASM |
|
|
151 | (1) |
|
Choose ASM for OCR and Voting Disk at GI Installation |
|
|
152 | (3) |
|
Move OCR and Voting Disk Files to a New ASM Diskgroup |
|
|
155 | (2) |
|
|
157 | (2) |
|
|
159 | (2) |
|
Create ACFS for Oracle RAC Home with ASMCA |
|
|
161 | (3) |
|
|
164 | (1) |
|
Chapter 6 Application Design Issues |
|
|
165 | (16) |
|
|
165 | (3) |
|
Excessive Truncate or DROP Statements |
|
|
168 | (1) |
|
|
169 | (3) |
|
|
172 | (1) |
|
|
173 | (1) |
|
Long Pending Transactions |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
176 | (1) |
|
Inefficient Execution Plan |
|
|
176 | (1) |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (1) |
|
Application Change Deployment |
|
|
178 | (1) |
|
|
179 | (2) |
|
Chapter 7 Managing and Optimizing a Complex RAC Environment |
|
|
181 | (36) |
|
Shared vs. Non-Shared Oracle Homes |
|
|
182 | (1) |
|
|
183 | (1) |
|
|
184 | (1) |
|
System-Defined Server Pools |
|
|
184 | (1) |
|
User-Defined Server Pools |
|
|
184 | (1) |
|
Creating and Managing Server Pools |
|
|
185 | (3) |
|
Planning and Designing RAC Databases |
|
|
188 | (1) |
|
|
188 | (3) |
|
|
191 | (2) |
|
Small- vs. Large-Scale Cluster Setups |
|
|
193 | (1) |
|
Split-Brain Scenarios and How to Avoid Them |
|
|
194 | (2) |
|
Understanding, Debugging, and Preventing Node Evictions |
|
|
196 | (1) |
|
Node Evictions---Synopsis and Overview |
|
|
196 | (3) |
|
Extended Distance (Stretch) Clusters---Synopsis, Overview, and Best Practices |
|
|
199 | (1) |
|
Extended Distance (Stretch) Clusters: Setup/Configuration Best Practices |
|
|
200 | (1) |
|
Setup and Configuration---Learning the New Way of Things |
|
|
201 | (1) |
|
|
201 | (3) |
|
Oracle Enterprise Manager Cloud Control 12c |
|
|
204 | (2) |
|
RAC Installation and Setup---Considerations and Tips for OS Families: Linux, Solaris, and Windows |
|
|
206 | (2) |
|
RAC Database Performance Tuning: A Quick `n' Easy Approach |
|
|
208 | (1) |
|
The 3 A's of Performance Tuning |
|
|
208 | (7) |
|
|
215 | (2) |
|
Chapter 8 Backup and Recovery in RAC |
|
|
217 | (26) |
|
|
217 | (1) |
|
|
218 | (1) |
|
Online Backup and Recovery Prerequisites |
|
|
219 | (2) |
|
|
221 | (1) |
|
Shared Location for Redo and Archive Logs |
|
|
221 | (1) |
|
Snapshot Control File Configuration |
|
|
222 | (1) |
|
Multiple Channels Configuration for RAC |
|
|
223 | (3) |
|
|
226 | (1) |
|
Instance/Crash Recovery in RAC |
|
|
226 | (4) |
|
|
230 | (3) |
|
Manage RMAN with OEM Cloud Control 12c |
|
|
233 | (6) |
|
|
239 | (2) |
|
|
241 | (2) |
|
Chapter 9 Network Practices |
|
|
243 | (42) |
|
|
243 | (1) |
|
|
244 | (2) |
|
|
246 | (4) |
|
|
250 | (1) |
|
|
250 | (2) |
|
|
252 | (2) |
|
|
254 | (5) |
|
Load Balancing and Failover |
|
|
259 | (2) |
|
|
261 | (1) |
|
Network Measurement Tools |
|
|
262 | (4) |
|
|
266 | (2) |
|
Configuring Network for Oracle RAC and Clusterware |
|
|
268 | (3) |
|
Establishing IP Address and Name Resolution |
|
|
271 | (3) |
|
Network Specification in Grid Infrastructure Installation |
|
|
274 | (3) |
|
Network Configuration in Clusterware |
|
|
277 | (6) |
|
|
283 | (1) |
|
|
284 | (1) |
|
|
284 | (1) |
|
Chapter 10 RAC Database Optimization |
|
|
285 | (36) |
|
Introduction to Cache Fusion |
|
|
285 | (1) |
|
|
286 | (2) |
|
|
288 | (1) |
|
|
288 | (4) |
|
|
292 | (1) |
|
Analysis of the Receiving Side |
|
|
292 | (7) |
|
|
299 | (1) |
|
GC Current Block 2-Way/3-Way |
|
|
299 | (2) |
|
|
301 | (1) |
|
GC CR Grant 2-Way/GC Current Grant 2-Way |
|
|
302 | (1) |
|
GC CR Block Busy/GC Current Block Busy |
|
|
302 | (1) |
|
GC CR Block Congested/GC Current Block Congested |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
303 | (3) |
|
|
306 | (1) |
|
|
307 | (1) |
|
|
308 | (1) |
|
GC Buffer Busy Acquire/Release |
|
|
308 | (2) |
|
|
310 | (1) |
|
|
311 | (2) |
|
|
313 | (1) |
|
Overview of DRM Processing |
|
|
314 | (2) |
|
|
316 | (1) |
|
|
316 | (1) |
|
|
317 | (1) |
|
|
317 | (1) |
|
|
317 | (1) |
|
|
318 | (1) |
|
|
318 | (1) |
|
|
319 | (1) |
|
|
320 | (1) |
|
Chapter 11 Locks and Deadlocks |
|
|
321 | (32) |
|
|
321 | (2) |
|
|
323 | (2) |
|
|
325 | (2) |
|
|
327 | (1) |
|
|
327 | (1) |
|
Pluggable Databases (12c) |
|
|
328 | (1) |
|
Troubleshooting Locking Contention |
|
|
328 | (3) |
|
|
331 | (1) |
|
|
331 | (3) |
|
|
334 | (1) |
|
|
335 | (1) |
|
|
336 | (1) |
|
|
337 | (3) |
|
|
340 | (2) |
|
|
342 | (1) |
|
|
342 | (2) |
|
Troubleshooting Library Cache Lock Contention |
|
|
344 | (2) |
|
|
346 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
348 | (1) |
|
|
349 | (3) |
|
|
352 | (1) |
|
Chapter 12 Parallel Query in RAC |
|
|
353 | (28) |
|
|
353 | (4) |
|
|
357 | (1) |
|
|
358 | (3) |
|
|
361 | (2) |
|
|
363 | (1) |
|
|
364 | (1) |
|
Parallelism Features and RAC |
|
|
364 | (11) |
|
|
375 | (1) |
|
|
376 | (1) |
|
|
377 | (1) |
|
Concurrent Union Processing (12c) |
|
|
378 | (1) |
|
|
379 | (1) |
|
|
380 | (1) |
|
Chapter 13 Clusterware and Database Upgrades |
|
|
381 | (30) |
|
|
381 | (2) |
|
|
383 | (2) |
|
Initiating an Oracle Clusterware Upgrade |
|
|
385 | (11) |
|
The Importance of the Rootupgrade.sh Script |
|
|
396 | (2) |
|
|
398 | (1) |
|
|
399 | (3) |
|
|
402 | (1) |
|
Deploying Manual Database Upgrade |
|
|
403 | (2) |
|
Post-Database Upgrade Steps |
|
|
405 | (1) |
|
Database Upgrade Using the DBUA |
|
|
406 | (3) |
|
|
409 | (1) |
|
|
409 | (1) |
|
|
410 | (1) |
|
|
411 | (20) |
|
|
411 | (1) |
|
Upgrading to 11.2.0.2 or Higher |
|
|
412 | (1) |
|
Deploying RAC One Node Binaries |
|
|
412 | (3) |
|
Deploying a RAC One Node Database |
|
|
415 | (1) |
|
|
415 | (1) |
|
Initiating DBCA's Creation Process |
|
|
416 | (2) |
|
Parameters Specific to RAC One Node |
|
|
418 | (1) |
|
Managing RAC One Node Database |
|
|
419 | (1) |
|
Verifying Configuration Details |
|
|
419 | (1) |
|
Verifying the Online Relocation Status |
|
|
420 | (1) |
|
Stop and Start the Database |
|
|
420 | (1) |
|
Performing Online Database Relocation |
|
|
420 | (3) |
|
Handling Unplanned Node and Cluster Reboots |
|
|
423 | (1) |
|
Converting Between RAC One Node and Standard RAC |
|
|
423 | (1) |
|
Scaling Up to Standard RAC |
|
|
424 | (1) |
|
Scaling Down to RAC One Node |
|
|
425 | (1) |
|
Managing RAC One Node with Cloud Control 12c |
|
|
425 | (1) |
|
Database Relocation with Cloud Control 12c |
|
|
425 | (3) |
|
Third-Party Cold Failover vs. RAC One Node |
|
|
428 | (1) |
|
|
429 | (2) |
Index |
|
431 | |