Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have an Oracle 10g Enterprise Edition installation (10.2.0.1.0) on a Windows Server 2003 virtual machine. It was initially created with Virtual Server 2005 R2 SP1 but has now been migrated to Windows Server 2008 Hyper-V.

The services start on system boot, but the instance does not start up. This problem was actually occurring on Virtual Server after a migration from one server to another, but I managed to fix it then with:

oradim -edit -sid ORCL -startmode auto

However, this now has no effect.

oradim.log (in %OracleHome%\database\oradim.log) says:

Thu Jun 10 14:14:48 2010
C:\oracle\product\10.2.0\db_3\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0
Thu Jun 10 14:14:48 2010
ORA-12560: TNS:protocol adapter error

sqlnet.log in the same folder has:

Fatal NI connect error 12560, connecting to:
 (DESCRIPTION=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oracleorcl)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=C:\oracle\product\10.2.0\db_3\bin\oradim.exe)(HOST=ORACLE-VM)(USER=SYSTEM))))

  VERSION INFORMATION:
        TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
        Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
  Time: 10-JUN-2010 14:14:48
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12560
    TNS-12560: TNS:protocol adapter error
    ns secondary err code: 0
    nt main err code: 530
    TNS-00530: Protocol adapter error
    nt secondary err code: 2
    nt OS err code: 0

The ORA_ORCL_AUTOSTART registry value is set to TRUE, so it should be auto-starting - and you can see that it's trying to. The problem also occurs when stopping and restarting the OracleServiceORCL service.

I've enabled SQL*Net tracing which shows:

[10-JUN-2010 15:09:33.919] snlpcss: entry
[10-JUN-2010 15:09:34.419] snlpcss: Unable to spawn Oracle oracle     (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) orcl, error 2.
[10-JUN-2010 15:09:34.419] snlpcall: exit

On a hunch that error 2 is Windows error 2 (file not found) I tried restarting the service with Process Monitor watching oradim.exe, but this appears to delay things just enough that it always works.

Right now I have a horrible hack where I've created a Scheduled Task to run oradim -startup -sid ORCL when the Administrator account logs on, and set the VM to auto-logon. I'd still like to work out why it's not working.

share|improve this question
    
So, to be clear: it's the autostart that fails, but you can bring up the instance manually? Or not? –  DCookie Jun 10 '10 at 14:46
    
@DCookie: autostart fails but bringing up the instance with oradim or by running 'startup' from sqlplus works. It's only auto-starting that's a problem. –  Mike Dimmick Jun 11 '10 at 13:43
    
Any particular reason you're not running 10.2.0.4? –  DCookie Jun 11 '10 at 16:09
    
You should really look at the alert log to determine why it's not starting. It's usually in C:\Oracle\product\10.2.0\admin\bdump\alert.log (location can vary). The sqlnet log and tracing are red herrings - the database starts independently of the network stack. –  namd0gma1 Dec 27 '10 at 18:02

1 Answer 1

It might be worth, for a test, adding a dependency to the service. I'm wondering whether it's trying to start too early. I've seen a similar problem in the past, and cannot remember what we did to fix it, but we now use the Oracle agent / Grid Control to bring the services up (i.e.: Agent => Auto start, Oracle => Manual, Etc).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.