在 Windows docker 容器中安装 Oracle Database 19c 时出现错误 INS-35180

问题描述 投票:0回答:1

我目前正在尝试在 Windows docker 容器中以交互方式安装 Oracle Database 19c,但我不断收到相同的错误消息。

我的主机运行 Windows Server 2019 Standard,我使用的是 Docker 版本 20.10.9,内部版本 591094d。 如果从官方网站获取 Orcale Database 19c 版本 19.3 的 Oracle 安装文件: https://www.oracle.com/de/database/technologies/oracle19c-windows-downloads.html

我使用的镜像基于 Microsoft 的官方 Windows Server 2019 镜像。

我一直遵循本演示文稿中的说明: https://www.oracle.com/docs/tech/oow19-dockerforwindows.pdf

我知道 Oracle Database 19.7 修复了 Windows docker 容器的一些问题,但我找不到该问题的下载链接,并且演示文稿描述了这些问题的解决方法,我遵循了这些问题。

我的 Dockerfile 如下所示:

# Base image
FROM mcr.microsoft.com/windows/servercore:ltsc2019

# copy golden db image after taking it from OTN
COPY WINDOWS.X64_193000_db_home.zip c:/data/db_home.zip

# unzip Oracle golden db image and install VS2013 runtime
RUN powershell -command Expand-Archive c:\\data\\db_home.zip -DestinationPath c:\\data\\db_home
RUN setx path ".;c:\data\db_home\Bin;%path%;"

ENV ORACLE_HOME c:\\data\\db_home
COPY vcredist_x64.exe c:/vcredist_x64.exe

# Install VS2013 runtime env
RUN powershell.exe -Command \
$ErrorActionPreference = 'Stop'; \
Start-Process c:\vcredist_x64.exe -ArgumentList '/install /passive /norestart ' -Wait ; \
Remove-Item c:\vcredist_x64.exe –Force

# Provide response file to install Oracle Software Only (modified to workaround bug)
COPY db.rsp c:\\data\\db.rsp

#Execute response file to install Oracle Software Only
RUN c:\data\db_home\setup.bat -silent -responseFile c:\data\db.rsp

我使用自定义响应文件(添加了 INVENTORY_LOCATION 修复),并且可以根据需要提供详细信息。

构建 docker 容器,Oracle 安装程序 (setup.bat) 会给出以下输出:

Setupassistent von Oracle Database wird gestartet...
[WARNING] [INS-13001] Oracle-Datenbank wird auf diesem Betriebssystem nicht unterstützt. Die   Voraussetzungsprüfungen werden nicht auf dem System durchgeführt.
   URSACHE: Möglicherweise war dieses Betriebssystem zum Zeitpunkt des Release dieser Software nicht in der Zertifizierungsliste enthalten.
   AKTION: Im My Oracle Support-Portal finden Sie die aktuellsten Zertifizierungsinformationen für dieses Betriebssystem. Setzen Sie die Installation fort, wenn das Betriebssystem nach dem Release dieser Software zertifiziert
wurde.
[FATAL] [INS-35180] Prüfung auf verfügbaren Speicher nicht möglich.
*ZUSÄTZLICHE INFORMATIONEN:*
Exception details
 - PRVG-1901 : Verzeichnis "C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_11-31-17AM\CVU_19.0.0.0.0_ContainerAdministrator\" für CVU-Remote-Ausführungsframework konnte auf Knoten "93e1bbb9fbe4" ni
cht eingerichtet werden Wählen Sie einen anderen Arbeitsbereich für das Framework 93e1bbb9fbe4 : PRKN-1014 : Remote-Befehl "C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_11-31-17AM\CVU_19.0.0.0.0_
ContainerAdministrator\\exectask.exe" konnte nicht auf Knoten "93e1bbb9fbe4" ausgeführt werden.Failed during connecting to service 93e1bbb9fbe4 : Failed during connecting to service Version von exectask konnte von Knoten "93e1bbb9fbe4" nicht abgerufen werden


Installationssessionlogs wurden verschoben in:
 C:\Program Files\Oracle\Inventory\logs\InstallActions2024-02-06_11-31-17AM

如果我查看 C:\Program Files\Oracle\Inventory\logs\InstallActions2024-02-06_11-31-17AM 中的 .out 文件,这就是事情似乎开始出错的地方:

[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [RemoteExecCommand.executeInternal:1261]  executing the command: 'C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_10-55-17AM\CVU_19.0.0.0.0_ContainerAdministrator\\exectask.exe' with args '-getver ', 'm_stdin == null ->true', 'm_localExecution ->true', 'm_chkException ->false'
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [Utils.getLocalHost:487]  Hostname retrieved: 93e1bbb9fbe4, returned: 93e1bbb9fbe4
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [WindowsSystem.dorunRemoteExecCmd:3118]  _WS_: Calling windowsNative with cmd: C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_10-55-17AM\CVU_19.0.0.0.0_Co
ntainerAdministrator\\exectask.exe
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  sprvmjni: isCopy=1 cmd=C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_10-55-17AM\CVU_19.0.0.0.0_ContainerAdministrato
r\\exectask.exe

[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  sprvmjni: isCopy=1 node=93e1bbb9fbe4

[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  num args: 1

[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  args[0] = -getver

[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  Trying to open a named pipe
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  About to open pipe
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  calling create file for pipe \\93e1bbb9fbe4\pipe\srvmremotexecpipev2
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  None-pipe-busy error 1231
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  sprvcli: retval = 7

[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [nativesystem.WindowsNative.Native]  Couldn't talk to service
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [WindowsSystem.dorunRemoteExecCmd:3122]  _WS_: WinNative returned: false
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [RemoteExecCommand.executeInternal:1292]  cmdSuccess status: false
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [RemoteExecCommand.execute:1050]  Second attempt to run the command 'C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_10-55-17AM\CVU_19.0.0.0.0_ContainerAdministrator\\exectask.exe'  status: false
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [RemoteExecCommand.execute:1062]  cmdSuccess status: false
[Worker 1] [ 2024-02-06 10:55:59.884 MEZ ] [VerificationCommand.execute:419]  commandResult.getErrorString()=PRKN-1014 : Remote-Befehl "C:\Users\ContainerAdministrator\AppData\Local\Temp\InstallActions2024-02-06_10-55-17AM\CVU
_19.0.0.0.0_ContainerAdministrator\\exectask.exe" konnte nicht auf Knoten "93e1bbb9fbe4" ausgeführt werden.Failed during connecting to service

因此打开与命名管道的连接似乎存在问题。但我不知道如何解决这个问题。

我的工作环境也相当有限,所以切换到 Linux 不是一个选择。 我是否忽略了需要配置的任何内容?有什么办法可以解决这个问题吗? 如果需要,我很乐意提供更详细的信息。

我尝试以不同用户(本地管理员/本地用户)身份运行安装程序,但没有成功。 我在这里有点不知所措,因为我对 docker 和 Oracle 数据库还很陌生,如果我搜索帮助,我只能同时找到有关 Windows、Oracle DB、Docker 三个主题中的两个的信息。

感谢您的帮助!

windows oracle docker
1个回答
0
投票

自己解决了问题。

愚蠢的我无意中没有将安装选项更改为:

oracle.install.option=INSTALL_DB_SWONLY

在数据库设置的响应文件中。

正确设置后,安装顺利完成,然后必须手动完成配置。

这个存储库帮助我做到了很多:

https://github.com/orest-gulman/Oracle-Database-on-Windows-Container

© www.soinside.com 2019 - 2024. All rights reserved.