For a change I will review a book. The book is from Oracle Press. High Availability with RAC, Flashback and Data Guard. Matthew Hart and Scott Jesse.
Book outline
1. Illustrated Downtime Scenarios
This chapter is an introductory overview of what can go wrong. Unfortunately, this chapter is a little light and not complete. It is a good introduction and quick read.
2. RDBMS features for availability
This chapter introduces us to Enterprise Manager (EM). It is mostly screen shots of the EM that comes with a database. It does describe the differences between spfile and init.ora very well. The chapter then goes on and describes different types of partitioning. “Table and index partitioning refers to the ability within Oracle to organize a single table of data into multiple logical parts that can be maintained and treated independently”. “Partitioning is usually a maintenance-to-performance trade-off: maintaining partitions require more DBA footwork, but typically provides better performance”. “There are three distinct types of partitions for tables: range, hash, and list”. “The range partition divvies up data into segments that are separated by ranges of values, such as dates”. “List partitioning occurs by grouping specific values to be placed in each partition. Thus you can group data logically that does not have a natural range grouping, and control which partition is used”. Hash partitioning splits the table based on a hash value of the data.
You can also lay out a database for availability. Some key elements to make this happen are: index-organized tables and materialized views. The chapter does have good code samples to show you how to implement these. It also goes into how to modify an existing table for performance and availability.
The rest of the chapter appears to be a catch all for availability. Yes, it is important to talk about the scheduler and the resource manager because things can run away and you need to know how to stop this. I’m not sure why logminer is included in this chapter other than it works with redo logs which helps with recovery. The chapter does have a good logminer tutorial using SQL commands. The same is true for the section on transportable tablespaces.
3. Tuning your database for availability
This chapter mainly focuses on 10g new features. Some of the key elements are MMON, AWR (Automatic workload repository), and ADDM (automatic database diagnostic monitor). The first half of the chapter does a good job of introducing these concepts and examples of how to look at these elements. Next the chapter goes on to talk about SQL Tuning advisor, memory advisor, and ASMM (advanced shared memory management). Finally the chapter ends up talking about ASM (automatic storage management). All of these discussions are good introductory material that introduces concepts, command lines, and reasons why you would use each feature.
4. RAC Setup and configuration
This chapter starts out talking about cluster ready services. This is a good introduction to how RAC works. I like the configuration recommendations but the book makes assumptions that the target is a Linux/Unix system and does not point out how it would be different on other operating systems. Overall, this is a good introduction to RAC installation. It touches the base concepts and goes through a typical install.
5. Database administration in a RAC environment
This chapter describes some of the RAC specific parameters that are unique to a RAC environment. It also goes into a good description of RAC background processes and what each does. The tutorial goes through and shows how to enable archiving and flashback. The chapter ends up with a description of how to add or remove nodes in a RAC installation.
6. Utility Computing: Application as Services
7. Oracle Data Guard: Surviving the disaster
8. Backup and recovery for high-availability
9. Oracle Flashback: surviving user-induced trauma
10. Oracle streams for high availability
11. Oracle net configuration for failover