首页主机资讯Ubuntu下Oracle数据库如何搭建

Ubuntu下Oracle数据库如何搭建

时间2025-10-10 19:05:03发布访客分类主机资讯浏览582
导读:Ubuntu下Oracle数据库搭建步骤 一、前置准备 系统要求 推荐使用Ubuntu 20.04 LTS及以上版本(确保系统稳定性); 硬件要求:至少4GB RAM(推荐8GB)、10GB以上可用磁盘空间; 预装软件:需提前安装bu...

Ubuntu下Oracle数据库搭建步骤

一、前置准备

  1. 系统要求

    • 推荐使用Ubuntu 20.04 LTS及以上版本(确保系统稳定性);
    • 硬件要求:至少4GB RAM(推荐8GB)、10GB以上可用磁盘空间;
    • 预装软件:需提前安装build-essentialgccmake等编译工具(用于Oracle安装过程中的编译操作)。
  2. 安装依赖包
    Oracle数据库运行依赖以下关键库,需通过以下命令安装:

    sudo apt update
    sudo apt install alien libaio1 unixodbc build-essential libmotif3 libaio-dev unzip wget
    

    注:libaio1(异步I/O库)、unixodbc(ODBC驱动)是Oracle安装的必用依赖,libmotif3用于解决部分版本安装时的界面兼容问题。

二、创建Oracle专用用户与目录

  1. 创建用户组与用户
    Oracle推荐使用专用用户管理数据库,避免使用root权限:

    sudo groupadd oinstall      # 归属组(安装相关文件)
    sudo groupadd dba           # 数据库管理员组
    sudo useradd -g oinstall -G dba -m -s /bin/bash oracle  # 创建oracle用户,归属oinstall和dba组
    sudo passwd oracle          # 设置oracle用户密码(需牢记)
    
  2. 创建安装与数据目录
    建议将Oracle软件与数据分开存储,提升管理效率:

    sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1  # Oracle软件安装目录
    sudo mkdir -p /u01/app/oracle/oradata                 # 数据库数据文件目录
    sudo chown -R oracle:oinstall /u01                    # 递归设置目录所有者
    sudo chmod -R 755 /u01                                # 设置目录权限(所有者可读写执行,组与其他用户可读执行)
    

三、配置系统内核参数

Oracle对系统内核参数有严格要求,需修改以下文件调整配置:

  1. 编辑/etc/sysctl.conf
    添加或修改以下参数(满足Oracle内存与进程需求):

    kernel.shmall = 2097152          # 共享内存总页数(每页4KB,总计8GB)
    kernel.shmmax = 2147483648       # 单个共享内存段最大大小(8GB)
    kernel.shmmni = 4096             # 共享内存段最大数量
    kernel.sem = 250 32000 100 128   # 信号量参数(SEMMSL、SEMMNS、SEMOPM、SEMMNI)
    fs.file-max = 65536              # 系统最大文件描述符数
    net.ipv4.ip_local_port_range = 9000 65500  # 本地端口范围(避免与Oracle端口冲突)
    

    生效配置:

    sudo sysctl -p
    
  2. 编辑/etc/security/limits.conf
    提升oracle用户的资源限制(避免进程或文件数超限):

    oracle soft nproc 2047           # 用户最大进程数(软限制)
    oracle hard nproc 16384          # 用户最大进程数(硬限制)
    oracle soft nofile 1024          # 用户最大文件描述符数(软限制)
    oracle hard nofile 65536         # 用户最大文件描述符数(硬限制)
    

四、配置Oracle环境变量

为oracle用户设置环境变量,方便后续操作:

  1. 编辑~/.bashrc文件
    在文件末尾添加以下内容(替换/u01/app/oracle为实际安装路径):
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
    export ORACLE_SID=orcl           # 数据库实例名(可自定义,如orcl、testdb)
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export LANG=C                    # 设置语言环境(避免安装时乱码)
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  # 字符集(根据需求调整,如UTF-8)
    
    生效配置:
    source ~/.bashrc
    

