在Linux系统上通过RPM安装Oracle数据库的完整指南

介绍

Oracle数据库是企业级数据库管理系统。本文将详细介绍如何在Linux系统上通过RPM包安装Oracle数据库,包括系统准备、安装依赖、安装Oracle数据库软件及配置步骤。

环境准备

在开始安装之前,需要确保你的系统满足Oracle数据库的安装要求,并进行一些初步的设置。

系统要求
  • 操作系统: Oracle Linux, Red Hat Enterprise Linux (RHEL), CentOS
  • 内存: 至少2GB(建议4GB以上)
  • 磁盘空间: 至少15GB可用空间

1. 创建用户、用户组以及安装目录

Oracle数据库软件的安装和运行需要特定的用户和用户组。

  1. 创建用户组和用户

    创建oinstalldba用户组,以及Oracle用户:

    sudo groupadd oinstall
    sudo groupadd dba
    sudo useradd -g oinstall -G dba oracle
    sudo passwd oracle
    

    示例输出:

    Changing password for user oracle.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
    
  2. 设置安装目录

    创建Oracle安装目录:

    sudo mkdir -p /opt/oracle
    sudo chown -R oracle:oinstall /opt/oracle
    

2. 安装依赖包

Oracle数据库安装需要一些依赖包。可以使用YUM工具来安装这些包。

  1. 下载所需的RPM包

    从Oracle官方网站下载Oracle数据库19c RPM包和预安装RPM包:
    Oracle下载地址

  2. 安装依赖包

    在下载目录下安装Oracle预安装包,这将自动安装所需的依赖包:

    sudo yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
    

    示例输出:

    Loaded plugins: fastestmirror
    Examining oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm: oracle-database-preinstall-19c-1.0-1.el7.x86_64
    Marking oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package oracle-database-preinstall-19c.x86_64 0:1.0-1.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ========================================================================================================================================================
     Package                                   Arch                  Version                   Repository                                            Size
    ========================================================================================================================================================
    Installing:
     oracle-database-preinstall-19c            x86_64                1.0-1.el7                 /oracle-database-preinstall-19c-1.0-1.el7.x86_64      19 k
    
    Transaction Summary
    ========================================================================================================================================================
    Install  1 Package
    
    Total size: 19 k
    Installed size: 42 k
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : oracle-database-preinstall-19c-1.0-1.el7.x86_64                                                                               1/1
    Verifying  : oracle-database-preinstall-19c-1.0-1.el7.x86_64                                                                               1/1
    
    Installed:
     oracle-database-preinstall-19c.x86_64 0:1.0-1.el7
    
    Complete!
    

3. 安装Oracle数据库

  1. 安装Oracle数据库RPM包

    切换到下载目录,并使用以下命令安装Oracle数据库:

    sudo yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
    

    示例输出:

    Loaded plugins: fastestmirror
    Examining oracle-database-ee-19c-1.0-1.x86_64.rpm: oracle-database-ee-19c-1.0-1.x86_64
    Marking oracle-database-ee-19c-1.0-1.x86_64.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package oracle-database-ee-19c.x86_64 0:1.0-1 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ========================================================================================================================================================
     Package                                   Arch                  Version                   Repository                                            Size
    ========================================================================================================================================================
    Installing:
     oracle-database-ee-19c                    x86_64                1.0-1                      /oracle-database-ee-19c-1.0-1.x86_64                   5.4 G
    
    Transaction Summary
    ========================================================================================================================================================
    Install  1 Package
    
    Total size: 5.4 G
    Installed size: 5.4 G
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : oracle-database-ee-19c-1.0-1.x86_64                                                                                         1/1
      Verifying  : oracle-database-ee-19c-1.0-1.x86_64                                                                                         1/1
    
    Installed:
     oracle-database-ee-19c.x86_64 0:1.0-1
    
    Complete!
    

    安装完成后,Oracle数据库软件将安装在/opt/oracle目录下。

  2. 配置Oracle数据库

    初始化并配置Oracle数据库:

    sudo /etc/init.d/oracledb_ORCLCDB-19c configure
    

    示例输出:

    Configuring Oracle Database ORCLCDB.
    Prepare for db operation
    8% complete
    Copying database files
    31% complete
    Creating and starting Oracle instance
    32% complete
    36% complete
    40% complete
    43% complete
    46% complete
    Completing Database Creation
    51% complete
    54% complete
    Creating Pluggable Databases
    58% complete
    77% complete
    Executing Post Configuration Actions
    100% complete
    Database creation complete. For details check the logfiles at:
     /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
    Database Information:
    Global Database Name:ORCLCDB
    System Identifier(SID):ORCLCDB
    Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
    

