物理机怎么装Oracle数据库,安装步骤是什么?

物理机服务器装Oracle数据库,核心思路就一句话:先搞定操作系统环境和依赖包,再用静默方式跑安装程序,最后配置监听和实例,全程不走图形界面也能稳稳落地。


物理机服务器安装oracle数据库前要做哪些硬件和系统检查

老规矩,别一上来就敲命令,物理机和云主机最大的区别在于,硬件资源是独占的,但操作系统环境可能干净得让你想哭,很多人在物理机装Oracle翻车,八成是栽在环境准备这一步。

oracle数据库安装配置,保姆级教程,小白入门必备(附安装包)
加载中
oracle数据库安装配置,保姆级教程,小白入门必备(附安装包)
加
加班摸鱼的程序媛
5.4万--
原视频地址

先看硬件配置够不够格

Oracle 19c是当前主流版本,官方文档给出的最低要求是2核CPU、2GB内存、10GB磁盘空间,但这是”能跑”的标准,不是”跑得动”的标准。

行业共识认为,生产环境物理机建议至少4核起步、16GB内存,磁盘用SSD最好,数据盘和系统盘分开挂载,Oracle安装目录比如/u01单独规划一个分区,避免系统日志把磁盘撑爆。

检查命令很简单:

  • lscpu 看CPU核数和架构
  • free -h 看内存总量和交换分区
  • df -h 看各分区剩余空间
  • fdisk -l 看物理磁盘数量和分区情况

操作系统版本怎么选

Oracle 19c官方支持的操作系统包括RHEL 7.6以上、Oracle Linux 7.6以上、以及CentOS 7.6以上,如果你拿到的物理机是RHEL 8或者Rocky Linux,也问题不大,装的时候加一个兼容参数就行。

物理机服务器安装oracle数据库,很多人纠结选11g还是19c,这里直接给答案:2019年之后新上的业务,无脑选19c,11g在2020年底已经停止官方技术支持,安全补丁断供,等出了漏洞再补救就晚了。

检查系统版本:

cat /etc/os-release
uname -m

x86_64架构没问题,如果是ARM架构的物理机(比如鲲鹏920),得额外下载ARM版的Oracle安装包,别下错了。

网络和主机名这些小细节别忽视

  • hostname 查看主机名,不能带下划线,否则安装时会报错
  • ip addr 查看IP地址,确保有静态IP,DHCP分配的IP在重启后会变
  • /etc/hosts 文件要配置主机名和IP的映射,localhost也加上

很多人在物理机装Oracle卡在PRVG-0282这类报错,就是hosts文件没配好。


物理机服务器安装oracle数据库的系统配置步骤

这部分是整个流程里最枯燥但最关键的,每一条命令都有意义,别跳过。

创建Oracle用户和用户组

Oracle安装不能用root用户跑,得建一个专用的操作系统账户。

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

生产环境建议把oracle用户的umask设置为022,确保创建的文件权限是755,目录是644,避免权限问题导致的诡异报错。

调整内核参数和资源限制

打开/etc/sysctl.conf,追加以下内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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生效,其中kernel.shmmax的值按实际物理内存来改,如果内存是32GB,设成34359738368就够用。

资源限制这块,编辑/etc/security/limits.conf:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

这是老生常谈的配置,但每次都有因为忘了配置nofile导致监听器文件句柄不够、连接数一多就崩的情况。

关闭防火墙和SELinux

物理机装Oracle数据库,防火墙和SELinux是企业环境最常见的坑,内网环境压跟用不上防火墙,先关为敬。

systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

改完SELinux后reboot一次,用getenforce确认输出是Disabled。

安装依赖包

Oracle 19c需要的依赖包一口气装完:

yum install -y bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make net-tools nfs-utils python python-configshell python-rtslib python-six smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libnsl

CentOS 8以上版本用dnf install替代yum install,其他一样,装完用rpm -qa --queryformat '%{NAME}\n' | grep <包名>逐个验证,缺了就单独补。


物理机装oracle数据库的静默安装步骤与关键参数

