我们在Windows Server 2003虚拟机上安装了Oracle 10g企业版(10.2.0.1.0)。 它最初是使用Virtual Server 2005 R2 SP1创build的,但现在已经迁移到Windows Server 2008 Hyper-V。
服务在系统启动时启动,但实例不启动。 从一台服务器迁移到另一台服务器后,这个问题实际上是在虚拟服务器上发生的,但是我设法修复了这个问题:
oradim -edit -sid ORCL -startmode auto
然而,这现在没有效果。
oradim.log(在%OracleHome%\ database \ oradim.log中)说:
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在同一个文件夹中有:
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
ORA_ORCL_AUTOSTARTregistry值被设置为TRUE ,所以它应该是自动启动 – 你可以看到它正在尝试。 停止并重新启动OracleServiceORCL服务时也会发生此问题。
我启用了SQL * Net跟踪,显示:
[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
在预测错误2是Windows错误2(文件未find)我试图重新启动服务与进程监视器看oradim.exe,但这似乎延迟的东西,只是它始终工作。
现在我有一个可怕的黑客,我创build了一个计划任务来pipe理员帐户login时运行oradim -startup -sid ORCL ,并将虚拟机设置为自动login。 我仍然想知道为什么它不工作。
对于testing来说,增加对服务的依赖性可能是值得的。 我想知道是否试图过早开始。 我以前也见过类似的问题,但是我们不记得我们是如何解决这个问题的,但现在我们使用Oracle代理/网格控制来提供服务(例如:Agent => Auto start,Oracle => Manual,等等)。
运行tnsping .
转到参数文件sqlnet.ora目录
编辑文件tnsnames.ora & listener.ora
将(HOST = your_db_host_name)更正为由hostname命令返回的值
运行services.msc
重新启动名为OracleOra....Listener服务OracleService....名为OracleService.... OracleOra....Listener和实例服务OracleService....