当前位置:首页 > 问答 > 正文

Oracle CentOS 简化在CentOS 5.4上完成Oracle 10g安装的高效方法

在CentOS 5.4上轻松搞定Oracle 10g安装的实用指南

场景引入
"老张盯着屏幕上第3次报错的Oracle安装日志,第N次叹气——明明照着官方文档一步步来,怎么在CentOS 5.4上装个Oracle 10g就这么费劲?依赖包像打地鼠一样冒个不停,内核参数调了又调…" 如果你也遇到过类似情况,这篇保姆级教程就是为你准备的。


准备工作:别急着点安装程序

系统环境确认

先确保你的CentOS 5.4是干净的最小化安装(避免软件冲突),并检查基础配置:

# 查看系统版本
cat /etc/redhat-release
# 确认内存(建议至少1GB)
free -m
# 检查磁盘空间(/tmp至少1GB,安装目录建议15GB以上)
df -h

手动解决依赖包(比yum更靠谱)

CentOS 5.4的默认源已失效,直接yum会报错,推荐手动下载这些关键包(以i386为例,x86_64需替换对应版本):

  • compat-libstdc++-33-3.2.3-61
  • elfutils-libelf-devel-0.125-3.el5
  • libaio-devel-0.3.106-5
  • unixODBC-2.2.11-7.1

小技巧:如果找不到包,可以到老牌镜像站如vault.centos.org的5.4目录下搜索。


系统配置调优:绕开80%的坑

内核参数调整

编辑/etc/sysctl.conf,添加以下内容(直接复制粘贴):

Oracle CentOS 简化在CentOS 5.4上完成Oracle 10g安装的高效方法

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576

执行sysctl -p生效,别漏了这步!

用户和目录权限

创建Oracle用户和组(密码建议简单点,比如oracle):

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle:oracle" | chpasswd

创建安装目录并赋权:

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01

环境变量配置

切换到oracle用户,编辑~/.bash_profile

Oracle CentOS 简化在CentOS 5.4上完成Oracle 10g安装的高效方法

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

执行source ~/.bash_profile生效。


安装Oracle 10g:图形界面不卡死的秘诀

上传安装包并解压

10201_database_linux32.zip(或64位版本)上传到/tmp,解压:

unzip 10201_database_linux32.zip -d /tmp/oracle
chown -R oracle:oinstall /tmp/oracle

解决图形化安装报错

用oracle用户登录,执行:

# 指定本地显示(如果远程连接,先确保X11转发已配置)
export DISPLAY=:0.0
xhost +
cd /tmp/oracle/database
./runInstaller

常见问题

Oracle CentOS 简化在CentOS 5.4上完成Oracle 10g安装的高效方法

  • 如果弹窗失败,尝试用xclock测试图形是否正常。
  • 报错"Error in invoking target 'install' makefile"?执行:
    cd $ORACLE_HOME/network/lib
    make -f ins_net_client.mk install

安装选项精简

  • 选择"高级安装",跳过Email通知
  • 数据库类型选"通用"
  • 字符集务必选ZHS16GBK(中文支持)
  • 最后一步别急着点完成!先按提示以root身份运行/u01/app/oracle/oraInventory/orainstRoot.sh$ORACLE_HOME/root.sh

安装后必做检查

测试数据库状态

sqlplus / as sysdba
SQL> startup
SQL> select status from v$instance;
# 看到"OPEN"就是成功了!

自动启动配置(可选)

编辑/etc/oratab,将最后的orcl:/u01/app/oracle/product/10.2.0/db_1:N改为Y,然后添加开机脚本:

ln -s $ORACLE_HOME/bin/dbstart /etc/init.d/oracle
chkconfig --add oracle

最后唠叨
CentOS 5.4和Oracle 10g这对"老搭档"虽然年代久远,但在一些传统场景仍躲不掉,按这个流程走,2小时内就能搞定——毕竟咱踩过的坑,不能让你再踩一遍,如果还卡住,检查$ORACLE_HOME/install/make.log里的错误日志,对症下药就行!

(注:本文基于2025年仍可访问的CentOS历史归档资源整理,适用于内网等特殊环境。)

发表评论