It sounds to me like you're after something like HPs MC Service Guard. The database exists on a single storage array and the relevant file systems are mounted on the first node. A customisable cluster control script (a shell script) monitors for Oracle background processes. If it finds that one of the processes isn't there the script tries to shut the database down and unmount the filesystem. The filesystem is then mounted on the other node and the database started up.