【问题标题】:Oracle 12c Installation failed to access the temporary locationOracle 12c 安装无法访问临时位置
【发布时间】:2014-02-04 07:57:19
【问题描述】:

我有在 64 位架构上运行的 Windows 8.1 64 位操作系统。我正在安装 Oracle 12C 的新副本,这意味着我之前没有在我的系统上安装任何版本。

在安装过程中,遇到如下错误提示;

Cause - Failed to access the temporary location.  Action - Ensure that the current user has required permissions to access the temporary location.  Additional Information:
 - Framework setup check failed on all the nodes  - Cause: Cause Of Problem Not Available  - Action: User Action Not Available Summary of the failed nodes al-naseeha  - Version of exectask could not be retrieved from node "al-naseeha"  - Cause: Cause Of Problem Not Available  - Action: User Action Not Available 

错误代码是 [INS-30131]。我拥有管理员权限的全部权限。我也尝试通过以下命令解决此问题;

net use \\localhost\c$

但没有白费。你能帮我解决这个问题吗?

【问题讨论】:

标签: windows oracle


【解决方案1】:

该错误是由于管理共享被禁用而引起的。如果它们无法启用,请执行以下解决方法:

6.2.23 安装 Oracle 数据库或 Oracle 客户端时出现 INS-30131 错误

如果在执行单个操作时未启用管理共享 12c 版本的实例 Oracle 数据库或 Oracle 客户端安装 1 (12.1) 在 Microsoft Windows 7、Microsoft Windows 8 和 Microsoft Windows 10,然后安装失败并出现INS-30131 错误。

解决方法:

执行net share命令,确保管理 共享已启用。如果它们被禁用,则通过 按照 Microsoft Windows 文档中的说明进行操作。 或者,通过指定执行客户端或服务器安装 以下选项:

  • 对于客户端安装:

    -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"

  • 对于服务器安装:

    -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"

Oracle 错误 21452473 跟踪此问题。

来源:Oracle Database Release Notes (Section 6.2.23)

【讨论】:

  • 我和提问者有同样的问题。就我而言,我对行政份额没有任何问题;我没有运行 OracleRemExecService 进程;我的用户名中没有特殊字符;我已经为我的计算机中的所有用户设置了不包含空间的自定义临时文件夹。我只需要安装数据库客户端。不知何故......这个答案对我有用:setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false" 谢谢!
【解决方案2】:

