RHEL 6上安装Oracle 11G警告缺少pdksh包

前言

相信很多刚刚接触学习Oracle的人,在RHEL6上安装11.2.0.3 or 11.2.0.4这两个版本的时候,

都遇到过先决条件检查的时候,警告缺少pdksh包的问题。

如下边截图:

对于这个问题,无论是个人自己的测试环境安装,或者是企业服务器上安装遇到,不外乎两种解决方法:

  1. 忽略该警告,继续下一步安装
  2. 网上下载单独该包的rpm包安装

不过,对于第二种解决方法,存在一个问题。

再用rpm -ivh安装pdksh包的时候,会报错和已安装的ksh包冲突,安装不了。

很多人也选择卸载ksh包,安装pdksh。

不过,ksh是Oracle官方文档指定要安装的包之一。

在Oracle Linux 6, Red Hat Enterprise Linux 6 and Asianux Server 4,要求:

The following packages (or later versions) must be installed:

binutils-2.20.51.0.2-5.11.el6.i686
compat-libcap1-1.10-1.i686
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6.i686
gcc-c++-4.4.4-13.el6.i686
glibc-2.12-1.7.el6.i686
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6.i686
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6.i686
sysstat-9.0.4-11.el6.i686

你卸载了官方指定要求的包,自己测试环境不说,企业环境肯定不允许这样。

另外,不止图形化警告该包没有安装,在安装日志里边也可以看到有报错:

[root@adg ~]# tail - /tmp/OraInstall2020--03_10--27PM/installActions2020--03_10--27PM.log
INFO: Package: pdksh-5.2.: This is a prerequisite condition to test whether the package "pdksh-5.2.14" is available on the system.
INFO: Severity:IGNORABLE
INFO: OverallStatus:VERIFICATION_FAILED
INFO: -----------------------------------------------
INFO: Verification Result for Node:adg
INFO: Expected Value:pdksh-5.2.14
INFO: Actual Value:missing
INFO: Error Message:PRVF-7532 : Package "pdksh" is missing on node "adg"
INFO: Cause: A required package is either not installed or, if the package is a kernel module, is not loaded on the specified node.
INFO: Action: Ensure that the required package is installed and available.

原因

先说说前边提到的两种方法是否可取。

第二种肯定不可取,但是第一种是可行,企业大多数都这样做。

但是为什么忽略是可行的,有没有官方石锤的说法。

很遗憾,我在metalink上搜不到可以忽略的文档说明,百度也没看到让人信服的说法。

其实真正的原因是,OUI(安装程序)会执行下列命令

/bin/rpm -q --qf %{version} redhat-release

来识别OS版本信息,但是在RHEL6中,软件包redhat-release已被redhat-release-server-6Server取代。

什么意思,在RHEL5执行情况如下:

[root@oracle ~]# /bin/rpm -q --qf %{version} redhat-release
5Server
[root@oracle ~]#

在RHEL6中执行情况如下:

[oracle@adg database]$ /bin/rpm -q --qf %{version} redhat-release
package redhat-release is not installed

其实正确的话在RHEL6应该是执行:

[oracle@adg database]$ /bin/rpm -q --qf %{version} redhat-release-server-6Server
6Server

才是对的。

由于无法确认操作系统版本信息,这使OUI认为该服务器不是RHEL服务器。

由于OUI无法识别服务器的类型,因此OUI会执行默认(OEL4)前提条件检查。

这个是Oracle unpublished(未发布的) bug 13981169。

解决

除了直接忽略,Oracle提供另外一种方法,(强迫症患者福利)

1.解压好安装包后,进到这个目录/database/stage/cvu/cv/admin

[oracle@adg admin]$ ls -l
total
-rwxr-xr-x. oracle oinstall Aug cvu_config

2.备份cvu_config

[oracle@adg admin]$ ls -l
total
-rwxr-xr-x. oracle oinstall Aug cvu_config
-rwxr-xr-x. oracle oinstall Jul : cvu_config.bak

3.编辑cvu_config,更改

CV_ASSUME_DISTID=OEL4

CV_ASSUME_DISTID=OEL6

并保存。

4.重新开始安装

至此,不在有该警告。

参考文档:Installing 11.2.0.3 Or 11.2.0.4 (32-bit (x86) or 64-bit (x86-64) ) On RHEL6 Reports That Packages "elfutils-libelf-devel-0.97" And "pdksh-5.2.14" Are Missing (PRVF-7532) (Doc ID 1454982.1)

