« Find a Road and Stick With It | Main | Create Databases Using a Seed »

Reduce ASM Configuration Complexity

By Eric Gross | May 23, 2007

Each single point of failure is an enemy to resiliency. The greater the number of single points of failure the greater chance that any one of them will cause a loss of service.

You could draw the logical conclusion from the above that any project that squashes a single point of failure would be a good idea (at least in theory). But this is not the case; complexity is also the enemy of availability.

RAID provides a good example - obviously a single disk would be a simpler configuration then a array of disks but since that single disk would be a single point of failure, the additional complexity is a necessary requirement to high availability. When designing your storage architecture you could decide to segment the data by usage profile and store each type of stuff on a separate group of disks with performance characteristics that match the usage profile. Alternatively you could follow the SAME approach (Stripe And Mirror Everywhere) and not add unnecessary worries to your life. This simpler approach may cost you some % in terms of performance but it will pay dividends for the life of the system because the simpler system will be more resilient to all sorts of errors - especially human error.

Complexity can be actual, as in the above example, or it could be obfuscated as in the following example. When using the Oracle DBMS server it is possible to have a bunch of instances running on the same host. Assuming all the databases depend on ASM, you’ll also need an ASM instance running on the host. Choosing an arbitrary Oracle Home to run the ASM instance out of is a bad call because now you have a “special” home. This means that you’ll need to document every procedure for the standard case as well as the special case. As the number of special cases grows (perhaps listeners are only running out of certain homes, providing services to various databases [some in the same home, some not]), management becomes more difficult. Keep your life simple by creating a home you use for the ASM instance and any other “node-level” constructs. Now you won’t loose sleep when someone who needs to upgrade a database accidentally brings down all the instances on a host because unnecessary dependencies exist.

Topics: ASM, RAID, Resiliency, SAME, Simplicity

Comments