图形界面安装在这不展开说,物理机远程操作时没有显示器,静默安装才是正路。

正确下载Oracle 19c安装包

去Oracle官网下载LINUX.X64_193000_db_home.zip,约2.7GB,下载完放到/u01/install目录,校验MD5没问题后解压:

unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1

解压完修改目录属主:

chown -R oracle:oinstall /u01/app/oracle

静默安装的响应文件配置

安装包解压目录下有个response目录,里面有db_install.rsp模板,复制一份出来改:

cp /u01/app/oracle/product/19.3.0/dbhome_1/response/db_install.rsp /home/oracle/
chown oracle:oinstall /home/oracle/db_install.rsp

关键参数修改这几个:

  • oracle.install.option=INSTALL_DB_SWONLY 只装数据库软件,不建实例
  • UNIX_GROUP_NAME=oinstall
  • ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
  • ORACLE_BASE=/u01/app/oracle
  • oracle.install.db.InstallEdition=EE 企业版
  • oracle.install.db.OSDBA_GROUP=dba
  • oracle.install.db.OSOPER_GROUP=dba
  • oracle.install.db.OSBACKUPDBA_GROUP=dba
  • oracle.install.db.OSDGDBA_GROUP=dba
  • oracle.install.db.OSKMDBA_GROUP=dba
  • oracle.install.db.OSRACDBA_GROUP=dba
  • oracle.install.db.rootconfig.executeRootScript=false

用oracle用户执行:

su - oracle
cd /u01/app/oracle/product/19.3.0/dbhome_1
./runInstaller -silent -responseFile /home/oracle/db_install.rsp

安装过程中观察终端输出,最后会提示你去执行/u01/app/oracle/product/19.3.0/dbhome_1/root.sh,用root用户跑完之后,再切回oracle用户执行:

su - oracle
/u01/app/oracle/product/19.3.0/dbhome_1/bin/sqlplus -v

看到版本号说明软件装好了。


物理机部署oracle数据库监听与实例创建实操

软件装好了只完成了一半,监听器和实例没起来,Oracle就是一堆摆在那的文件。

配置监听器

用Oracle自带的netca静默建监听:

su - oracle
netca -silent -responseFile /home/oracle/netca.rsp

也可以写一条简化命令:

netca -silent -port 1521 -responsefile $ORACLE_HOME/assistants/netca/netca.rsp

监听默认监听1521端口,配置完成后用lsnrctl status确认状态,看到The command completed successfully就对了。

用dbca创建实例

建库用dbca静默模式,一个参数文件搞定。

先把/etc/oraInst.loc里inventory_loc路径确认一下,然后执行:

dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-sid orcl \
-gdbName orcl \
-characterSet AL32UTF8 \
-memoryPercentage 40 \
-emConfiguration NONE \
-datafileDestination /u01/app/oracle/oradata \
-recoveryAreaDestination /u01/app/oracle/fast_recovery_area \
-storageType FS \
-sampleSchema false \
-automaticMemoryManagement true \
-totalMemory 8000 \
-sysPassword YourStrongPwd1 \
-systemPassword YourStrongPwd1

密码必须符合Oracle的复杂度规则:大小写加数字,至少8位。totalMemory按物理机实际内存的一半左右设,别贪多。

创建过程大概10-20分钟,取决于磁盘性能,等终端输出Database creation complete后,实例就建好了。

验证一下:

sqlplus / as sysdba
SQL> select status from v$instance;

输出OPEN就说明实例正常运行。


物理机服务器安装oracle数据库后的开机自启配置

物理机免不了重启,每次重启都手动启Oracle,运维压力太大,开机自启必须配。

修改/etc/oratab

这个文件是Oracle实例的注册表,安装时自动生成的,编辑它:

vi /etc/oratab

找到orcl:/u01/app/oracle/product/19.3.0/dbhome_1:N,把最后的N改成Y,保存退出。

写启动脚本

新建/etc/init.d/oracle脚本:

#!/bin/bash
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ORACLE_USER=oracle
case $1 in
start)
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
    ;;
