That 11i/RAC/ASM project turned out to be fairly interesting for quite a few reasons – another reason was that it gave me an opportunity to become quite a bit more familiar with RConfig.
RConfig an Oracle provided java-based utility to fully automate the process of converting a database from single-instance to RAC. It will also automatically move your database from a filesystem into ASM. (In case you’re wondering, it just uses RMAN in the background; really RMAN is still the only tool that can actually move a database into ASM.) RConfig is the backend used by Grid Control for its “Convert to Cluster Database” wizard.
After digging into RConfig a bit I have two main observations:
RConfig wasn’t really made for the command line. It was made to be a backend for Grid Control. It takes XML input and it actually spits XML output to you at the command line – who does that? Clearly they didn’t design this output with a human in mind but rather another bit of software.
RConfig was built with OEM’s “autodetect and automate everything” philosophy. It takes a small number of inputs in its tiny XML configuration file and produces a scant, undescriptive 16 lines of output. However if you enable tracing and examine the tracefile then you will see that it is doing an aweful lot of work trying to deduce almost everything imaginable about your environment. For example you can’t specify temp file size, redo thread attributes, undo tablespace names, etc… all of these values are calculated by RConfig using defaults or your source database. If you need to customize the conversion process at all then RConfig is not the tool for you.
Last time I did one of these conversions it was on 9i RAC – before RConfig was around. And in spite of its limitations I have to admit that RConfig is pretty slick when everything works and when you don’t need to tweak the conversion process. It’s straightforward and it did work well for what we needed.