我在启动时收到此错误OracleMTSRecoveryService
:
Could not start the OracleMTSRecoveryService service on Local Computer.
Error 1: Incorrect function.*
在安装ODAC 服务期间也启动失败。
OracleXETNSListener
也没有开始。我已经重新安装了 ODAC,但问题仍然存在。
有什么建议么?有服务冲突吗?
查看注册表值HKEY_LOCAL_MACHINE\Software\Oracle\OracleMTSRecoveryService\Protid_0\
并确保主机名与您的机器名匹配。
如果您有Windows 7,则注册表路径为
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OracleMTSRecoveryService\Protid_0
这也适用于我,但注册表路径错误。我正在运行 Windows 7 和 Oracle 11gR2 客户端,注册表路径为:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OracleMTSRecoveryService\Protid_0
这是注册表文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OracleMTSRecoveryService\Protid_0]
"Name"="HTTP"
"Host"="putyourmachinesnamehere.com"
"Port"="2030"
我有 Windows 7,我有同样的问题,但我的问题的原因是,我从 C:\app------\product\11.2.0\dbhome_1\BIN\omtsreco.exe 中删除了原来的 oracle 文件夹,所以这就是它失败的原因。
这些步骤对我有用:)
这在 Windows 7 中对我有用:
打开注册表编辑器窗口运行命令:regedit
更改以下注册表项值时保持错误窗口打开:
“计算机\hkey_local_machine\system\controlset001\service\OracleMTSRecoveryService”。
我确实打开了 regedit,但服务器名称错误,因为我试图在生产服务器的克隆副本上安装 Oracle 11g 软件。所以主机名仍然与生产服务器的主机名匹配。我右键单击主机并选择修改然后将服务器名称更改为我当前(克隆)的服务器名称
我有同样的问题,我的问题是我的tnsnames和来自C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN的侦听器文件夹中的主机名错误
这发生在我的计算机的域迁移之后,因为它的名称发生了变化。
在我的例子中,它有助于将 Oracle 安装文件夹设置为 PATH 环境变量,例如 c:\oracle\odac。
这在 Windows 7 中对我有用:
1.打开你的注册表编辑器窗口运行命令:regedit
2.更改以下注册表项值时保持错误窗口打开:
“计算机\hkey_local_machine\system\controlset001\service\OracleMTSRecoveryService”。
3.搜索 ImagePath Value 并将路径更改为实际安装 Oracle 的位置。在 y 的情况下是 C:\app\myuser\product\11.2.0\dbhome_1\BIN\omtsreco.exe "OracleMTSRecoveryService"
4.返回错误窗口并单击重试。
并修复它!
非常感谢 AndrewB - 这对我有用。
我还使用来自 sysinternals 过滤器的 procmon.exe 到达那里:
process=omtsreco.exe 然后过滤以仅查看注册表项.... 必须用新的更新主机名(服务器的完整计算机名称)。
再次感谢。
刚刚更改了以下注册表:
第 1 步:更新注册表中的路径:
HKEY_LOCAL_MACHINE\system\controlset001\service\OracleMTSRecoveryService
为文件omtsreco.exe
设置适当的图像路径条目 在我的情况下,它是:`E:\app1\NAL65\product\11.2.0\dbhome_1\BIN
第 2 步。:更新注册表中的主机:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE\OracleMTSRecoveryService\Protid_0
它可能对你来说是延迟的:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OracleMTSRecoveryService\Protid_0
默认情况下,它将 DESKTOP-DESKTOP 替换为原始的。
第 3 步:重试
就是这样 !!!
这个问题是在Oracle12c-32bit(版本12.1.0.2.0)的服务中突然出现的。对我来说,问题原来是一个或多个文件/文件夹的权限:
C:\oracle\client\\product\12.1.0\client_1
以导致手头错误的方式进行了更改(在 Windows 事件日志中可以看到“权限被拒绝”)。我只是对 C:\oracle 的权限进行了递归更改,从而有效地将根文件夹下所有位置的完全访问权限授予对 C:\oracle 具有完全访问权限的所有用户和组。
这一切的奇怪之处在于,只有 32 位的 oracle-service 由于权限不足而被阻塞。我的 64 位 oracle-service 没有遇到类似的奇怪问题。我不知道将破坏 32 位服务的“自发权限调整”归因于何处。去搞清楚 ...
当我安装 Oracle DB 11g 时,OracleMTSRecoveryService 也无法启动,安装进度为 71%,但在我关闭防病毒程序 (Avast Pro 15) 并单击重试后,它对我有用。防病毒防火墙可能是关键问题。
将主机文件的值从 localhost 更改为127.0.0.1
in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OracleMTSRecoveryService\Protid_0
working
也点击重试对我有用。单击重试后,安装继续进行,没有任何警告或错误。