Converting Autoconfig to Automagic!!!

In the middle of Snow and freezing weather I was thinking about autoconfig.
The word 'automagic' used by Bill, my counterpart in my previous employment with Oracle came into my thought.

Yes, Autoconfig is really a cool tool for apps dba. It manages the entire configuration of application system in a single unified file system, as a $CONTEXT_FILE. But I felt there is little fine tune required on that tool to make it as automagic tool.

In an average, each autoconfig takes less than 3 minutes in database tier and 5-8 minutes in appltop( and again this depends on the system speed). When it comes to production database instances 5-8 minutes are little high for one run of autoconfig. Say in a year if you run autoconfig for 10 times in appltop, its equivalent to more than one hour downtime!!!!

what can be done to reduce the downtime?

--> Run the tasks in parallel - As autoconfig consists of multiple steps INST8, INST8_SETUP etc.. there is a need to clearly segregate which tasks can be done in parallel, and run them against each product in parallel if possible run for all the products in parallel depending the CPU/memory resources available in the customer boxes. - Its likely that system will have enough resources to run the autoconfig tasks as Mid-Tier will be down during the autoconfig run.

--> Autoconfig run can be split up into two - say predownrun(pre downtime run) and downrun(downtime run), during the predownrun autoconfig can instantiate the files(and the tasks that can run when the system is up and running) and can keep it the folder or in DB, and during the downtime autoconfig can take the folder files which are already instantiated and place them as configuration files(simple copy in lieu of searching tokens in template file and replace them), by this way at least 2-3 minutes can be saved in each run. Thus 20-30 minutes in a year!!

These are just few thoughts that may help reduce the production downtime(for one customer of oracle in a year will reduce 20-30 mins downtime approximately. So it can be multiplied by the number of Oracle's customers to calculate the total minutes of downtime can be saved. In multi node environments you will be running autoconfig multiple times!!!

Above said ideas may be implementable or may not be. Only Oracle can gauge them and can come up with new bright ideas to reduce the downtime and make the autoconfig, automagic.


Ram said...

Nice writeup, Suresh. Keep up the good work.

Suresh Lakshmanan said...

Thanks Ram.


Pavan Kumar Komanduri/ said...

G'day Suresh,

I guess this can be done through adpatch utility.

(a) The first test would be to test
the adpatch utility against the
udriver.drv that you have to

Edit the udriver and test
basic commands to copy or exec

(b) The context file is divided
into multiple sections.take the
xml file and divide it into two
sections and create two xml out
of it.make sure you maintain
the respective begin tags and
end tags.

say SID_1.xml

(c) Have these two entries in the
driver file.

(d) run adpatch against it.

Looks Fancy but kinda possible:))

Suresh Lakshmanan said...

Hi Pavan,

That was fun reading your comment. in reality oracle has released a way to parallelize the autoconfig run time in multi node environments.