Linux安装Oracle数据库的具体步骤是什么?

在Linux系统上安装Oracle数据库需要经过详细的系统准备、依赖安装、环境配置和软件部署等步骤,以下是详细的操作流程,以Oracle Database 19c在CentOS 7/8系统上的安装为例(其他发行版如RHEL、Oracle Linux操作类似,需注意包名差异)。

linux 如何安装oracle

系统准备

硬件要求

Oracle数据库对硬件资源有明确要求,需确保系统满足最低配置(推荐生产环境更高):

组件 最低配置 推荐配置
内存 2GB RAM 8GB+ RAM
交换空间 2GB SWAP 8GB+ SWAP(内存≤16GB时SWAP=内存;>16GB时SWAP=16GB)
磁盘空间 20GB可用 50GB+可用(安装文件+数据文件)
CPU核心数 2核 4+核

操作系统配置

  • 关闭防火墙和SELinux
    防火墙会阻止Oracle监听端口(默认1521),SELinux可能限制数据库访问,需临时关闭或配置策略(此处以关闭为例):

    systemctl stop firewalld && systemctl disable firewalld
    setenforce 0  # 临时关闭,永久修改需编辑/etc/selinux/config,将SELINUX=disabled
  • 配置主机名和hosts文件
    确保系统主机名可解析,编辑/etc/hosts,添加IP与主机名映射(示例):

    echo "192.168.1.100 oracle.example.com oracle" >> /etc/hosts
    hostnamectl set-hostname oracle.example.com  # 设置永久主机名
  • 安装必要工具

    yum install -y wget unzip tar gcc make ksh compat-libstdc++-33 elfutils-libelf-devel

安装依赖包

Oracle数据库需要大量Linux开发库和工具,根据发行版安装对应包(以CentOS 7为例):

yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

若为CentOS 8/RHEL 8,部分包名变更(如compat-libstdc++-33需替换为compat-libstdc++-33-33.64.el7.x86_64),可通过yum search查找对应包名。

创建Oracle用户和组

Oracle数据库不允许使用root用户安装,需创建专用用户和组:

groupadd oinstall          # 安装组
groupadd dba               # 数据库管理员组
useradd -g oinstall -G dba oracle  # 创建oracle用户,加入oinstall和dba组
passwd oracle               # 设置oracle用户密码

创建安装目录并授权(根据需求调整路径,此处以默认为例):

mkdir -p /u01/app/oracle/product/19c/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

配置内核参数和资源限制

修改内核参数(/etc/sysctl.conf)

添加以下参数,确保Oracle数据库运行所需的系统资源:

linux 如何安装oracle

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4398046511104  # 物理内存的50%(单位字节,示例为4TB)
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使参数立即生效。

配置资源限制(/etc/security/limits.conf)限制oracle用户的资源使用:

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 soft memlock 134217728
oracle hard memlock 134217728

编辑/etc/pam.d/login,确保包含session required pam_limits.so(默认已存在)。

安装Oracle数据库软件

下载安装包

从Oracle官网下载Oracle Database 19c for Linux x86-64安装包(如LINUX.X64_193000_db_home.zip),上传至Linux服务器(如/tmp目录)。

解压并安装

使用oracle用户登录,解压安装包:

su - oracle
unzip /tmp/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/dbhome_1

进入安装目录,运行安装程序:

cd /u01/app/oracle/product/19c/dbhome_1/
./runInstaller

若为图形界面安装,需确保服务器已安装X Window(yum groupinstall "X Window System")或通过Xmanager等工具远程显示图形界面。

图形界面安装步骤

  • 欢迎界面:选择“Create and configure a database”→“Advanced Installation”。
  • 安装选项:选择“Enterprise Edition”,安装类型“典型安装”。
  • 网格安装选项:直接点击“下一步”(无需配置集群)。
  • 指定安装位置:确认ORACLE_BASE(/u01/app/oracle)和ORACLE_HOME(/u01/app/oracle/product/19c/dbhome_1)。
  • 创建数据库:设置数据库名(如ORCL)、管理员密码(sys/system)、字符集(建议AL32UTF8)、内存分配(建议总内存的40%-50%)。
  • 安装前检查:若提示依赖包缺失,根据提示安装后重新检查。
  • 安装进度:等待安装完成,根据提示执行脚本(如/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/19c/dbhome_1/root.sh,需root用户执行)。