五、安装Oracle数据库软件

  1. 下载Oracle安装包
    从Oracle官方网站下载适用于Linux的Oracle Database安装包(如19c、21c版本),选择“Linux x86-64”平台。例如:

    • Oracle 19c:linuxx64_19c_database.zip
    • Oracle 21c:linuxx64_21c_database.zip
  2. 解压并运行安装程序
    将安装包解压到软件目录,以oracle用户身份运行安装脚本:

    cd /u01/app/oracle
    unzip /path/to/linuxx64_19c_database.zip -d product/19.0.0/dbhome_1
    cd product/19.0.0/dbhome_1
    ./runInstaller
    

    安装向导步骤

    • 选择“安装数据库软件”→“单实例数据库安装”;
    • 选择“创建和配置数据库”(若需立即创建数据库);
    • 输入oracle用户密码(需包含大小写字母、数字和特殊字符);
    • 选择“桌面类”(适用于单机测试环境)或“服务器类”(适用于生产环境);
    • 完成安装后,根据提示运行/u01/app/oracle/product/19.0.0/dbhome_1/root.sh脚本(需root权限)。

六、创建Oracle数据库实例

  1. 以sysdba身份登录
    使用sqlplus工具登录数据库(默认无密码,首次登录需设置):

    sqlplus / as sysdba
    
  2. 创建数据库实例
    执行以下命令创建数据库(以orcl为例):

    CREATE DATABASE orcl
    USER SYS IDENTIFIED BY Oracle123
    USER SYSTEM IDENTIFIED BY Oracle123
    LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 100M,
            GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 100M,
            GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 100M
    MAXLOGFILES 5
    MAXLOGMEMBERS 5
    MAXLOGHISTORY 1
    MAXDATAFILES 100
    CHARACTER SET AL32UTF8
    NATIONAL CHARACTER SET AL16UTF16
    EXTENT MANAGEMENT LOCAL
    DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' SIZE 325M REUSE
    SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 325M REUSE
    DEFAULT TABLESPACE users
        DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
        SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
    DEFAULT TEMPORARY TABLESPACE temp
        TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
        SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
        
    
  3. 完成数据库配置
    执行脚本创建数据字典视图:

    @?/rdbms/admin/catalog.sql
    @?/rdbms/admin/catproc.sql
    
  4. 设置数据库开机自启
    创建systemd服务文件,实现Oracle数据库随系统启动:

    sudo vim /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"
    Environment="ORACLE_SID=orcl"
    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
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    生效服务配置:

    sudo systemctl daemon-reload
    sudo systemctl enable oracle
    

七、验证安装

  1. 启动数据库

    sqlplus / as sysdba
    STARTUP
    
  2. 连接数据库
    使用sqlplus工具连接数据库(默认SID为orcl):

    sqlplus sys/Oracle123 as sysdba
    

    若能正常登录并执行SELECT * FROM v$version; 查询版本信息,则说明安装成功。

八、常见问题解决

  1. 安装卡在68%
    可能缺少libmotif3libaio-dev等依赖包,需重新安装对应依赖:

    sudo apt install libmotif3 libaio-dev
    
  2. 无法连接到数据库

    • 检查Oracle监听器是否启动:lsnrctl status
    • 检查防火墙是否放行1521端口(Oracle默认端口):sudo ufw allow 1521

以上步骤涵盖了Ubuntu下Oracle数据库搭建的全流程,需根据实际环境调整路径与参数。建议参考Oracle官方文档(如《Oracle Database安装指南》)获取更详细的配置说明。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu下Oracle数据库如何搭建
本文地址: https://pptw.com/jishu/722757.html
Debian LAMP能用于生产环境吗 Debian LAMP能扩展性强吗

游客 回复需填写必要信息