stop)
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
    ;;
esac

赋予执行权限并注册到systemd:

chmod +x /etc/init.d/oracle
systemctl daemon-reload
systemctl enable oracle

重启一次物理机,等系统起来后执行sqlplus / as sysdba,能进就说明自启配置成功。


物理机安装oracle时常见报错怎么判断和处理

排错能力决定了运维效率,据统计,物理机装Oracle的报错集中在以下几个场景:

ORA-27154和ORA-27102这类内存报错

内核参数配置和物理内存不匹配,确认/etc/sysctl.conf里的kernel.shmall是否小于物理内存页数,用ipcs -lm和cat /proc/meminfo | grep CommitLimit对照检查。

安装界面卡住不动

物理机装Oracle时如果终端长时间无输出,检查以下三项:

  • 磁盘IO是不是被占满了,用iostat -x 1观察
  • 防火墙是否把Oracle的通信端口封了
  • swap空间是否小于Oracle的最低要求,生产物理机建议swap至少8GB

监听起来了但连不上

  • lsnrctl status看服务注册状态
  • netstat -tlnp | grep 1521确认监听端口
  • tnsping测通不代表数据库可用,sqlplus连着才算

物理机安装oracle数据库为什么要避开几个常见误区

最后聊几个容易走偏的点。

小内存物理机硬装5个实例,每个实例内存分配过高,导致系统物理机本身卡到登录都困难,内存不够就老老实实减少实例或调低SGA_TARGET,别赌运气。

官方便携版和RPM版适合开发环境,生产环境别用,Oracle提供了完整的runInstaller安装器,多花十几分钟走正规流程,后续补丁升级和日志排查才不遭罪。

物理机服务器装oracle数据库的成本,除了服务器采购,更值得关注的是后续运维时间,规范安装、完整记录安装日志、文档化配置变更,比任何花哨的自动化工具都管用。


物理机服务器安装oracle数据库常见问题解答

问题:物理机装Oracle一定要图形界面吗?

不必须,物理机在机房交付后往往没有显示器,SSH连上去用静默安装方式即可。runInstaller加-silent参数,配合响应文件,全程无图形界面也能完成安装。

问题:物理机部署Oracle对磁盘分区有什么建议?

Oracle安装目录、数据文件目录、归档日志目录分开挂载,数据文件放独立的数据盘,系统盘只放操作系统和Oracle软件,这样某块盘故障时,其他组件不受牵连。

问题:Oracle 11g和19c在物理机上的性能表现差别大吗?

19c的优化器和管理工具比11g成熟不少,自治数据库方面有些特性是老版本没有的,安全修复上,11g已停止官方支持,不建议生产环境使用,如果业务没有非用11g不可的兼容性依赖,直接选19c。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/788884.html

赞 (0)
上一篇 2026年11月8日 13:10
下一篇 2026年11月8日 13:11

