在腾讯云服务器(CVM)上安装 Oracle 数据库是一个涉及系统配置、依赖环境搭建和 Oracle 软件部署的复杂过程。由于 Oracle 官方对 Linux 发行版的支持主要集中在 RHEL/CentOS 系列,强烈建议使用 CentOS 7/8 或 Ubuntu 20.04/22.04(需额外处理兼容性)。
以下是基于 CentOS 7 环境的详细安装指南。如果你使用的是 Ubuntu 或其他版本,部分命令和包名需要调整。
⚠️ 重要前置准备
- 系统要求:
- CPU:建议至少 2 核(生产环境建议 4 核+)。
- 内存:最低 4GB(推荐 8GB+),Oracle 启动后占用较大。
- 磁盘:建议预留 30GB+ 用于操作系统和数据库文件。
- 网络:确保安全组已放行端口(如 1521 用于数据库连接,3306 等用于其他服务,SSH 22 必须开放)。
- 下载资源:
- 前往 Oracle 官网 下载对应系统的安装包(例如
linuxx64_19c_database.zip)。 - 将安装包上传至腾讯云服务器的
/tmp或/home目录。
- 前往 Oracle 官网 下载对应系统的安装包(例如
第一步:基础环境配置
登录服务器后,以 root 用户执行以下操作。
1. 关闭防火墙并停止 SELinux
为了减少安装过程中的权限问题,临时关闭它们(生产环境建议配置规则后开启)。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2. 安装依赖包
Oracle 需要大量的系统库支持。
yum install -y gcc gcc-c++ make binutils libaio-devel
glibc glibc-common glibc-devel ksh libgcc libstdc++
libstdc++-devel elfutils-libelf-devel openssl-devel
sysstat unixODBC unixODBC-devel pcre-devel
python python-devel wget unzip
3. 创建用户和组
Oracle 通常安装在 oracle 用户下。
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
# 设置密码(例如:Oracle@123)
4. 修改内核参数 (sysctl.conf)
编辑 /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
5. 修改用户限制 (limits.conf)
编辑 /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
同时检查 /etc/pam.d/login,确保包含 session required pam_limits.so。
第二步:准备安装目录与解压
1. 创建目录结构
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
2. 解压安装包
假设你已将 linuxx64_19c_database.zip 上传到 /tmp。
su - oracle
cd /tmp
unzip linuxx64_19c_database.zip
# 解压后进入 database 目录
cd database
第三步:图形化界面安装(关键步骤)
Oracle 安装程序通常需要 X11 图形界面。腾讯云 CVM 默认是纯命令行(Headless),你需要通过 SSH 隧道转发 X11 或使用无头模式(silent mode)。
方案 A:本地 X11 转发(适合新手,推荐)
- Windows 用户:安装 X Server 软件(如 Xmanager 或 VcXsrv)。
- Linux/Mac 用户:确保终端支持 X11 转发。
- 配置 SSH:使用
-X参数连接:ssh -X root@<你的公网IP>(注意:如果 Xmanager 未运行,连接会失败)
- 切换用户并运行安装:
su - oracle export DISPLAY=<你的本地IP>:0.0 # 替换为你的实际 IP,例如 192.168.1.5 cd /tmp/database ./runInstaller此时会弹出图形窗口,按照向导操作:
- Configuration Option: 选择 "Create and Configure a Single Instance Database"。
- Installation Type: 选择 "Server Class"。
- Database Edition: 选择 "Enterprise Edition"。
- Global Database Name: 输入 SID,例如
orcl。 - Password: 设置所有账户的统一密码。
- Storage: 选择文件系统(File System),路径设为
/u01/app/oracle/oradata。 - Network Port: 保持默认 1521。
- 点击下一步直到完成,最后执行根用户脚本(
/tmp/database/root.sh)。
方案 B:静默安装(Silent Mode,适合自动化/无图形环境)
如果无法使用图形界面,需编写响应文件(.rsp)。
- 复制示例文件:
cp response/db_install.rsp /tmp/db_install.rsp - 编辑
/tmp/db_install.rsp,修改关键项(如ORACLE_HOME,UNIX_GROUP_NAME,INSTALL_TYPE等)。 - 运行安装命令:
./runInstaller -silent -responseFile /tmp/db_install.rsp -waitForCompletion注意:静默安装需要非常详细的配置,初学者建议优先尝试方案 A。
第四步:配置环境变量
安装完成后,切换到 oracle 用户,编辑 .bash_profile:
su - oracle
vi ~/.bash_profile
添加以下内容(根据实际路径调整):
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
保存后生效:
source ~/.bash_profile
第五步:验证安装
- 检查监听状态:
lsnrctl status - 连接数据库:
sqlplus / as sysdba如果看到
SQL>提示符,说明安装成功。 - 创建测试表空间和数据:
CREATE TABLESPACE test_ts DATAFILE '/u01/app/oracle/oradata/orcl/test_ts.dbf' SIZE 100M AUTOEXTEND ON; exit;
第六步:腾讯云安全组配置
最后一步至关重要,否则外部无法连接。
- 登录 腾讯云控制台。
- 进入 云主机 (CVM) -> 实例列表。
- 点击你的实例 ID,进入 更多 -> 网络安全 -> 安全组。
- 添加 入方向规则:
- 协议类型:TCP
- 端口范围:1521
- 授权对象:0.0.0.0/0 (或指定你的客户端 IP)
- 策略:允许
💡 常见问题与建议
- 内存不足:Oracle 启动时会消耗大量内存。如果服务器只有 4GB 内存,建议在
/etc/sysctl.conf中适当调小kernel.shmmax,或者限制 SGA 大小。 - 时区问题:确保服务器时间与 NTP 同步,否则可能导致会话超时或日志混乱。
timedatectl set-timezone Asia/Shanghai - 备份:安装完成后,建议立即使用
expdp或rman进行全量备份。 - License:企业版(Enterprise Edition)仅限开发测试使用,生产环境请务必购买正版 License 或改用 Oracle Free Version(仅限非商业)。
通过以上步骤,你应该能在腾讯云服务器上成功部署 Oracle 数据库。如果在具体步骤遇到报错,请提供具体的错误日志以便进一步分析。
CLOUD云计算