温馨提示×

centos oracle安装失败怎么办

小樊
46
2025-12-21 10:38:57
栏目: 云计算

CentOS 上安装 Oracle 失败排查与修复

一、先定位问题

  • 查看安装日志:安装器日志通常在 $ORACLE_BASE/oraInventory/logs/,图形界面失败可先看 installActions.log* 与 cvu/ 目录下的检查日志,定位具体报错关键字(如缺少库、内核参数、权限等)。
  • 确认运行身份与环境:安装必须由 oracle 用户执行,不能以 root 直接运行;若报图形界面错误,检查 DISPLAYxhost + 是否可用。
  • 快速自检命令示例:
    • 查看日志:tail -n 200 $ORACLE_BASE/oraInventory/logs/installActions*.log
    • 检查 X11:echo $DISPLAY;xhost +(在 root 下执行一次即可)
    • 检查用户:id oracle;groups oracle
      以上做法能快速缩小问题范围,避免盲目改动系统配置。

二、环境与依赖修复

  • 安装常用依赖(以 x86_64 为例,CentOS 7/8 均可用 yum/dnf):
    • yum/dnf install -y binutils compat-libstdc+±33 elfutils-libelf gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel make sysstat libXp libXtst libXi unixODBC unixODBC-devel
    • 若报图形库缺失(如 libXp.so.6 等),补充安装对应 libXp/libXtst/libXi 包。
  • 图形界面与语言:
    • 乱码可临时设置:export LANG=en_US
    • 无法连接 X11:在 root 执行 xhost +,切换到 oracle 后设置 export DISPLAY=:0.0(或服务器 IP:0.0),必要时用 vncserver 或在本机 X11 转发。
  • 系统版本校验误报(如新内核被识别为不受支持):可临时设置环境变量绕过检查(仅用于确认问题):export CV_ASSUME_DISTID=RHEL7.6(对应安装介质版本选择)。
  • 以上步骤可解决绝大多数“依赖缺失、图形无法启动、版本校验失败”的问题。

三、内核参数与资源限制

  • 内核参数(/etc/sysctl.conf,执行 sysctl -p 生效):
    • fs.aio-max-nr = 1048576
    • fs.file-max = 6815744
    • kernel.shmall = 2097152
    • kernel.shmmax = 4294967295(建议不小于物理内存,可按需调大)
    • kernel.shmmni = 4096
    • kernel.sem = 250 32000 100 128
    • net.ipv4.ip_local_port_range = 9000 65500
    • net.core.rmem_default = 262144;net.core.rmem_max = 4194304
    • net.core.wmem_default = 262144;net.core.wmem_max = 1048576
  • 资源限制(/etc/security/limits.conf):
    • oracle soft nproc 2047;oracle hard nproc 16384
    • oracle soft nofile 1024;oracle hard nofile 65536
  • 会话与登录限制(/etc/pam.d/login 与 /etc/profile 中按需添加):
    • session required pam_limits.so
    • 在 oracle 用户的 profile 中设置:ulimit -u 16384 -n 65536
  • 这些参数与限制是 Oracle 官方预检的硬性要求,未达标会导致安装器报错或建库失败。

四、常见报错与对应修复

  • 缺少 libaio 导致检查失败(如 INS-20802):执行 yum install -y libaio,再 Check Again。
  • 图形界面无法启动或报 X11 错误:root 执行 xhost +;oracle 用户设置 export DISPLAY=:0.0 或服务器 IP:0.0;必要时安装/启用 vncserver 或在本机启用 X11 转发。
  • 链接阶段报错(如 “Error in invoking target ‘agent nmhs’ of makefile”):编辑 $ORACLE_HOME/ctx/lib/ins_ctx.mk,将 ctxhx 行改为:
    • ctxhx: $(CTXHXOBJ) -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
      保存后 Retry;如仍有问题,检查 ins_emagent.mk 的链接选项。
  • 共享内存段创建失败(如 ORA-27125):将 dba 组的 GID 写入内核参数:echo <dba_gid> > /proc/sys/vm/hugetlb_shm_group,再重试建库。
  • 安装器版本校验不通过:临时设置 export CV_ASSUME_DISTID=RHEL7.6 以完成安装(完成后建议恢复为实际系统标识)。
  • 以上为高频问题,按报错关键字对照处理即可快速恢复。

五、网络与后续配置

  • 防火墙放行(示例为 firewalld):
    • firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
    • firewall-cmd --reload;firewall-cmd --list-ports
  • 监听与启停:
    • 启动监听:lsnrctl start;停止:lsnrctl stop
    • 数据库启停:dbstart / dbshut(若提示 ORACLE_HOME_LISTNER 问题,将脚本中的 $1 改为 $ORACLE_HOME
  • oratab 设置:确保 /etc/oratab 中实例行末尾为 Y,否则 dbstart/dbshut 不会生效。
  • 这些步骤确保安装后监听与实例能正常对外提供访问。

0