Red Hat Enterprise Linux 6上安装Oracle 11G(11.2.0.4.0)缺少pdksh包的问题的更多相关文章

  1. Red Hat Enterprise Linux x86-64 上安装 oracle 11gR2

    一.以root用户登录 二.安装依赖包 #rpm -qa | grep 包名    ----查看包 binutils-2.20.51.0.2-5.11.el6 (x86_64)            ...

  2. 在Red Hat Enterprise Linux 5 64-bit安装oracle11g r2

    网上这种文档一搜就一堆,没别的目的,刚接触oracle为了加深理解记忆.只要是跟我的版本一样操作系统和oracle软件,按照步骤肯定可以成功安装 在虚拟机上安装Red Hat Enterprise L ...

  3. Red Hat Enterprise Linux 6.6安装体验

    Red Hat Enterprise Linux 6.6的安装首界面有五个选项,这跟以前的Red Hat Enterprise Linux 5.x的安装界面是有一些区别的.   安装或者升级现有系统( ...

  4. SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)

    本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创 ...

  5. 在Oracle Enterprise Linux R5U7上安装Oracle 11gr2数据库

    折腾了好几次,经验是: 包的安装 在安装包里,需要把开发方面的安装包都装上. 另外安装完成后,需要安装的包包括: cd /media/cdrom/Server rpm -Uvh binutils-2. ...

  6. Deploy Oracle 10.2.0.5 on Red Hat Enterprise Linux 6.4

    一.Linux系统安装和配置 1.安装系统时选Desktop 2.设置eth0网卡为静态IP,加入子网掩码,网关,DNS.并配置自己主动启动 3.改动/etc/hosts.加入主机名和相应IP 4.禁 ...

  7. Configure Red Hat Enterprise Linux shared disk cluster for SQL Server——RHEL上的“类”SQL Server Cluster功能

    下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) ...

  8. Configure Always On Availability Group for SQL Server on RHEL——Red Hat Enterprise Linux上配置SQL Server Always On Availability Group

    下面简单介绍一下如何在Red Hat Enterprise Linux上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的 ...

  9. Configure Red Hat Enterprise Linux shared disk cluster for SQL Server

    下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) ...

随机推荐

  1. Java实现LeetCode_0014_LongestCommonPrefix

    package javaLeetCode.primary; /** * Write a function to find the longest common prefix string amongs ...

  2. Java实现 洛谷 P1280 尼克的任务

    import java.util.Scanner; public class Main { public static class edg{ private int to; private int n ...

  3. java实现第四届蓝桥杯猜灯谜

    猜灯谜 题目描述 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字. 请你用计算机按小明的思路算一下,然后提交&quo ...

  4. 关于adb的下载和基本使用

    我们无论是开发还是测试,对Android SDK一定都不陌生,如果我们要使用adb(Android debug bridge)命令,那么这个就必不可少了. 1.给大家提供一个下载地址:https:// ...

  5. throws,throw,try,catch,finally 分别代表什么 意义?

    Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口. 在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例.当一个方法出现异常后便 抛出一个异 ...

  6. Mac搭建Fluter应用环境

    1.创建一个路径.例如我创建是: /Users/chenghui/ 然后创建一个文件夹: development 把下载好的Fluter 解压到当前目录下: development /Users/ch ...

  7. MySQL 性能优化之慢查询

    性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 其次使用explain命令去查询由问题的SQL的执行计划(脑补链接:点我直达1,点我直达2) 最后可以使用show pro ...

  8. Linux 虚拟机详细安装MySQL

    准备工作 下载MySQL 去官网下载MySQL:点我直达 百度云盘地址:链接: https://pan.baidu.com/s/1qBN4r6t8gvq-I4CFfQQ-EA 密码: hei3 检查L ...

  9. mysql面试题总结

    Mysql中的myisam与innodb的区别? InnoDB存储引擎的四大特性? 什么是事务? 数据库事务的四大特性? 不考虑事务的隔离性,会发生几种问题? MySQL数据库提供的四种隔离级别? 有 ...

  10. 利用Azure Functions和k8s构建Serverless计算平台

    题记:昨晚在一个技术社区直播分享了"利用Azure Functions和k8s构建Serverless计算平台"这一话题.整个分享分为4个部分:Serverless概念的介绍.Az ...