Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Starting Oracle 8.1.7 on boot
Hi,
The shared memory realm error you're getting is caused by the fact
that your instance is not (yet) running when the listener tries to
start a shadow process (thread, actually, on Windows).
Now, on Windows, the service and the instance are two separate things.
The default installation sort of binds them together, by setting up
the registry so that the instance starts and stops together with the
service. This means that the start service call returns when the
service is started and a startup command is send to the instance, but
not necessarily after the instance is started. So, if you just wait a
couple of minutes, the error would go away. If not, you can check the
event viewer/alert.log file to see what has prevented the instance
from starting.
The situation can also occur when you stop only the instance (via
sqlplus or svrmgrl), and leave the service running.
Of course, it will also happen if you attempt to connect locally (not
via the listener), and your ORACLE_SID is wrong, or the instance is
not running, or the listener.ora lists a non-existing / not started
instance in its SID_LIST_LISTENER section.
Here's what you can do:
set the services to manual in control panel or using the command
below.
start the services using a script (CMD or BAT) after the mapping is restored (you can restore the mapping in the same script using the "net use" command):
oradim -startup -sid yourSID -starttype srvc,inst -timeout 60 net start OracleOraHome81TNSListener
Depending on the system load, it might take more time shutdown the database than the default timeout of 30 seconds allows. When it expires, the database will be automatically aborted, and that is something you would normally like to avoid.
You can check the relevant registry keys for the current configuration, or you can just run (once!) this command (assuming your SID is "SID"):
oradim -edit -sid SID -startmode m -shutmode i -timeout 120 -shuttype srvc,inst
type oradim with no parameters for more help. Read the docs for a complete description, including registry key names and values.
You only need to have the ORACLE_SID environment variable set when you want to connect locally using svrmgrl or sqlplus. And if you have more than one instance running on the server (I have 50 on one of them), then which SID should you set the ORACLE_SID to?
This said, I'd like to join Daniel's opinion that running Oracle out of a mapped drive is asking for trouble. For one, your database's availability depends on the well-being of two computers and the network link between them, instead of just on one computer.
Cheers,
Flado
Received on Fri Jun 14 2002 - 06:27:39 CDT
![]() |
![]() |