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

时间:2014-02-04 07:57:19

标签: 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 

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

net use \\localhost\c$

但没有白费。能帮我解决一下这个问题。

13 个答案:

答案 0 :(得分:20)

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

  

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

     

如果执行单个时未启用管理共享   实例12c版本的Oracle数据库或Oracle客户端安装   Microsoft Windows 7,Microsoft Windows 8和Microsoft上的1(12.1)   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)

答案 1 :(得分:16)

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

问题1:

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

  2. 检查是否正常:

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

  4. 再次删除管理共享
  5. 问题2: 在执行32位或64位安装的Oracle Client 12c第1版之前删除OracleRemExecService 安装Oracle 64位或32位软件后,使用相同的Microsoft Windows x64(64位)。

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

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

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

答案 2 :(得分:8)

我发现了另一种可能出现此问题的情况(尽管遵循上述其他用户列出的步骤)以及当您登录的用户的用户名为' _'在上面。它将尝试用于查找临时目录的路径是%TEMP%中设置的路径。我设法解决了这个问题:

  1. 以管理员模式启动cmd.exe
  2. SET TEMP = C:\ TEMP
  3. 从该命令窗口运行安装程序
  4. 以这种方式成功安装。

答案 3 :(得分:5)

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

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

答案 4 :(得分:3)

尝试清理主机文件。

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

我有这个主持人的一行:

123.123.123.123     fully.qualified.domain.name.com     hostname

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

答案 5 :(得分:3)

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

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

  

C:\> net use \\ localhost \ c $   
  发生了系统错误53。   

  找不到网络路径。

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

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

  

C:\> net use \ localhost \ c $   
  命令成功完成。

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

如果仍然失败,请手动编辑注册表(Start-Run,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 $ 的问题,那么您的用户名可能会遇到其他问题(例如用户名为' _&#39) ; 在里面):
这将通过从命令行更改 TEMP TMP 环境变量,然后从那里运行 setup.exe 来解决。

如果仍然无效:
尝试使用" -debug "运行setup.exe选项,看看那里发生了什么。
您可能还想检查在%TEMP%文件夹中创建的.log文件中的内容(例如,ssproiut_%number%.log)

答案 6 :(得分:2)

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

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

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

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

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

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

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

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

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

总的来说,我的印象是,如果数据库与其安装程序的质量相同,那么Oracle就不会那么成功。

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

答案 7 :(得分:2)

我的问题是我停止了服务器服务,这给出了同样的问题。 所以启动了Server服务并且安装工作正常。

答案 8 :(得分:2)

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

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

答案 9 :(得分:1)

如果您的用户帐户中包含空格并且您已经尝试了以上所有内容但都没有效果,

  

我建议你创建一个新的Windows用户帐户并给它一个   行政特权,而非标准。

退出旧帐户并登录此新帐户并尝试重新安装。它运作良好。

答案 10 :(得分:0)

由于管理权限而产生此问题。

以下是解决方案:

  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 $)之后,它应该如下所示(您可以忽略描述选项卡)

剩下的就是你可以按照上面的链接。

让我知道它是否有效。

答案 11 :(得分:0)

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

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

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

我希望这有助于将来的某些人。

答案 12 :(得分:0)

使用命令

从CMD安装它
setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"

Reference