4. 配置环境变量

  1. 设置Oracle用户的环境变量

    切换到Oracle用户,并编辑.bash_profile文件:

    su - oracle
    vi ~/.bash_profile
    

    添加以下内容:

    export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
    export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
    export ORACLE_SID=ORCLCDB
    

    保存并退出,然后加载配置:

    source ~/.bash_profile
    

5. 启动和停止Oracle服务

启动和停止Oracle服务是数据库管理员的常见任务。在Oracle数据库安装和配置完成后,可以通过以下步骤来启动和停止Oracle数据库服务。

启动数据库
  1. 使用系统管理工具启动

    作为root用户或具有适当权限的用户,使用以下命令启动Oracle数据库服务:

    sudo systemctl start oracledb_ORCLCDB-19c
    

    示例输出(如果服务已经启动):

    Job for oracledb_ORCLCDB-19c.service failed because the control process exited with error code. See "systemctl status oracledb_ORCLCDB-19c.service" and "journalctl -xe" for details.
    
  2. 手动启动数据库

    也可以手动启动数据库实例:

    • 切换到Oracle用户:

      su - oracle
      
    • 使用SQL*Plus连接到数据库并启动:

      sqlplus / as sysdba
      

      在SQL*Plus中执行以下命令:

      STARTUP;
      

      示例输出:

      ORACLE instance started.
      
      Total System Global Area 1577058304 bytes
      Fixed Size		    8895304 bytes
      Variable Size		 956301320 bytes
      Database Buffers	  603979776 bytes
      Redo Buffers		    7876608 bytes
      Database mounted.
      Database opened.
      
