温馨提示×

如何解决centos oracle安装失败

小樊
39
2025-11-23 19:37:14
栏目: 云计算

CentOS 上 Oracle 安装失败的定位与修复

一、先定位问题

  • 查看安装日志,优先从报错附近向上翻页,确认具体阶段与报错关键词。日志路径通常为:$ORACLE_BASE/oraInventory/logs/installActions*.logoraInstall.err*、oraInstall.out*。若未设置 ORACLE_BASE,可在安装会话临时导出,例如:export ORACLE_BASE=/u01/app/oracle
  • 图形安装失败先检查 X11:执行xdpyinfo是否能运行;若报“Unable to verify the graphical display setup”,以 oracle 用户设置显示变量:export DISPLAY=:0.0,必要时使用xhost +授权,或改用静默安装。
  • 确认运行身份与权限:安装程序不能以 root 直接运行;使用具有 sudo 权限的 oracle 用户执行。
  • 若只是系统版本不被识别(多见于旧版 OUI),可在安装命令后临时忽略预检:runInstaller -ignoreSysPrereqs(仅用于排查,不建议生产环境长期使用)。

二、最常见的三类故障与修复

  • 依赖库缺失(图形库、32/64 位兼容库)
    • 典型报错:libXp.so.6: cannot open shared object filelibawt.so 相关、INS-20802(常见于缺少 libaio)。
    • 处理建议:
      • 安装基础 X11 与打印相关库:yum install -y libXp libXt libXtst libXp.so.6(或系统对应包名)。
      • 安装 libaioyum install -y libaio libaio-devel
      • x86_64 系统上,部分旧版 Oracle(如 10g/11g)构建阶段需要同时具备 32 位 兼容库(如 glibc-devel.i686libstdc++-devel.i686libXtst.i686 等),否则会出现链接或运行期库缺失。
  • 系统标识或内核参数导致的预检失败
    • 旧版 OUI 对 CentOS 识别不全,可能报“操作系统不受支持”。可在安装时加 -ignoreSysPrereqs 临时通过,或按教程将 /etc/redhat-release 临时伪装为受支持的 RHEL 版本(安装完成后务必改回)。
    • 内核参数与资源限制不足也会导致失败,建议按 Oracle 官方文档设置 kernel.shmmax/shmall/semfs.file-maxaio-max-nr 等,并配置 /etc/security/limits.conforacle 用户 nofilenprocstack 等限制。
  • 共享内存与权限问题
    • 建库阶段可能出现 ORA-27125: unable to create shared memory segment
    • 处理:将 dba 组的 GID 写入内核参数:echo <dba_gid> > /proc/sys/vm/hugetlb_shm_group,然后重试建库。

三、准备与配置核对清单

  • 创建用户与目录
    • 用户组:groupadd -g 54321 oinstallgroupadd -g 54322 dba(可按需添加 oper)。
    • 用户:useradd -u 54321 -g oinstall -G dba,oper oracle;设置密码。
    • 目录:mkdir -p /u01/app/oracle/product/19.3/dbhome_1chown -R oracle:oinstall /u01chmod -R 775 /u01
  • 依赖包(以 11g/19c 常见需求为例,按发行版选择 yum/dnf)
    • binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel ksh(部分旧版可能还需 pdkshcompat-libstdc++ 等)。
  • 图形与显示
    • oracle 用户执行:export DISPLAY=:0.0,必要时 xhost +;若仍异常,改用静默安装。
  • 防火墙与 SELinux(安装阶段可临时关闭以排除干扰)
    • systemctl stop firewalld && systemctl disable firewalldsetenforce 0/etc/selinux/configSELINUX=permissive/disabled(安装完成后再按安全策略恢复)。

四、静默安装与常见后续问题

  • 静默安装简述
    • 准备响应文件(response file),常用命令:./runInstaller -silent -responseFile /path/db_install.rsp -ignorePrereq
    • 安装完成后以 root 执行 $ORACLE_BASE/oraInventory/orainstRoot.sh$ORACLE_HOME/root.sh
  • 监听与启停脚本
    • 启动监听:lsnrctl start;启动数据库:dbstart $ORACLE_HOME(若提示监听未就绪,先确保监听已起)。
    • dbstart/dbshut 无效,检查 $ORACLE_HOME/bin/dbstartORACLE_HOME_LISTNER=$ORACLE_HOME;并在 /etc/oratab 将实例行尾的 N 改为 Y
  • 其他易错点
    • 主机名解析:在 /etc/hosts 添加“本机IP 本机主机名”,避免安装或监听异常。
    • 旧版 10g 在部分 x86_64 环境可能报链接错误(如 crt1.o: No such file),需补齐 glibc-devel32 位 包后再重试。

0