ubuntu

Oracle在Ubuntu上的安装步骤有哪些

小樊
32
2025-10-02 00:49:37
栏目: 云计算

Oracle在Ubuntu上的安装步骤(两种常见方法)

一、通过Docker容器安装Oracle数据库

适用场景:快速部署、无需手动配置环境,适合测试或开发环境。
步骤详解

  1. 安装Docker
    更新软件包索引并安装Docker引擎:

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker  # 启动Docker服务
    sudo systemctl enable docker # 设置开机自启
    
  2. 下载Oracle数据库镜像
    从Docker Hub拉取官方或第三方维护的Oracle镜像(以Oracle 11g为例):

    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g  # 国内镜像加速
    # 或使用官方镜像(如Oracle 19C):
    # docker pull container-registry.oracle.com/database/express:latest
    
  3. 创建并启动Oracle容器
    运行容器并映射端口(1521为Oracle监听端口,5500为企业管理器端口):

    docker run -d --name oracle_db -p 1521:1521 -p 5500:5500 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
    

    注:--name指定容器名称,-p映射宿主机端口到容器端口。

  4. 进入容器配置Oracle
    进入容器终端,加载环境变量并设置SQL*Plus软链接:

    docker exec -it oracle_db bash
    source /home/oracle/.bash_profile  # 加载Oracle环境变量
    ln -s $ORACLE_HOME/bin/sqlplus /usr/bin/sqlplus  # 创建全局可用的sqlplus命令
    
  5. 修改默认密码并登录
    使用sysdba权限修改sys用户密码(默认密码通常为helowin或镜像说明中的密码):

    sqlplus /nolog
    conn / as sysdba;
    alter user sys identified by YourNewPassword;  # 替换为新密码
    exit;
    

    使用新密码登录验证:

    sqlplus sys/YourNewPassword@helowin as sysdba  # helowin为默认SID
    
  6. 完成基础配置
    可选:创建表空间、用户或导入数据(根据业务需求操作)。

二、手动安装Oracle Database(以19C为例)

适用场景:需要完全控制安装过程、生产环境或定制化配置。
步骤详解

  1. 系统要求检查

    • Ubuntu 16.04及以上版本(64位);
    • 至少2GB内存、10GB以上磁盘空间;
    • 支持多核CPU。
  2. 安装依赖包
    更新软件源并安装Oracle所需的依赖库:

    sudo apt update
    sudo apt install alien libaio1 unixodbc build-essential  # alien用于转换RPM包(可选)
    
  3. 创建Oracle用户和组
    创建系统用户组(oinstall为安装组,dba为数据库管理员组)及oracle用户:

    sudo groupadd -g 503 dba
    sudo groupadd -g 504 oper
    sudo useradd -u 501 -g oinstall -G dba,oper -s /bin/bash -m oracle  # -m创建家目录
    sudo passwd oracle  # 设置oracle用户密码
    
  4. 创建安装目录并设置权限
    创建Oracle基目录(ORACLE_BASE)和产品目录(ORACLE_HOME),并赋予权限:

    sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1  # 安装目录
    sudo mkdir -p /u01/app/oracle/oradata  # 数据文件目录
    sudo chown -R oracle:oinstall /u01  # 递归修改所有权
    sudo chmod -R 775 /u01/app/oracle  # 设置目录权限
    
  5. 配置Oracle环境变量
    编辑oracle用户的.bashrc文件,添加环境变量:

    echo 'export ORACLE_BASE=/u01/app/oracle' >> /home/oracle/.bashrc
    echo 'export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1' >> /home/oracle/.bashrc
    echo 'export ORACLE_SID=orcl' >> /home/oracle/.bashrc  # 实例名
    echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /home/oracle/.bashrc
    echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH' >> /home/oracle/.bashrc
    source /home/oracle/.bashrc  # 使配置立即生效
    
  6. 下载并解压Oracle安装包
    从Oracle官方网站下载Linux版本的安装包(如linuxx64_19c_database.zip),解压到安装目录:

    cd /path/to/downloaded_files
    unzip linuxx64_19c_database.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
    
  7. 运行Oracle安装程序
    切换至oracle用户,执行安装脚本:

    su - oracle
    cd /u01/app/oracle/product/19.0.0/dbhome_1
    ./runInstaller
    

    按照图形界面提示操作:

    • 选择“安装数据库软件”→“单实例数据库安装”;
    • 选择“企业版”;
    • 指定安装路径(ORACLE_HOME);
    • 完成配置助手(如创建数据库、配置监听等)。
  8. 配置系统内核参数
    编辑/etc/sysctl.conf文件,添加以下参数以优化系统性能:

    kernel.shmmax = 3147483648  # 最大共享内存段大小(建议为物理内存的80%)
    kernel.shmmni = 4096        # 共享内存段最大数量
    kernel.shmall = 2097152     # 共享内存总页数
    fs.file-max = 65536         # 最大文件描述符数
    net.ipv4.ip_local_port_range = 1024 65000  # 本地端口范围
    

    使配置生效:

    sudo sysctl -p
    
  9. 设置Oracle用户资源限制
    编辑/etc/security/limits.conf文件,添加以下限制:

    oracle soft nproc 2047      # 用户进程软限制
    oracle hard nproc 16384     # 用户进程硬限制
    oracle soft nofile 1024     # 用户文件描述符软限制
    oracle hard nofile 65536    # 用户文件描述符硬限制
    
  10. 创建数据库实例(可选)
    若安装时未创建数据库,可使用dbca(数据库配置助手)创建:

    dbca  # 图形化工具,按提示操作
    

    或使用命令行创建:

    dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 40 -emConfiguration DBEXPRESS
    
  11. 设置开机自启
    创建systemd服务文件/etc/systemd/system/oracle.service,内容如下:

    [Unit]
    Description=Oracle Database Service
    After=network.target
    
    [Service]
    Type=forking
    User=oracle
    Group=oinstall
    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
    RestartSec=30s
    
    [Install]
    WantedBy=multi-user.target
    

    启用并启动服务:

    sudo systemctl daemon-reload
    sudo systemctl enable oracle
    sudo systemctl start oracle
    
  12. 验证安装
    使用sqlplus登录数据库,检查实例状态:

    sqlplus / as sysdba
    SQL> SELECT status FROM v$instance;
    

    若返回OPEN,则表示数据库启动成功。

注意事项

0
看了该问题的人还看了