验证安装

检查监听状态

lsnrctl status

若显示“Listener is running”,表示监听启动成功。

检查数据库实例

sqlplus / as sysdba
SQL> startup
SQL> select status from v$instance;

若返回“OPEN”,表示数据库实例正常启动。

测试连接

使用SQL Developer或PL/SQL Developer,以sys/system用户连接数据库(主机名/IP、端口1521、服务名ORCL)。

linux 如何安装oracle

常见问题处理

  • 安装时提示“swap空间不足”
    增加swap空间,例如创建2GB swap文件:

    fallocate -l 2G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

    或调整kernel.shmmax参数,使其小于物理内存大小。

  • 安装后无法启动数据库
    检查环境变量($ORACLE_HOME/bin是否加入PATH)、日志文件($ORACLE_BASE/diag/rdbms/*/trace/alert_*.log),确认权限和配置是否正确。

FAQs

Q1:安装过程中提示“libaio.so.1: cannot open shared object file”怎么办?
A:缺少libaio库,执行yum install -y libaio-devel安装后重新检查,若为CentOS 8,可尝试dnf install -y libaio

Q2:如何修改Oracle数据库的字符集?
A:需确保数据库为非归档模式且无连接,步骤如下:

  1. 以sysdba身份登录,关闭数据库并以mount模式启动:
    sqlplus / as sysdba
    SQL> shutdown immediate
    SQL> startup mount
  2. 修改字符集(如从WE8MSWIN1252改为AL32UTF8):
    SQL> alter system set job_queue_processes=0 scope=spfile;
    SQL> alter system aq_tm_processes=0 scope=spfile;
    SQL> shutdown immediate
    SQL> startup restrict
    SQL> alter database character set internal_use AL32UTF8;
    SQL> shutdown immediate
    SQL> startup

    注意:字符集修改需谨慎,建议备份数据库,且仅支持从子集到超集的修改。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/18563.html

(0)
酷番叔酷番叔
上一篇 3小时前
下一篇 3小时前

相关推荐

  • 腾讯云服务器安装Linux后搭建网站的具体详细步骤有哪些?

    在腾讯云服务器上安装Linux系统后搭建网站,需完成环境配置、软件安装、文件部署等关键步骤,以下为详细流程:连接服务器与基础配置购买腾讯云Linux服务器(如Ubuntu 22.04或CentOS 7)后,首先需通过SSH工具连接,Windows系统可使用Xshell或PuTTY,Mac/Linux系统直接打开……

    6天前
    600
  • linux如何表示所以文件夹

    Linux中,用/表示根目录,所有文件夹都从根目录开始构建层级

    2025年8月18日
    700
  • Windows 10如何安全体验Linux?

    在 Windows 10 上安全体验 Linux 的三种主流方法:使用微软官方支持的 WSL(无需重启),通过虚拟机软件(如 VirtualBox,完全隔离)安装,或采用双系统启动(独立分区运行)。

    2025年6月18日
    3100
  • Linux用U盘竟如此简单?

    插入U盘与自动挂载插入U盘将U盘插入USB接口,系统通常会自动识别并挂载,桌面环境(如GNOME、KDE)会弹出通知,并在文件管理器中显示U盘图标,访问U盘内容打开文件管理器(如Nautilus、Dolphin),在侧边栏的”设备”或”可移动设备”中找到U盘,点击即可访问文件,手动挂载U盘(适用于无桌面环境或自……

    2025年7月9日
    2800
  • 掌握Linux系统性能关键指标

    查看Linux系统不仅是执行命令,更是理解服务器健康状态、性能瓶颈和配置细节的过程,作为系统管理员、开发者或运维工程师,您需要掌握以下关键信息的获取方法:基础系统信息(身份识别)内核与系统架构uname -a # 输出所有信息:内核版本、主机名、硬件架构等uname -r # 仅显示内核版本(如 5.4.0-1……

    2025年8月9日
    1200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信