在 CentOS 系统上安装 Oracle 数据库是一项系统而复杂的工程,它要求管理员对操作系统、网络以及数据库本身都有深入的理解,整个过程并非简单的“下一步、下一步”即可完成,而是需要细致的准备工作、严格的参数配置和耐心的安装后验证,本文将详细梳理在 CentOS 环境下部署 Oracle 数据库的核心步骤与关键要点,旨在为读者提供一份清晰、可靠的操作指南。
第一阶段:系统环境准备与配置
成功的安装始于周全的准备,在运行 Oracle 安装程序之前,必须确保 CentOS 系统满足所有硬件和软件的先决条件,这一阶段的工作至关重要,绝大多数安装失败都源于此环节的疏忽。
硬件要求评估
Oracle 数据库对服务器资源有明确要求,虽然最低配置可以运行,但为了生产环境的稳定性和性能,推荐配置更为稳妥。
资源类型 | 最低配置 | 推荐配置 |
---|---|---|
CPU (物理核心) | 1 核 | 4 核或以上 |
内存 (RAM) | 2 GB | 8 GB 或以上,建议 16GB+ |
交换空间 | 5 倍 RAM | 与 RAM 大小相等或 1.5 倍 |
磁盘空间 | 25 GB (软件) + 40 GB (数据) | 100 GB 或以上,使用独立分区或 LVM |
软件与用户配置
确保系统已更新至最新状态,并安装必要的开发工具包。
sudo yum update -y sudo yum groupinstall -y "Development Tools"
Oracle 强烈建议不要使用 root
用户进行安装,需要创建专门的用户和组来管理数据库实例。
# 创建安装组和管理组 sudo groupadd oinstall sudo groupadd dba # 创建 oracle 用户并指定主组和副组 sudo useradd -g oinstall -G dba oracle # 设置 oracle 用户密码 sudo passwd oracle
内核参数与用户限制
Oracle 数据库需要调整内核参数以确保共享内存、信号量等资源充足,编辑 /etc/sysctl.conf
文件,添加或修改以下参数:
fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.ip_local_port_range = 9000 65500
保存后,执行 sudo sysctl -p
使配置立即生效。
需要为 oracle
用户设置资源限制,编辑 /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 安装程序依赖一系列特定的软件包,在 CentOS 7/8 上,可以使用以下命令安装大部分必需的依赖:
sudo 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
第二阶段:执行Oracle数据库安装
环境准备就绪后,便可进入实际的安装阶段。
获取与解压安装文件
从 Oracle 官网下载对应版本的数据库安装包(通常是两个 .zip
文件),将下载的文件上传到服务器,并解压到指定目录,/stage
。
unzip linuxx64_12201_database.zip -d /stage
解压后会生成一个 database
目录,其中包含了安装程序。
配置环境变量并运行安装程序
切换到 oracle
用户,并为其配置环境变量,编辑 /home/oracle/.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
注意:ORACLE_HOME
的路径需要根据实际安装版本和目录进行调整,创建 ORACLE_BASE
目录并授权:
sudo mkdir -p /u01/app/oracle sudo chown -R oracle:oinstall /u01
配置完成后,使用 oracle
用户登录,进入解压出的 database
目录,执行安装程序:
cd /stage/database ./runInstaller
如果服务器环境支持图形界面,此命令将启动 Oracle Universal Installer (OUI) 的图形化安装向导,按照向导提示,逐步完成安装选项配置,包括选择安装类型(典型或高级)、指定安装路径、设置数据库字符集(推荐使用 AL32UTF8)、配置管理选项等,在安装过程中,安装程序会自动进行环境检查,若之前准备工作充分,此处应无报错。
第三阶段:安装后配置与验证
安装程序执行到末尾时,会提示需要以 root
用户身份执行两个脚本,这是整个安装流程中不可或缺的一步。
打开一个新的终端,以 root
用户执行:
sudo /u01/app/oraInventory/orainstRoot.sh sudo /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
脚本执行完毕后,返回 OUI 界面点击“确定”,安装即告完成。
配置监听器与创建数据库
如果安装时未选择创建数据库,可以使用 netca
(Network Configuration Assistant) 配置监听器,使用 dbca
(Database Configuration Assistant) 创建数据库实例。
验证安装
最直接的验证方法是尝试连接数据库,以 oracle
用户执行:
sqlplus / as sysdba
成功连接后,会显示 SQL> 提示符,执行一个简单查询:
select instance_name, status from v$instance;
如果能正常返回实例名和状态(如 orcl
和 OPEN
),则证明 Oracle 数据库已成功安装并运行。
在 CentOS 上安装 Oracle 数据库是一个严谨的过程,核心在于细致入微的环境准备,严格遵循官方文档,耐心配置每一个参数,是确保安装顺利、数据库稳定运行的根本保障。
相关问答 (FAQs)
问题1:在安装前的环境检查阶段,某些包或参数检查失败,但我想忽略它们继续安装,可以吗?
解答: 强烈不建议这样做,Oracle 安装程序的环境检查是基于其内部测试和最佳实践设计的,每一个失败的检查项都可能导致未来数据库运行时出现不可预知的问题,例如性能下降、功能异常甚至实例崩溃,对于依赖包缺失,应通过 yum
或 dnf
彻底解决;对于内核参数或用户限制不满足,应仔细核对并修改配置文件,忽略警告强行安装,无异于埋下定时炸弹,会给后续的运维工作带来巨大风险。
问题2:如何配置 Oracle 数据库随 CentOS 服务器开机自动启动?
解答: 配置开机自启需要结合 Oracle 自带的脚本和 CentOS 的 systemd
服务管理,编辑 /etc/oratab
文件,将数据库实例对应的行末尾的 N
改为 Y
,orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y
,在 /etc/systemd/system/
目录下创建一个服务文件,如 oracle.service
如下:
[Unit] Description=Oracle Database Service After=network.target [Service] Type=forking User=oracle Group=oinstall Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1" ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart $ORACLE_HOME ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut $ORACLE_HOME TimeoutStartSec=0 [Install] WantedBy=multi-user.target
注意将 ORACLE_HOME
路径替换为你的实际路径,保存后,执行 sudo systemctl daemon-reload
重新加载服务,然后使用 sudo systemctl enable oracle.service
设置开机自启,这样,系统重启后就会自动启动 Oracle 数据库实例和监听器。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复