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 76 最小覆盖子串

    76. 最小覆盖子串 给你一个字符串 S.一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", T = ...

  2. Java实现 洛谷 P1980 计数问题

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = ...

  3. Java实现 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is He…

    import java.util.Scanner; public class Main{ private static Scanner cin; public static void main(Str ...

  4. java实现第七届蓝桥杯寒假作业

    题目6.寒假作业 寒假作业 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见[图1. ...

  5. PAT 跟奥巴马一起编程

    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个 ...

  6. JNI_day01

    C语言简介 system()是提供C语言调用系统命令的函数 C语言基本数据类型 C语言中的整数类型:char/short/int/long C中使用ASCII保存字符,所以char所占用的字节数为1 ...

  7. 00-03.kaliLinux-vi粘贴复制功能配置

    KaliLinux在xShell的vim中默认是无法复制和粘贴的,需要做如下配置后才能使用: 方法一 进入vim命令行模式,输入: :set mouse=c #进入Command-line 模式 然后 ...

  8. win32 socket http 操作

    纯wininet 操作http关键代码如下: HINTERNET hNet = ::InternetOpen(_T("Test"), INTERNET_OPEN_TYPE_DIRE ...

  9. 记一次@ResponseBody注解返回中文乱码的问题

    Bug场景 前端AJax $.ajax({ url: '$!{request.getContextPath()}/XX/save.do', type: 'post', dataType: 'json' ...

  10. Centos6,Centos7防火墙设置与端口开放的方法

    Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld.端口的开启还是要从两种情况来说明的,即iptables和firewalld. 一.iptables 1.打开/关闭 ...