boot sequence reverts back to original links

I have a SLES 9 configuration that boots from hard disk and also uses LVM SAN space for Oracle partitions. For this to work, I had to ensure that LVM was started before raw and Oracle in the run level 3 boot sequence. The modifications made to support this were:

cd /etc/init.d/rc3.d
# Remove existing raw and oracle symbolic links
rm S12raw
rm S13oracle
# Create new symbolic links for new sequence
ln -s ../boot.lvm S16lvm
ln -s ../raw S17raw
ln -s ../oracle S18oracle

After rebooting, all works as expected.

However, I’ve been finding that after subsequent maintenance reboots the original S12raw and S13oracle links have been reestablished and the S17raw and S18oracle links have vanished. The S16lvm link remains, but it now runs after Oracle, so the LV partitions Oracle expects to find are not yet instantiated and Oracle fails to load properly.

I have rebooted the system multiple times in a row and the new links remain in place - they are automagically changing later. I’ve checked all crontab files and there’s nothing that reverts to the original links.

Any idea what is reverting these links or how to make them persistent?

As one possible solution, can I perform the same symbolic link changes noted in the original post in the file /etc/init.d/boot.local to ensure that the expected boot sequence links are in place prior to starting the run level scripts?

Will /etc/init.d/rc3.d/ be available for manipulation at that point in the boot process?

On SUSE you should not make your own symlinks but fill in the metadata at the top of the init file (see /etc/init.d/skeleton for an example) and SuSEconfig will put your script in the correct sequence in the runlevels that its active in.