5

我在启动时收到此错误OracleMTSRecoveryService

Could not start the OracleMTSRecoveryService service on Local Computer.
Error 1: Incorrect function.*

在安装ODAC 服务期间也启动失败

OracleXETNSListener也没有开始。我已经重新安装了 ODAC,但问题仍然存在。

有什么建议么?有服务冲突吗?

4

12 回答 12

12

查看注册表值HKEY_LOCAL_MACHINE\Software\Oracle\OracleMTSRecoveryService\Protid_0\并确保主机名与您的机器名匹配。

如果您有Windows 7,则注册表路径为

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OracleMTSRecoveryService\Protid_0
于 2012-02-01T22:09:14.477 回答
3

这也适用于我,但注册表路径错误。我正在运行 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"
于 2012-10-08T21:34:11.780 回答
1

我有 Windows 7,我有同样的问题,但我的问题的原因是,我从 C:\app------\product\11.2.0\dbhome_1\BIN\omtsreco.exe 中删除了原来的 oracle 文件夹,所以这就是它失败的原因。

这些步骤对我有用:)

这在 Windows 7 中对我有用:

  1. 打开注册表编辑器窗口运行命令:regedit

  2. 更改以下注册表项值时保持错误窗口打开:

“计算机\hkey_local_machine\system\controlset001\service\OracleMTSRecoveryService”。

  1. 搜索 ImagePath Value 并将路径更改为实际安装 Oracle 的位置。你的情况是 C:\app\myuser\product\11.2.0\dbhome_1\BIN\omtsreco.exe "OracleMTSRecoveryService"
于 2013-07-08T19:23:25.627 回答
1

我确实打开了 regedit,但服务器名称错误,因为我试图在生产服务器的克隆副本上安装 Oracle 11g 软件。所以主机名仍然与生产服务器的主机名匹配。我右键单击主机并选择修改然后将服务器名称更改为我当前(克隆)的服务器名称

于 2015-10-28T19:35:22.517 回答
1

我有同样的问题,我的问题是我的tnsnames和来自C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN的侦听器文件夹中的主机名错误

这发生在我的计算机的域迁移之后,因为它的名称发生了变化。

于 2017-12-06T07:34:36.397 回答
0

在我的例子中,它有助于将 Oracle 安装文件夹设置为 PATH 环境变量,例如 c:\oracle\odac。

于 2013-02-26T12:58:10.417 回答
0

这在 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.返回错误窗口并单击重试。

并修复它!

于 2013-06-20T04:09:51.970 回答
0

非常感谢 AndrewB - 这对我有用。

我还使用来自 sysinternals 过滤器的 procmon.exe 到达那里:

process=omtsreco.exe 然后过滤以仅查看注册表项.... 必须用新的更新主机名(服务器的完整计算机名称)。

再次感谢。

于 2014-06-10T12:36:28.467 回答
0

刚刚更改了以下注册表:

第 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 步:重试

就是这样 !!!

于 2017-04-21T13:11:29.590 回答
0

这个问题是在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 位服务的“自发权限调整”归因于何处。去搞清楚 ...

于 2017-05-15T09:03:45.000 回答
-1

当我安装 Oracle DB 11g 时,OracleMTSRecoveryService 也无法启动,安装进度为 71%,但在我关闭防病毒程序 (Avast Pro 15) 并单击重试后,它对我有用。防病毒防火墙可能是关键问题。

于 2015-05-06T16:36:02.557 回答
-1

将主机文件的值从 localhost 更改为127.0.0.1in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OracleMTSRecoveryService\Protid_0working

也点击重试对我有用。单击重试后,安装继续进行,没有任何警告或错误。

于 2018-09-03T07:28:15.570 回答