在腾讯云服务器上安装 Oracle 数据库需要遵循严格的系统要求、授权许可和步骤。以下是基于 Linux(推荐 CentOS 7/8 或 Ubuntu 20.04+) 的详细安装指南,适用于 Oracle Database 19c(当前主流稳定版)。
⚠️ 重要前提
- 操作系统:建议使用官方支持的 Linux 发行版(如 CentOS 7.9、RHEL 8、Ubuntu 20.04 LTS)。
- 内存与磁盘:
- 最小内存:2GB(生产环境建议 ≥8GB)
- 磁盘空间:至少 15GB(含临时文件、归档日志等)
- License:Oracle 数据库为商业软件,需购买 License 或使用 Oracle Database Express Edition (XE)(免费,限制 12GB 数据 + 1 CPU + 2GB RAM)。
- 网络:确保安全组开放必要端口(如 1521)。
📌 方案选择
| 方案 | 适用场景 | 备注 |
|---|---|---|
| Oracle XE | 开发测试、小型应用 | 免费,自动安装脚本简单 |
| Oracle Enterprise Edition (EE) | 生产环境 | 需购买 License,手动安装复杂 |
✅ 以下以 Oracle Database 19c EE(企业版) 为例,通用性强;若用 XE,可跳过部分配置步骤。
🔧 一、系统准备(CentOS 7/8 示例)
1. 创建 oracle 用户及目录
# 创建用户组
sudo groupadd dba
sudo useradd -g dba -m -d /home/oracle -s /bin/bash oracle
echo "oracle:oracle" | chpasswd
# 设置密码
sudo passwd oracle
# 创建安装目录
sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
sudo chown -R oracle:dba /u01
sudo chmod -R 775 /u01
2. 修改内核参数(/etc/sysctl.conf)
# 编辑 sysctl.conf
sudo vi /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
生效:
sudo sysctl -p
3. 修改用户限制(/etc/security/limits.d/99-oracle.conf)
sudo vi /etc/security/limits.d/99-oracle.conf
添加:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
4. 关闭防火墙 & SELinux(可选,生产环境建议精细配置)
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
5. 安装依赖包
sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel elfutils-libelf-devel
Ubuntu 用户请用
apt install对应包名(如libaio1,unixodbc-dev等)。
📦 二、下载并解压 Oracle 安装包
-
登录 Oracle Technology Network
→ 注册账号 → 下载 Linux x86-64 的linuxx64_193000_db_home.zip(或.tar.gz) -
上传至服务器(使用 SCP/SFTP):
scp linuxx64_193000_db_home.zip oracle@your-tencent-server:/tmp/ -
切换用户并解压:
su - oracle cd /tmp unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
🛠️ 三、运行安装程序
1. 配置 SSH 免密(便于后续操作)
su - oracle
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2. 启动图形化安装(需 VNC/X11 转发)
由于腾讯云 CVM 默认无 GUI,推荐两种方案:
✅ 方案 A:使用 VNC 远程桌面(适合新手)
- 在腾讯云控制台开启 VNC 连接
- 本地安装 VNC Viewer,连接服务器 IP + 端口(如 5901)
- 安装后启动
xhost +允许本地访问 - 执行:
export DISPLAY=:0 cd /u01/app/oracle/product/19.0.0/dbhome_1/runInstaller ./runInstaller
✅ 方案 B:静默安装(推荐生产环境)
生成响应文件:
cp /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp /tmp/
vi /tmp/db_install.rsp
修改关键项:
ORACLE_HOSTNAME="your-hostname"
UNIX_GROUP_NAME=dba
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
INSTALL_TYPE="Server"
DECLINE_SECURITY_UPDATES=true
执行静默安装:
su - oracle
/u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -silent -responseFile /tmp/db_install.rsp
安装完成后,按提示以 root 身份执行两个脚本:
sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
🗃️ 四、创建数据库(DBCA)
方式 1:图形界面(需 VNC)
su - oracle
dbca
按向导操作:
- 创建新数据库
- 命名:
orcl - 字符集:
AL32UTF8 - 内存:根据实例调整(如 2GB)
- 存储:ASM 或文件系统(初学者选文件系统)
方式 2:静默创建
生成响应文件:
cp /u01/app/oracle/product/19.0.0/dbhome_1/dbs/init.ora.template /tmp/init.ora
vi /tmp/init.ora
然后执行:
dbca -silent -createDatabase
-templateName General_Purpose.dbc
-gdbname orcl
-sid orcl
-responseFile NO_VALUE
-characterSet AL32UTF8
-sysPassword Oracle123!
-systemPassword Oracle123!
-databaseType MULTIPURPOSE
-memoryMgmtType auto_sga
-totalMemory 2048
-storageType FS
-datafileDestination "/u01/app/oracle/oradata"
-redoLogFileSize 50
-emConfiguration NONE
-ignorePreReqs
💡 注意:首次启动需等待 DBCA 完成初始化(约 5–10 分钟)。
🔐 五、配置监听与网络
检查监听状态:
lsnrctl status
若未启动:
su - oracle
lsnrctl start
配置 /etc/hosts(可选但推荐):
sudo vi /etc/hosts
添加:
127.0.0.1 localhost
<你的公网IP> your-hostname
🌐 六、腾讯云安全组配置
- 登录 腾讯云控制台
- 进入 CVM → 实例 → 安全组
- 添加入站规则:
- 协议:TCP
- 端口:
1521(Oracle 默认端口) - 来源:
0.0.0.0/0(生产环境建议限定 IP)
✅ 验证安装
# 登录 SQL*Plus
su - oracle
sqlplus / as sysdba
SQL> select name, open_mode from v$database;
输出应显示数据库名称和 READ WRITE 状态。
📝 补充建议
| 项目 | 建议 |
|---|---|
| 备份 | 启用 RMAN 自动备份策略 |
| 监控 | 部署 Prometheus + Grafana 监控指标 |
| 高可用 | 考虑 Data Guard 或 RAC(需额外 License) |
| 性能调优 | 根据负载调整 SGA/PGA、索引、SQL 优化 |
| 合规 | 记录 License 信息,避免法律风险 |
如需 Oracle XE 快速安装(更简单),我可提供专属脚本。是否需要?
CLOUD云枢