相关推荐

  • 电脑pubg服务器正在维护中怎么解决,会持续多久?

    电脑PUBG服务器正在维护中,最简单的解决办法是:先到官网或Steam公告栏确认维护时间段,确定是官方维护后就不用动电脑了,倒计时等待即可;同时检查加速器节点和本地网络,排除“假维护”情况,避免白等,pubg服务器维护中要等多久?看官方时间表更省心为什么你看到的提示不一定是真维护提示“服务器正在维护”可能来自三……

    程序编程 2026年11月7日
    200
  • 联想平板CDN主服务器异常怎么办,平板连接服务器失败怎么办?

    联想平板CDN主服务器连接异常,问题不一定出在平板本身,多数情况下是网络DNS解析异常或本地缓存冲突导致,通过刷新网络配置和清理缓存就能解决,下面这条故障排查路径按出错频率从高到低排列,你直接照着操作,联想平板CDN主服务器连接异常是什么原因CDN全称是内容分发网络,联想服务器把系统更新、应用商店资源、在线壁纸……

    2026年10月3日
    300
  • 我的世界服务器如何自动清理mod,清mod方法

    自动清mod的原理并不神秘,核心就是让服务器在玩家连接时强制校验客户端mod列表,并对不匹配的文件进行自动移除或同步,这套机制主要靠专用模组管理插件或启动器内置功能实现,不需要管理员每天手动去翻玩家文件夹,下面按实现方式、操作步骤和常见坑位逐一拆开讲,全是能落地的具体做法,为什么服务器必须自动清mod很多玩家遇……

    2026年8月28日
    1500
  • mc1.6.4行尸走肉服务器怎么弄

    搭建mc1.6.4行尸走肉服务器的核心在于使用Forge加载行尸走肉mod,并正确配置服务器核心文件,整个过程需要Java 8支持,下面从零开始,把搭建的每一步拆开来讲,包括环境准备、服务端安装、模组配置和常见坑点,方便你跟着操作,mc1.6.4行尸走肉服务器搭建步骤详解搭建前需要确认你的系统环境,推荐使用Wi……

    2026年8月18日
    800
  • ajax上传图片到数据库报错怎么办?ajax上传图片到数据库代码

    Ajax上传图片到数据库的核心在于前端使用FormData对象封装文件,通过异步请求发送至后端,后端接收二进制流后将其转换为Base64编码或二进制字节数组,最终存入数据库的BLOB字段或存储路径,从而实现无刷新上传体验,在传统Web开发中,图片上传往往伴随着页面刷新,这不仅破坏了用户体验,还导致表单数据丢失……

    2026年6月4日
    3200
  • asp中查询功能具体实现细节是什么?如何高效优化查询性能?

    在ASP(Active Server Pages)中,查询数据库是构建动态网站的核心操作,主要通过ADO(Active Data Objects)技术实现,本文将详细解析ASP查询数据库的完整流程、关键技术要点及优化方案,帮助开发者高效、安全地处理数据交互,ASP查询数据库的基本原理ASP通过ADO组件连接和操……

    2026年2月4日
    13800
  • 农业银行k宝服务器获取配置失败怎么回事?,怎么解决

    农业银行K宝服务器获取配置失败,核心解决方法就是先排查电脑USB接口和驱动,再调整浏览器设置,最后检查网络环境,按顺序操作,绝大多数问题都能当场解决,服务器获取配置失败是怎么发生的农行K宝(U盾)插入电脑后,弹出的报错提示“服务器获取配置失败”,本质上意味着K宝内置的驱动程序没有正确加载,或者无法与农行服务器建……

    2026年8月21日
    2300
  • U盘在电脑上显示服务器运行失败怎么办,是什么原因?

    U盘在电脑上显示“服务器运行失败”,并不是你的U盘坏了,而是Windows系统里负责识别U盘的服务或驱动出了问题,通过重启服务、更新驱动或调整电源设置,绝大多数情况都能在几分钟内解决,这个提示通常出现在Windows 10或Windows 11系统上,具体表现为插入U盘后,右下角弹出“服务器运行失败”的红色警告……

    2026年8月27日
    600
  • 联想服务器怎么安装Win7系统,安装步骤及注意事项有哪些?

    联想服务器安装Win7的核心结论:先查机型是否支持,再用Legacy/CSM模式、注入RAID/NVMe/USB3.0驱动,最后装联想官方驱动;较新ThinkSystem建议改用虚拟机或Win10/11, 联想服务器不是普通台式机,装Win7的难点不在安装本身,而在固件、阵列卡和驱动链,为什么联想服务器装Win……

    2026年10月12日
    200
  • 我的世界服务器OP怎么查看玩家背包?,背包指令有哪些

    在《我的世界》服务器中,OP查看玩家背包的核心方法是使用面板插件或服务端指令,其中最通用、最标准的就是/view指令,配合TAB键补全玩家ID即可即时读取对方全部物品栏,这个操作既不依赖任何模组,也不需要在客户端装额外文件,是绝大多数生存服、小游戏服管理员日常巡查的首选方案,下面我会按照实际操作场景,把指令、插……

    2026年10月1日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注