"老张,咱们新项目要用Oracle 19C,你这两天能在测试环境的RHEL7.9上先搭一套吗?" 产品经理拍了拍我的肩膀,我点点头,心里盘算着又要和Oracle的安装向导"斗智斗勇"了,如果你也和我一样,正在为在Red Hat Enterprise Linux 7.9上安装Oracle 19C发愁,那这篇手把手的教程就是为你准备的。
首先得确认你的RHEL7.9满足Oracle 19C的基本要求:
用这些命令快速检查:
# 查看内存 free -h # 查看交换空间 swapon --show # 查看磁盘空间 df -h
Oracle就像个挑剔的客人,少一个依赖包都可能闹脾气,运行以下命令安装必备软件包:
yum install -y binutils \ compat-libcap1 \ compat-libstdc++-33 \ gcc \ gcc-c++ \ glibc \ glibc-devel \ ksh \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ libxcb \ libX11 \ libXau \ libXi \ libXtst \ libXrender \ libXrender-devel \ make \ nfs-utils \ net-tools \ smartmontools \ sysstat \ unzip \ vim \ xorg-x11-utils \ xorg-x11-xauth \ zip
编辑/etc/sysctl.conf
文件,加入以下内容:
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
然后执行sysctl -p
让配置生效。
Oracle不喜欢用root身份运行,我们需要创建专门的用户和组:
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper useradd -u 54321 -g oinstall -G dba,oper oracle echo "oracle123" | passwd oracle --stdin
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 mkdir -p /u02/oradata chown -R oracle:oinstall /u01 /u02 chmod -R 775 /u01 /u02
切换到oracle用户,编辑~/.bash_profile
:
su - oracle vim ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
执行source ~/.bash_profile
使配置生效。
将Oracle 19C的安装包上传到服务器,通常是一个ZIP文件,假设我们放在/tmp
目录:
cd /tmp unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME ./runInstaller
这时候会弹出图形界面,如果遇到无法显示图形的问题,可以尝试用X11转发或者安装vncserver。
安装到最后会提示需要用root权限执行两个脚本:
/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
新开一个终端,切换到root用户执行这两个脚本。
回到oracle用户,运行数据库配置助手:
dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname orcl -sid orcl -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword oracle123 \ -systemPassword oracle123 \ -createAsContainerDatabase false \ -totalMemory 2048 \ -storageType FS \ -datafileDestination /u02/oradata \ -recoveryAreaDestination /u02/fra \ -enableArchive true \ -redoLogFileSize 200 \
这个命令会创建一个名为orcl的数据库,SID也是orcl,字符集是AL32UTF8,系统用户密码都是oracle123。
安装完成后,验证数据库是否正常运行:
sqlplus / as sysdba SQL> SELECT status FROM v$instance;
应该返回"OPEN"状态。
如果连接时遇到这个错误,检查监听器配置:
lsnrctl status
如果监听器没启动,执行:
lsnrctl start
如果安装过程中出现内存不足的警告,可以创建swap文件:
dd if=/dev/zero of=/swapfile bs=1M count=4096 chmod 600 /swapfile mkswap /swapfile swapon /swapfile
如果无法显示图形界面,可以尝试安装vncserver:
yum install -y tigervnc-server vncserver
然后配置DISPLAY环境变量:
export DISPLAY=:1
sqlplus / as sysdba SQL> ALTER USER sys IDENTIFIED BY 新密码; SQL> ALTER USER system IDENTIFIED BY 新密码;
firewall-cmd --permanent --add-port=1521/tcp firewall-cmd --reload
创建服务文件/etc/systemd/system/oracle-rdbms.service
:
[Unit] Description=Oracle RDBMS After=syslog.target network.target [Service] Type=forking Environment=ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 Environment=ORACLE_SID=orcl ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME User=oracle Group=oinstall [Install] WantedBy=multi-user.target
然后启用服务:
systemctl daemon-reload systemctl enable oracle-rdbms systemctl start oracle-rdbms
"老张,Oracle装好了吗?"产品经理又来了。"刚弄完,正在做最后的测试。"我回答道,其实安装Oracle就像组装一台精密仪器,每个步骤都不能马虎,按照上面的流程走下来,你应该能在RHEL7.9上顺利部署Oracle 19C了,如果遇到问题,别急着重装,先查日志(通常在$ORACLE_HOME/cfgtoollogs
下),大多数错误都有解决方案。
好的开始是成功的一半,规范的安装能为后续运维省去很多麻烦,你可以开始享受Oracle带来的强大功能了!
本文由 班妙春 于2025-08-02发表在【云服务器提供商】,文中图片由(班妙春)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/513855.html
发表评论