配置 ORACLE 18c XE 时出错

配置 ORACLE 18c XE 时出错

我已经安装了 18c express 版本的 rpm。但在配置数据库时,我收到以下错误

root@venky:/opt/oracle/cfgtoollogs/dbca# /etc/init.d/oracle-xe-18c configure
/etc/init.d/oracle-xe-18c: line 488: /bin/awk: No such file or directory
/bin/df: unrecognized option '--direct'
Try '/bin/df --help' for more information.
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
 Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:

Confirm the password:

Configuring Oracle Listener.

/opt/oracle/product/18c/dbhomeXE/bin/netca: 1: /opt/oracle/product/18c/dbhomeXE/bin/platform_common: /opt/oracle/product/18c/dbhomeXE/bin/netca: 1: /opt/oracle/product/18c/dbhomeXE/bin/platform_common: /bin/awk: not found/bin/awk: not found

Error: Could not find or load main class oracle.net.ca.NetCA
Listener configuration failed. Check log '/opt/oracle/cfgtoollogs/netca/netca_configure_out.log' for more details.
root@venky:/opt/oracle/cfgtoollogs/dbca# 

答案1

这是我试图表明的我对你的另一个问题的评论,当我提到包依赖项,库等时。

在 CentOS 和 RHEL 中,该程序至少awk位于/bin/awk。在 Ubuntu 中,默认情况下,它位于/usr/bin/awk 因为 RPM 使用硬编码路径,所以很可能这不是您遇到问题的唯一可执行文件。

为此,您可以采用“黑客”方式或“更安全”的方式来执行此操作。


Hackish 方式 - 这将是一个令人头痛的问题

继续运行后,如果遇到缺少硬编码路径的程序,请在单独的命令行中尝试运行没有路径的程序。如果程序存在,则运行which PROGRAM(例如which awk)。这将为您提供文件路径位置。

之所以说这是黑客行为,是因为它稍微改变了东西的“安装”位置。创建一个指向sudoRPM 所寻找的正确位置的符号链接。在本例中,awk 需要/bin/awk

sudo ln -s $(which awk) /bin/awk

这是的示例awk。这些将根据缺少的具体命令而发生根本性改变。

请注意,我不建议您使用此方法。 因为它可能会以非预期的、令人痛苦的方式影响系统上其他程序的行为。


安全方法 - 使用 VirtualBox 中的 VM 或 CentOS LXD 映像

这两种方法都需要安装额外的软件。

本质上,这会将 CentOS 映像(RPM 与之配合使用比 Ubuntu 更安全)放入基于 LXD 的容器或系统上的 VM 中。不过,其他网站上还有多个关于如何安全地执行此操作的指南(我们不支持 Ask Ubuntu 上的 CentOS)。

但这是更安全方法。然后,您可以单独建立与此系统的连接,这种方式不会损害您的 Ubuntu 系统或影响其运行或启动方式。

相关内容