Autostart Oracle on RHEL with ASM support
After carefully crafting an init.d startup/shutdown script for my Oracle 10g installation on RHEL, I was able to successfully use it from the command line while shelled in as root. However, Oracle stubbornly refused to automatically start at boot time when invoked via init.
A look at the boot logs made it clear that the culprit was a race-condition with the cssd process. While attempting to start ASM, Oracle was throwing the following in /opt/oracle/product/10.2.0/db_1/startup.log:
logger: Waiting for Oracle CSS service to be available before starting
logger:  ASM instance +ASM. Wait 14.
Failure 1 contacting CSS daemon
logger: Timed out waiting to start ASM instance +ASM
logger:   CSS service is NOT available.
Despite knowing the problem, I wasn't able to find a solution until I came across Jeff Hunter's Oracle blog. In it, he correctly noted that due to a known bug, the /etc/inittab file must be manually modified to support Oracle ASM auto-start on RHEL.
Specifically, the respawn line for the init.cssd process must fall between the wait for runlevel 2 and runlevel 3
l2:2:wait:/etc/rc.d/rc 2
h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1
l3:3:wait:/etc/rc.d/rc 3
After making this change, Oracle properly auto-starts at boot and all is well with the world.