广州云主机怎么安装Oracle?云主机部署Oracle数据库教程
- 虚拟主机
- 2026-07-10
- 6
在阿里云、西西安全等主流云服务商提供的广州地域云主机上安装 Oracle 数据库,通常比在本地物理机或传统虚拟机上更为复杂,主要涉及操作系统兼容性、内核参数调整、图形界面支持以及网络配置等关键环节,以下将详细阐述在 CentOS 7/8 或 Ubuntu 20.04/22.04 等常见 Linux 发行版上安装 Oracle 19c(当前主流长期支持版本)的标准流程。
环境准备与系统初始化
在开始安装之前,必须确保云主机的配置满足 Oracle 的基本要求,对于生产环境,建议至少配置 4GB 以上内存(推荐 8GB+)和 20GB 以上磁盘空间,需要更新系统软件包并关闭可能导致冲突的服务。
| 检查项目 | 操作命令/说明 | 目的 |
|---|---|---|
| 内核版本 | uname -r | 确保内核版本符合 Oracle 认证列表 |
| 内存大小 | free -h | 检查是否满足最低 4GB 要求 |
| 交换空间 | swapon -s | 若内存小于 8GB,需创建至少 8GB 的 Swap 文件 |
| 防火墙 | systemctl stop firewalld (CentOS) 或 ufw disable (Ubuntu) | 临时关闭防火墙,避免安装过程中端口被拦截 |
| SELinux | setenforce 0 | 临时禁用 SELinux,防止权限拒绝错误 |
Swap 空间创建示例(若内存不足):
dd if=/dev/zero of=/swapfile bs=1M count=8192 chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab
安装依赖包
Oracle 数据库依赖大量的系统库文件,不同发行版的包管理器命令不同,以下以 CentOS 7/8 为例,如果是 Ubuntu,需将 yum 替换为 apt-get,并将包名调整为对应的 Debian 包名。
# CentOS/RHEL 7/8 yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
注意:在较新的 CentOS Stream 或 RHEL 8/9 中,部分旧包(如 compat-libstdc++-33)可能已移除,需从 Oracle 官方提供的兼容包或第三方仓库获取,或者使用 dnf 进行替代安装。
创建 Oracle 用户与组
为了安全起见,不应以 root 用户直接运行 Oracle 进程,需要创建专用的操作系统用户和组。
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper useradd -u 54321 -g oinstall -G dba,oper oracle echo "oracle_password" | passwd --stdin oracle
请将 oracle_password 替换为您自定义的强密码。

配置内核参数与资源限制
Oracle 对系统的内核参数有严格要求,需修改 /etc/sysctl.conf 文件。
cat >> /etc/sysctl.conf << EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967296 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 EOF sysctl -p
需修改 /etc/security/limits.conf 以限制 Oracle 用户的资源使用:
cat >> /etc/security/limits.conf << EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 10240 EOF
创建目录结构与解压安装包
创建 Oracle 软件安装目录和数据文件目录,并赋予正确权限。
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 mkdir -p /u01/app/oradata chown -R oracle:oinstall /u01 chmod -R 775 /u01
将下载的 Oracle 19c 安装包(通常为 LINUX.X64_193000_db_home.zip)上传至服务器,并使用 oracle 用户解压:
su oracle unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
配置环境变量与静默安装
编辑 ~/.bash_profile 添加 Oracle 环境变量:

由于云主机通常没有图形界面(GUI),推荐使用静默安装方式,首先运行 runInstaller 生成响应文件模板,或直接使用 Oracle 提供的示例响应文件进行配置。
关键配置项示例(db_install.rsp):
oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=your_hostname UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=dba oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba
执行安装命令:
cd $ORACLE_HOME/runInstaller ./runInstaller -silent -responseFile /path/to/db_install.rsp -ignorePrereq
安装完成后,按照提示以 root 身份执行生成的两个脚本(orainstRoot.sh 和 root.sh)。
创建数据库实例
软件安装完成后,需使用 dbca 工具创建数据库,同样采用静默模式,先准备响应文件 dbca.rsp。
关键配置项示例:

gdbName=orcl sid=orcl databaseConfigType=SI policyManaged=false createServerPool=false characterSet=AL32UTF8 nationalCharacterSet=AL16UTF16 sampleSchema=false memoryPercentage=40 emExpressPort=5500
执行创建命令:
dbca -silent -createDatabase -responseFile /path/to/dbca.rsp
启动监听与验证
安装完成后,启动监听器并测试连接:
lsnrctl start sqlplus / as sysdba
在 SQLPlus 中执行 select name from v$database; 确认数据库已启动,若需从外部访问,需在云控制台的安全组中开放 1521 端口(Oracle 默认端口)以及 5500 端口(EM Express 管理控制台端口)。
相关问题与解答
Q1: 在云主机上安装 Oracle 时,为什么经常遇到 “Insufficient Memory” 或 “Swap Space” 错误?
A: Oracle 安装程序在安装初期会严格检查系统的物理内存和交换空间,Oracle 19c 要求物理内存至少为 1GB(推荐 2GB+),且如果物理内存小于 8GB,交换空间必须至少为物理内存的 1.5 倍,云主机通常默认配置较小的 Swap 或无 Swap,导致检查失败。
解决方法:
- 检查当前 Swap 大小:free -h。
- Swap 不足,手动创建 Swap 文件(如前文步骤 1 所示),创建 8GB 或更大的 Swap 文件并激活。
- 如果物理内存确实过小(如 1GB 或 2GB),建议升级云主机配置至 4GB 或以上,否则即使通过安装,后续运行也会极其不稳定。
Q2: 安装完成后,如何从本地电脑远程连接云主机上的 Oracle 数据库?
A: 远程连接需要满足三个条件:网络连通性、监听器状态、防火墙/安全组配置。
排查步骤:
- 安全组/防火墙: 登录云控制台,找到该云主机的安全组规则,确保入方向规则允许 TCP 协议的 1521 端口(Oracle 默认端口)来自你的本地 IP 或 0.0.0/0(不推荐生产环境使用 0.0.0/0)。
- 监听器状态: 在云主机上执行 lsnrctl status,确认监听器正在运行且监听地址包含云主机的公网 IP 或 0.0.0,如果监听地址是 localhost 或私有 IP,需修改 $ORACLE_HOME/network/admin/listener.ora 文件,将 HOST 改为云主机的公网 IP 或 0.0.0,然后重启监听 lsnrctl reload。
- TNS 配置: 在本地电脑使用 SQL Developer 或 PL/SQL Developer 等工具,填写主机名为云主机的公网 IP,端口为 1521,服务名为 SID(如 orcl)或 Service Name,使用正确的用户名(如 system)和密码进行连接。