You'll have to find out why your instance is not fully starting when you reboot the database server. You mentioned that the service is set to start automatically. If the service fails to start, then look in the server's Event Viewer for more information. If the service is starting, then you'll want to ensure the service will actually start the instance. Fire up the registry editor and navigate to HKEY_LOCAL_MACHINE\Software\Oracle\Home0. In the folder, make sure that the registry key ORA_sid_AUTOSTART is set to TRUE (where "sid" is your database SID).
If all of that is configured correctly, then your instance is starting but crashing. Look at your instance's Alert Log (found in the BACKGROUND_DUMP_DEST directory) for more clues as to why the instance is not starting correctly.
This was first published in May 2006