在CentOS服务器上安装Oracle数据库需要哪些步骤和注意事项?

在 CentOS 系统上部署 Oracle 数据库是企业级应用中常见的需求,凭借 CentOS 的稳定性和 Oracle 的强大性能,这一组合被广泛采用,Oracle 的安装过程相对复杂,涉及系统配置、依赖安装、参数调整等多个环节,本文将提供一个清晰、详尽的步骤指南,帮助您在 CentOS 环境下成功安装 Oracle 数据库。

在CentOS服务器上安装Oracle数据库需要哪些步骤和注意事项?

环境准备与系统配置

在开始安装之前,充分的准备工作是确保安装顺利的关键,这包括硬件资源检查、依赖包安装、用户与组的创建以及核心系统参数的调优。

硬件要求

Oracle 数据库对系统资源有最低要求,不满足这些要求可能会导致安装失败或性能低下,以下是建议的配置:

资源类型 最低要求 推荐配置
物理内存 (RAM) 2 GB 8 GB 或以上
交换空间 5 倍 RAM 2 倍 RAM 或以上
硬盘空间 15 GB (软件) + 40 GB (数据) 100 GB 或以上 (SSD 更佳)
处理器 (CPU) 64 位双核 64 位四核或以上

安装必要的依赖包

Oracle 安装程序需要一系列系统库和工具的支持,您可以使用 yum 命令一次性安装所有必需的依赖。

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

创建 Oracle 用户和用户组

为了安全和管理方便,Oracle 不建议使用 root 用户进行安装,我们需要创建专门的用户和组。

# 创建用户组
groupadd oinstall
groupadd dba
# 创建 oracle 用户并指定组
useradd -g oinstall -G dba oracle
# 为 oracle 用户设置密码
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 最大的发送套接字缓冲区大小

保存文件后,执行 sysctl -p 使配置立即生效。

配置用户资源限制

编辑 /etc/security/limits.conf 文件,为 oracle 用户设置进程数和文件句柄数的限制。

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

禁用防火墙和 SELinux

为了简化初次安装过程,避免网络策略带来的干扰,可以临时禁用防火墙和 SELinux,在生产环境中,应配置相应的规则而非直接禁用。

# 停止防火墙
systemctl stop firewalld
systemctl disable firewalld
# 临时禁用 SELinux
setenforce 0
# 永久禁用,需编辑 /etc/selinux/config,将 SELINUX 设置为 disabled

下载与解压 Oracle 软件

从 Oracle 官方网站下载对应版本的数据库安装包(Oracle Database 19c),您需要一个 Oracle 账户才能下载,下载完成后,将 ZIP 文件上传到服务器。

在CentOS服务器上安装Oracle数据库需要哪些步骤和注意事项?

创建安装目录并设置权限:

mkdir -p /u01/app
chown -R oracle:oinstall /u01
chmod -R 775 /u01

切换到 oracle 用户,解压安装文件到 /u01/app 目录下:

su - oracle
unzip LINUX.X64_193000_db_home.zip -d /u01/app/

静默安装数据库软件

静默安装通过响应文件来配置安装选项,无需图形界面,非常适合服务器环境。

  1. 准备响应文件:进入解压后的目录,复制并编辑响应文件模板 db_install.rsp,关键配置项如下:

    oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_HOSTNAME=your_hostname
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    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=oinstall
    DECLINE_SECURITY_UPDATES=true
  2. 执行安装命令

    cd /u01/app/oracle/product/19.0.0/dbhome_1
    ./runInstaller -silent -responseFile /path/to/your/db_install.rsp
  3. 执行 root 脚本:安装完成后,根据提示切换回 root 用户,执行两个脚本。

    su - root
    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

创建监听器与数据库

软件安装完成后,还需要创建监听器和数据库实例。

  1. 创建监听器:使用 netca 工具静默配置。

    su - oracle
    netca -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp
  2. 创建数据库:使用 dbca 工具静默创建。

    在CentOS服务器上安装Oracle数据库需要哪些步骤和注意事项?

    dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -characterSet AL32UTF8 -sysPassword YourSysPassword -systemPassword YourSystemPassword

配置环境变量与开机自启

  1. 配置环境变量:编辑 oracle 用户的 .bash_profile 文件,添加以下内容,以便于使用 Oracle 命令。

    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 使其生效。

  2. 配置开机自启:可以创建 systemd 服务来管理 Oracle 数据库和监听器的启动与停止。

至此,Oracle 数据库已在您的 CentOS 系统上成功安装并配置,您可以通过 sqlplus / as sysdba 连接到数据库进行管理。


相关问答 FAQs

问题1:安装过程中提示交换空间不足怎么办?

解答: 这是一个常见问题,尤其是在云服务器或虚拟机中,您可以通过创建一个交换文件来临时或永久地增加交换空间。

  1. 创建文件:使用 fallocatedd 命令创建一个指定大小的文件,4GB:fallocate -l 4G /swapfile
  2. 设置权限chmod 600 /swapfile
  3. 格式化为交换空间mkswap /swapfile
  4. 启用交换空间swapon /swapfile
  5. 永久生效:编辑 /etc/fstab 文件,添加一行 /swapfile swap swap defaults 0 0,这样系统重启后会自动挂载此交换文件。

问题2:安装完成后无法远程连接数据库是什么原因?

解答: 无法远程连接通常涉及以下几个层面的问题,请逐一排查:

  1. 监听器状态:以 oracle 用户执行 lsnrctl status,检查监听器是否正在运行,以及数据库服务是否已注册到监听器,如果未注册,可能需要检查数据库实例是否已启动。
  2. 防火墙端口:确保 CentOS 防火墙允许 Oracle 默认端口 1521 的入站连接,如果之前禁用了防火墙,请重新开启并配置规则:firewall-cmd --permanent --add-port=1521/tcpfirewall-cmd --reload
  3. 数据库服务状态:使用 sqlplus / as sysdba 登录,执行 select instance_name, status from v$instance;,确保数据库实例状态为 OPEN
  4. 网络配置:检查服务器的网络配置,确保 IP 地址、路由等设置正确,并且客户端能够 ping 通服务器。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-08 09:44
下一篇 2025-10-08 09:47

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信