启动监听器
  1. 启动监听器

    切换到Oracle用户,并启动监听器:

    su - oracle
    lsnrctl start
    

    示例输出:

    
        LSNRCTL for Linux: Version
     
        19.0.0.0.0 - Production on 06-JUN-2024 06:10:58
     
        Copyright (c) 1991, 2024, Oracle.  All rights reserved.
     
        Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...
     
        TNSLSNR for Linux: Version 19.0.0.0.0 - Production
        System parameter file is /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
        Log messages written to /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
        Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
        Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
     
        Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
        STATUS of the LISTENER
        ------------------------
        Alias                     LISTENER
        Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
        Start Date                06-JUN-2024 06:10:59
        Uptime                    0 days 0 hr. 0 min. 1 sec
        Trace Level               off
        Security                  ON: Local OS Authentication
        SNMP                      OFF
        Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
        Listener Log File         /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
        Listening Endpoints Summary...
          (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
          (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
        The listener supports no services
        The command completed successfully
        
    

2. **查看监听器状态**

  确认监听器是否已启动:

  ```bash
  lsnrctl status

示例输出:

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 06-JUN-2024 06:11:30

Copyright (c) 1991, 2024, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                06-JUN-2024 06:10:59
Uptime                    0 days 0 hr. 0 min. 31 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "ORCLCDB" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDBXDB" has 1 instance(s).
  Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
The command completed successfully

停止Oracle服务

停止数据库
  1. 使用系统管理工具停止

    作为root用户或具有适当权限的用户,使用以下命令停止Oracle数据库服务:

    sudo systemctl stop oracledb_ORCLCDB-19c
    

    示例输出(如果服务已经停止):

    Warning: Stopping oracledb_ORCLCDB-19c.service, but it can still be activated by:
      oracledb_ORCLCDB-19c.path
    
  2. 手动停止数据库

    也可以手动停止数据库实例:

    • 切换到Oracle用户:

      su - oracle
      
    • 使用SQL*Plus连接到数据库并停止:

      sqlplus / as sysdba
      

      在SQL*Plus中执行以下命令:

      SHUTDOWN IMMEDIATE;
      

      示例输出:

      Database closed.
      Database dismounted.
      ORACLE instance shut down.
      
停止监听器
  1. 停止监听器

    切换到Oracle用户,并停止监听器:

    su - oracle
    lsnrctl stop
    

    示例输出:

    LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 06-JUN-2024 06:12:00
    
    Copyright (c) 1991, 2024, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    The command completed successfully
    

6. 验证安装

  1. 登录数据库

    切换到Oracle用户,并使用sqlplus工具登录数据库:

    sqlplus / as sysdba
    

    示例输出:

    SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 6 06:12:30 2024
    Version 19.3.0.0.0
    
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.3.0.0.0
    
    SQL>
    
  2. 验证数据库状态

    在SQL*Plus中运行以下命令,验证数据库状态:

    SELECT name, open_mode FROM v$database;
    

    示例输出:

    NAME      OPEN_MODE
    --------- --------------------
    ORCLCDB   READ WRITE
    

7. 开通Linux端口

  1. 开通防火墙端口

    如果使用的是Firewalld,可以使用以下命令开通Oracle监听器默认端口1521:

    sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent
    sudo firewall-cmd --reload
    

    示例输出:

    success
    

总结

通过以上步骤,你已经成功地在Linux系统上通过RPM包安装并配置了Oracle数据库。确保按照每一步骤进行操作,以避免安装过程中出现问题。如果遇到任何问题,请查阅Oracle官方文档或社区支持。


希望这个指南能帮助你顺利安装和配置Oracle数据库。如果有任何问题或建议,请在评论区留言。

  • 31
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果环境不能安装请使用:-- rpm -ivh *****.rpm --nodeps --force rpm -Uvh binutils-2*x86_64* rpm -Uvh g2*x86_64* nss-softokn-freebl-3*x86_64* nss-softokn-freebl-3*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh glibc-2*i686* rpm -Uvh compat-libstdc++-33*x86_64* rpm -Uvh glibc-common-2*x86_64* rpm -Uvh glibc-devel-2*x86_64* rpm -Uvh glibc-devel-2*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh glibc-headers-2*x86_64* rpm -Uvh elfutils-libelf-0*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh elfutils-libelf-devel-0*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh gcc-4*x86_64* rpm -Uvh gcc-c++-4*x86_64* rpm -Uvh ksh-*x86_64* rpm -Uvh libaio-0*x86_64* rpm -Uvh libaio-devel-0*x86_64* rpm -Uvh libaio-0*i686* rpm -Uvh libaio-devel-0*i686* rpm -Uvh libgcc-4*x86_64* rpm -Uvh libgcc-4*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh libstdc++-4*x86_64* rpm -Uvh libstdc++-4*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh libstdc++-devel-4*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh make-3.81*x86_64* rpm -Uvh numactl-devel-2*x86_64* rpm -Uvh sysstat-9*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh compat-libstdc++-33*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh compat-libcap* rpm -Uvh unixODBC-2.2.11-7.1.i386 rpm -Uvh unixODBC-2.2.11-10.el5.x86_64 rpm -Uvh unixODBC-devel-2.2.2-3.i386 rpm -Uvh unixODBC-devel-2.2.3-6.i386 rpm -Uvh unixODBC-devel-2.2.11-7.1.i386 rpm -Uvh unixODBC-devel-2.2.11-10.el5.x86_64 tar -zxvf unixODBC-2.3.1.tar.gz

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的小熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值