tnsping和lsnrctl挂起时什么时候退出 – 关于在虚拟Windows 7上的Oracle 12.1.0.2.0在Mac上closures

我试图在MacBook Pro(Retina,15英寸,2015年中)的虚拟机(Parallels或VMware)上运行的Windows 7上运行Oracle安装。

在执行像tnspinglsnrctl这样的Oracle实用程序时,它们的行为如预期,但不会立即终止。 相反,他们挂了很久才离开。

作为一个例子,试图运行tnsping

 C:\Users\mgd>tnsping 10.4.8.150_UNICODE TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 06 OCT-2015 14:10:48 Copyright (c) 1997, 2014, Oracle. All rights reserved. Used parameter files: C:\oracle\product\12.1.0\dbhome\network\admin\sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.4.8.150)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = unicode))) OK (20 msec) ...program hung here for minutes... 

正如你所看到的一切看起来很好,除了悬挂而不是终止。

如果我使用Process Explorer检查挂起的进程,我可以看到进程被卡住,试图与等待一个Mutex的networking层(mswsock.dll)中的某些东西同步:

 ntoskrnl.exe!memset+0x61a ntoskrnl.exe!KeWaitForMultipleObjects+0xd52 ntoskrnl.exe!KeWaitForMutexObject+0x19f ntoskrnl.exe!PoStartNextPowerIrp+0xba4 ntoskrnl.exe!PoStartNextPowerIrp+0x1821 ntoskrnl.exe!KeWaitForMultipleObjects+0xf5d ntoskrnl.exe!KeRemoveQueueEx+0x323 ntoskrnl.exe!ExQueryAttributeInformation+0x1803 ntoskrnl.exe!MmLockPagableSectionByHandle+0x655 ntoskrnl.exe!KeSynchronizeExecution+0x3a23 ntdll.dll!NtRemoveIoCompletion+0xa mswsock.dll+0x5941 kernel32.dll!BaseThreadInitThunk+0xd ntdll.dll!RtlUserThreadStart+0x21 

我可以怀疑这与虚拟机中networking层的行为有关。

有没有人有一个什么是错的想法?