查看 Oracle 的支持站点,它可能是两件事之一(在您的情况下可能是 #2,但包括两者)。

问题一:

  1. 为 C$ 启用管理共享(请与您的系统管理员联系以执行此操作或查看 Microsoft 文档 http://support.microsoft.com/kb/314984

  2. 检查是否正常:

    • net use \\c$ 应该可以工作
    • 当前用户(即管理员组中的用户)应具有默认共享的所有权限
  3. 重试安装

  4. 再次删除管理共享

问题 2: 在安装 Oracle Client 12c Release 1 32 位或 64 位之前删除 OracleRemExecService 安装 Oracle 64 位或 32 位软件后相同的 Microsoft Windows x64(64 位)。

  • 转到 Windows“服务”
  • 停止 OracleRemExecServiceV2

(此服务具有智能。一旦有人试图阻止它,此服务就会被删除。 这是因为该服务不像其他 oracle 服务那样从 Oracle Home 运行,而是从 temp 运行。 例如:C:\Users\AppData\Local\Temp\oraemservi... )

  • 然后尝试在同一个 Microsoft Windows x64(64 位)上安装 Oracle 12c 32 位或 64 位

【讨论】:

  • 谢谢,停止 OracleRemServiceV2 为我解决了这个问题。你能解释一下为什么我们必须这样做吗?安装后服务好像又重新启动了,这样好吗?
  • 出于某种原因,当我试图停止该服务时,它说它无法作为已安装的服务找到,即使它显示在“服务”列表中也是如此。我从注册表中删除了该服务,这也解决了我的问题。
  • 投了反对票,因为答案只给出了关于做什么的技术要点,而不是如何做?我们中的一些人不是专家。
【解决方案3】:

我发现了可能出现此问题的另一种情况(尽管遵循了上面其他用户列出的步骤),那就是您登录的用户的用户名上有一个“_”。它将尝试用于查找临时目录的路径是在 %TEMP% 中设置的任何内容。我设法通过以下方式解决它:

  1. 在管理员模式下启动 cmd.exe
  2. 设置温度 = C:\TEMP
  3. 从该命令窗口运行安装程序

这样安装成功。

【讨论】:

    【解决方案4】:

    此错误可能是由带有中文字符的用户名引起的。

    1. 使用英文用户名创建一个新的本地 windows 用户。确保用户名中没有空格。
    2. 使用您刚刚创建的用户安装 Oracle。

    【讨论】:

      【解决方案5】:

      (解决方案)同样的问题:Windows 10 vs. Oracle 11g (11.2.0.4)

      使用 e.Windows 10 的最终版本(以及 Server 2016 Preview 3)再次出现问题。 G。安装任务后的 Oracle 11g(11.2.0.4,64 位)在 Windows 10 的几个预览版本中运行良好。上面所说的一切都是 o。 ķ。分别不工作。

      最终原因是 OracleRemExecService(与 RemoteExecService.exe)不兼容:众所周知,在安装过程开始时,它是通过 %TEMP%\oraremservice 创建的。如果你看它 e。 G。使用 Sysinternals 的 ProcessMonitor 使用适当的过滤器,您可以看到几次崩溃(其中大部分是“缓冲区溢出”)并重新启动,并且在 Windows 的“系统”事件日志中也有相应的消息。

      如果您开始(在删除注册表中的 HKLM\Software\oracle 之后)安装几次(超过 3 次 - 见下文),它会突然工作。 此行为的原因是 Windows 的“容错堆”机制(请参阅 https://msdn.microsoft.com/de-de/library/windows/desktop/dd744764(v=vs.85).aspx),它在 60 分钟内尝试三次后(请参阅 http://blogs.technet.com/b/askperf/archive/2009/10/02/windows-7-windows-server-2008-r2-fault-tolerant-heap-and-memory-management.aspx)在 HKLM\Software\Microsoft\FTH\State 中创建 FTH 条目和相应的填充程序在 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。 虽然 FTH 条目的内容与 RemoteExecService.exe 的当前进程有关,但您可以在开始安装 DB 之前将注册表项导入系统。如果您将 Windows 的 %TEMP% 环境变量 以及 %TMP%(由于 Oracle 在创建 OracleRemExecService 周围的东西时使用 both 目录)为预定义值(例如 C:\TEMP)您可以将其用于所有安装任务,如下所示(不幸的是,它仅适用于 Windows 10,不适用于 Server 2016 - 更新于 2015 年 9 月 24 日,见下文):

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
      "C:\\Temp\\oraremservice\\RemoteExecService.exe"="FaultTolerantHeap"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FTH\State]
      "C:\\Temp\\oraremservice\\RemoteExecService.exe"=hex:10,00,00,00,10,00,00,00,\
        0c,b4,ff,0c,52,00,65,00,6d,00,6f,00,74,00,65,00,45,00,78,00,65,00,63,00,53,\
        00,65,00,72,00,76,00,69,00,63,00,65,00,2e,00,65,00,78,00,65,00,00,00,00,00,\
        00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
        00,00,00,00,00,00,00,00,00
      

      2015 年 9 月 24 日更新: 使用 Server 2016(预览版 3),它有点棘手:首先您还必须设置环境变量 %TEMP% e。 G。到 C:\Temp 并导入上面的注册表项(在此之后,重新启动系统也不错)。 比您使用附加参数启动 Oracle 安装:

      setup.exe -调试

      如果您观察 %TEMP% 中发生的情况,您会看到文件夹 %TEMP%\oraremservice\ 被创建了两次:第一次创建后,安装程序似乎注意到该服务不起作用,删除该文件夹并创建它再次。在此之后,安装过程按预期工作。

      2015 年 11 月 27 日更新: - 使用 Windows Server 2016 Preview 4,不再需要通过“setup.exe -debug”的解决方法;您可以按照 Windows 10 的说明继续操作。 - 当然,如果您有已定义的用户(例如管理员),则不需要新的 C:\TEMP 与 %TEMP% 和 %TMP% 的过程。然后你可以像这样使用修改后的注册表项:

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
      "C:\\Users\\Administrator\\AppData\\Local\\Temp\\oraremservice\\RemoteExecService.exe"="FaultTolerantHeap"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FTH\State]
      "C:\\Users\\Administrator\\AppData\\Local\\Temp\\oraremservice\\RemoteExecService.exe"=hex:10,00,00,00,10,00,00,00,\
        0c,b4,ff,0c,52,00,65,00,6d,00,6f,00,74,00,65,00,45,00,78,00,65,00,63,00,53,\
        00,65,00,72,00,76,00,69,00,63,00,65,00,2e,00,65,00,78,00,65,00,00,00,00,00,\
        00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
        00,00,00,00,00,00,00,00,00
      

      2017 年 1 月 31 日更新:测试了 Windows 10 的所有版本(Insider Preview),因此我们发现版本 15002 出现了一个新问题:Oracle 设置不再能够确定 PATH 变量(变量本身,不是错误的内容等等!)。因此,所有安装 Oracle DB 的尝试都失败了。比较 Windows 版本的注册表并“玩弄”这个变量及其内容并没有帮助。唯一的解决方法是编辑相关的 XML 文件 \64bit|32bit\stage\cvu\cvu_prereq.xml 并在所有标签...部分中删除(或此标签仅在最后一项“Windows Server 2012”中)。顺便说一句:尽管我们主要使用 Oracle 11g,但使用 Oracle 12c 的最新设置也会出现这个新的安装问题......

      【讨论】:

      • 欢迎来到 SO!虽然您的答案看起来不错,但很难阅读。请添加一些格式(例如,将 reg 文件放入代码标签中)并提高文本墙的可读性。然后它应该会吸引一些支持:-)
      【解决方案6】:

      尝试清理您的主机文件。

      我花了大约半天的时间来解决这个问题,但这些答案都没有对我有用。我终于在 OTN 上找到了提示的解决方案(当我遇到 Oracle 问题时我最后看到的地方),有人提到查看主机文件。我最近修改了 hosts 文件,因为这台机器无法访问 DNS。

      我给这个主持人打了个电话:

      123.123.123.123     fully.qualified.domain.name.com     hostname
      

      注释掉上面的行允许我安装 Oracle 客户端。

      【讨论】:

      • 这对我也有用 - 使用 11.2.0.4 安装程序。谢谢!
      【解决方案7】:

      您的主要问题是无法访问 \\localhost\c$

      如果您在尝试访问 Windows 隐藏的 C 共享 (C$) 时遇到错误:

      C:\> 网络使用 \\localhost\c$
      发生系统错误 53。

      找不到网络路径。

      您可能会发现以下文章很有用:KB254210KB951016

      一个简单的事情就是确保您的 TCP/IP NetBIOS Helper 和 Server 服务正在运行(Start-Run, services.msc),然后再试一次:

      C:\> 网络使用\localhost\c$
      命令成功完成。

      当然,您的用户必须是管理员或管理员组的成员。

      如果仍然失败,请手动编辑注册表(开始-运行、regedit)。浏览到:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

      并创建一个新的 DWORD 值 LocalAccountTokenFilterPolicy 设置为 1

      解决此问题并安装 Oracle 数据库服务器后,如果您不再需要 TCP/IP NetBIOS Helper 服务,可以将其禁用。

      参考文献:http://groglogs.blogspot.ro/2013/11/windows-cannot-access-hidden-c-admin.html



      对于其他人:
      如果您没有遇到 \\localhost\c$ 的问题,那么您的用户名可能存在其他问题,正如其他人所说的那样(例如,用户名中带有“_”):
      这将通过从命令行更改 TEMPTMP 环境变量,然后从那里运行 setup.exe 来解决。

      如果还是不行:
      尝试使用“-debug”选项运行 setup.exe,看看会发生什么。
      您可能还想检查 %TEMP% 文件夹中创建的 .log 文件中的内容(例如 ssproiut_%number%.log)

      【讨论】:

        【解决方案8】:

        您可以使用以下参数配置 setup.exe 以跳过此检查 -

        setup.exe -ignorePrereq -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"
        

        【讨论】:

          【解决方案9】:

          总结:Windows下的Oracle存在用户名包含非英文字母或特殊字符的问题:

          如果您的机器是全新安装的,请先查看此处。所有与网络相关或 32 与 64 相关的问题对您来说可能并不重要:

          正如其他人已经部分指出的那样,此错误与 TEMP 目录的名称高度相关。 我第一次在全新的 Windows(例如 Server 2008 R2 或 Win 7,不重要)上安装 Oracle 11g 时突然想到。

          我发现,在我的机器上,问题是用户名包含一个德语特殊字符(“ö”)。此外,我认为 Oracle 无法处理任何特殊字符,TEMP 路径仅限于字母。这里的其他同事报告了下划线和中文字符的问题。

          说明: 在 Windows 中,TEMP 目录(环境变量 %TEMP%)默认位于用户目录中,例如:

          C:\Users\ThisUser\AppData\Local\Temp
          

          如果“ThisUser”包含特殊或非 ASCII 字符,那么在这种情况下,这会影响 TEMP 路径,这就是 Oracle 遇到问题的地方。

          将 TEMP 目录设置为不同的目录当然是另一种可能性,而不是使用另一个用户名安装。

          此外,如果 Oracle 使用记事本打开 Oracle 安装日志文件,Oracle 并不是每个人都会认可的完全本地 Windows 公民;-) 显然,这不是干净和可移植的编程,例如使用 "std::endl" 而不是 "\n" 。 (是的,Notepad++ 和其他编辑器可以完成这项工作。)

          总的来说,我的印象是,如果数据库和它的安装程序质量一样,Oracle 就不会那么成功..

          最后一句话:是的,由于特殊字符导致安装失败后,您只能看到一个名为 OracleRemExecService 的 Oracle 服务,但如果您能够再次安装新的操作系统,则没有理由按照其他解决方案中的建议手动停止此操作..

          【讨论】:

            【解决方案10】:

            我的问题是我停止了服务器服务,这给出了完全相同的问题。 于是启动了服务器服务,安装成功了。

            【讨论】:

              【解决方案11】:

              由于管理共享而出现此问题。

              这里是解决方案:

              1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System DWORD值:LocalAccountTokenFilterPolicy设置为1

              2. 转到此链接:http://www.snehashish.com/install-oracle-database-12c-software/ 关注第 8 点
                对我帮助很大。
                创建hidden share (c$) 应该是这个样子(你可以忽略描述标签)

              剩下的你可以点击上面的链接。

              让我知道它是否有效。

              【讨论】:

                【解决方案12】:

                如果您的用户帐户中有空格,并且您已尝试上述所有方法但均无效,则

                我建议您创建一个新的 Windows 用户帐户并给它一个 管理权限,不是标准的。

                退出您的旧帐户并登录到这个新帐户,然后再次尝试安装。效果很好。

                【讨论】:

                • 解决这个问题对我有用。我的系统名称中有一个破折号。
                【解决方案13】:

                使用命令从 CMD 安装它

                setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
                

                Reference

                【讨论】:

                  【解决方案14】:

                  我在尝试在 Windows 10 上安装 12c 32x 客户端时遇到了这个错误。"net use \\localhost\c$" 有效,但是当我用“localhost”替换计算机的“名称”(例如,\\my-computer\c$)时,我得到了“@987654323 @"。 Oracle 似乎更喜欢计算机的名称。

                  解决方法:我们暂时禁用了计算机的 IPv6 协议(我们的网络使用 IPv4)。操作方法:控制面板 --> 网络和共享中心 --> 更改适配器设置 --> 右键单击​​以太网连接 --> 属性 --> 取消选中“Internet 协议版本 6 (TCP/IPv6) --> 确定. 那应该禁用它。之后,\\my-computer\c$ 在命令提示符下成功运行。然后 Oracle 安装程序终于完成,我们能够 tnsping 数据库服务器。

                  为了进行测试,我们重新启用了 IPv6 并重新启动了计算机。 \\my-computer\c$ 在 cmd 提示符下失败,但 tnsping 仍然正常运行。

                  我希望这对将来的某人有所帮助。

                  【讨论】:

                    猜你喜欢
                    • 2019-06-18
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-06-08
                    • 1970-01-01
                    • 2017-11-22
                    • 1970-01-01
                    相关资源
                    最近更新 更多