Oracle 12c安装无法访问临时位置

use*_*056 22 windows oracle

我有在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 
Run Code Online (Sandbox Code Playgroud)

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

net use \\localhost\c$
Run Code Online (Sandbox Code Playgroud)

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

小智 21

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

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

如果在Microsoft Windows 7,Microsoft Windows 8和Microsoft Windows 10上执行12c第1版(12.1)的单实例Oracle数据库或Oracle客户端安装时未启用管理共享,则安装将失败并显示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数据库发行说明(第6.2.23节)

  • 我对问问者也有同样的问题。就我而言,我对管理份额没有任何问题;我没有运行OracleRemExecService进程;我的用户名中没有特殊字符;并且我设置了自定义的临时文件夹,该文件夹不包含计算机中所有用户的空间。我只需要安装数据库客户端。并且以某种方式...这个答案对我有用:`setup.exe -ignorePrereq -J“ -Doracle.install.client.validate.clientSupportedOSCheck = false”`谢谢! (2认同)

小智 16

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

问题1:

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

  2. 检查一下是否正常:

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

  4. 再次删除管理共享

问题2:在安装Oracle 64位或32位软件之后,在同一Microsoft Windows x64(64位)上执行Oracle Client 12c第1版32位或64位安装之前,删除OracleRemExecService.

  • 转到Windows"服务"
  • 停止OracleRemExecServiceV2

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

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


小智 8

我发现了另一种可能出现此问题的情况(尽管遵循上面其他用户列出的步骤),并且当您登录的用户的用户名为"_"时.它将尝试用于查找临时目录的路径是%TEMP%中设置的路径.我成功地解决了以下问题:

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

这样成功安装.


sui*_*uan 5

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

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


200*_*999 5

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

在安装任务与Windows 10的几个预览版本一起工作正常后,使用例如Oracle 11g(11.2.0.4,64位)的最终版Windows 10(以及Server 2016 Preview 3)也会出现问题.所有上述内容都可以RESP.不工作.

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

如果您启动(在注册表中删除HKLM\Software\oracle之后)安装多次(超过三次 - 见下文)它突然起作用.这样做的原因行为是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的当前进程相关,但您可以在开始安装数据库之前将注册表项导入系统.如果将Windows'%TEMP%环境变量%TMP%(由于Oracle 在创建OracleRemExecService周围的事物时使用两个目录这一事实)设置为预定义值(例如C:\ TEMP),您可以将其用于您的所有安装任务如下(不幸的是,它仅适用于Windows 10,而不适用于Server 2016 - 更新2015-09-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
Run Code Online (Sandbox Code Playgroud)

更新2015-09-24:使用Server 2016(预览版3),它有点棘手:首先你还必须将环境变量%TEMP%设置为例如C:\ Temp并导入上面的注册表项(在此之后) ,重新启动系统并不是一个坏主意.比使用其他参数启动Oracle安装:

setup.exe -debug

如果您观察%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
Run Code Online (Sandbox Code Playgroud)

更新2017-01-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的最新设置也会出现这种新的安装问题...


小智 1

这个问题是由于行政份额而产生的。

这是解决方案:

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

  2. 转到此链接:http://www.snehashish.com/install-oracle-database-12c-software/按照第8点操作。
    这对我帮助很大。
    创建隐藏共享 (c$) 后,它应该如下所示(您可以忽略描述选项卡)

对于其余的,您可以点击上面的链接。

并让我知道它是否有效。