I want to add auto startup and shutdown script to Solaris 10's legacy services as they run in Solaris 9 or in Linux.

To make this work, I created the crontrol script in /etc/init.d and then link it to /etc/rc0.d and /etc/rc2.d directories. rc0.d is for shutdown and rc2.d is for srat. After I reboot the Solaris 10 box, I went to /var/svc/log directory to check these log files: milestone-multi-user:default.log, rec5.log and so on. I have found that shutdown part in control script worked. But the startup part in the control script didn't work. The message was like: Excuting legacy init script "/etc/rc2.d/S99dbora", Oracle Startup: cannot start. In the next line, log file told me this: legacy init script "/etc/rc2.d/S99dbora" exited with return code 0. Why the second part of code in the same script worked (shutdown) and the first part (startup) didn't work? What is wrong on my settings? Anyone knows about this, please help. Thank you very much in advance.

Thanks so much for your advice. I have followed your instruction to test as:
/etc/rc2.d/S99dbora, returning message is: Oracle startup: cnanot start. Then I linked dbora to rc3.d as S99dbora and tested as /etc/rc3.d/S99dbora. I got the same message: Oracle startup: cannot start. Then I checked user to run the script. Since I created dbora as root user, etc - run by sys, rc2 - root, rc2.d - sys, rc3 -root, rc3.d - sys, S99dbora - root under rc2.d or rc3.d. These settings were generated by installation. Should I chown S99dbora to be run by oracle or group user dba? Thanks.

I run #su - oracle -c "/etc/init.d/dbora start". Returning message is: Ksh: /etc/init.d/dbora cannot execute. Because root is bash shell and oracle is korn shell, the dbora was created by root, not oracle. is this the reason? And what is the wrapper script?