在腾讯云服务器(CVM)上安装 Oracle 数据库,通常推荐采用 Linux 系统(如 CentOS 7/8、Ubuntu 20.04/22.04) 进行部署。以下是基于 CentOS 7 的通用安装流程(以 Oracle Database 19c 为例),请根据实际需求调整版本和参数:
✅ 前置准备
-
系统要求
- 内存 ≥ 4GB(建议 8GB+)
- 磁盘空间 ≥ 30GB(建议预留 50GB+)
- 操作系统:CentOS 7 / 8 或 Ubuntu 20.04+(需 64 位)
- 关闭防火墙或开放必要端口(默认 1521)
-
下载 Oracle 安装包
- 访问 Oracle 官网
- 注册账号后下载对应 Linux x64 版本的
.zip文件(如linuxx64_193000_db_home.zip) - 上传至服务器并解压:
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
🔧 步骤一:创建用户与组
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle
📁 步骤二:配置目录权限与环境变量
# 创建必要目录
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 775 /u01
# 编辑 .bash_profile(切换为 oracle 用户)
su - oracle
vi ~/.bash_profile
添加以下内容:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
保存后执行:
source ~/.bash_profile
⚙️ 步骤三:修改系统内核参数
# 编辑 /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmmax = 68719476736" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
# 生效配置
sudo sysctl -p
🛡️ 步骤四:限制用户资源(ulimit)
编辑 /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
🖥️ 步骤五:运行安装脚本
切换到 oracle 用户,进入安装目录:
cd $ORACLE_HOME
./runInstaller
- 若图形界面不可用,使用
-ignorePrereq跳过检查(仅用于测试环境):./runInstaller -ignorePrereq -silent -responseFile $ORACLE_HOME/response/db_install.rsp oracle.install.option=INSTALL_DB_SWONLY 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=backupdba oracle.install.db.OSDGDBA_GROUP=dgdba oracle.install.db.OSKMDBA_GROUP=kmdba oracle.install.db.OSRACDBA_GROUP=racdba oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=ORCL oracle.install.db.config.starterdb.SID=orcl oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.control=DB_CONTROL oracle.install.db.config.starterdb.memoryLimit=2048 oracle.install.db.config.starterdb.password.ALL=YourPassword123!💡 注意:生产环境请勿使用简化响应文件,建议通过 GUI 引导操作;密码需符合复杂度要求。
🔄 步骤六:执行 root 脚本
安装完成后,按提示以 root 用户执行两个脚本:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
🌐 步骤七:配置监听与网络
- 启动监听:
lsnrctl start - 检查监听状态:
lsnrctl status - 开放腾讯云安全组端口:TCP 1521(在控制台 → 安全组规则中添加)
✅ 验证安装
sqlplus / as sysdba
SQL> select name, open_mode from v$database;
⚠️ 注意事项
- 授权许可:Oracle 数据库需购买正式授权(除开发/测试外),否则仅限个人学习使用。
- 备份策略:定期使用 RMAN 或 expdp 做备份。
- 性能优化:根据业务调整 SGA/PGA、并行度等参数。
- 替代方案:若仅需轻量级使用,可考虑 Oracle Express Edition(免费但有限制)或使用云市场镜像一键部署。
需要我提供 Ubuntu 版本步骤、Docker 部署方式 或 自动化脚本模板 吗?
CLOUD云枢