首页主机资讯如何在 Ubuntu 上配置 Oracle

如何在 Ubuntu 上配置 Oracle

时间2025-10-10 18:38:03发布访客分类主机资讯浏览206
导读:在Ubuntu上配置Oracle数据库的详细步骤 一、前置准备 1. 系统要求 推荐使用Ubuntu 20.04 LTS及以上版本(确保系统稳定性); 至少4GB RAM(生产环境建议8GB以上)、10GB以上可用磁盘空间; 已安装cur...

在Ubuntu上配置Oracle数据库的详细步骤

一、前置准备

1. 系统要求

  • 推荐使用Ubuntu 20.04 LTS及以上版本(确保系统稳定性);
  • 至少4GB RAM(生产环境建议8GB以上)、10GB以上可用磁盘空间
  • 已安装curlwget等基础工具(用于下载依赖和安装包)。

2. 安装必要依赖

Oracle数据库依赖多个系统库,需提前安装:

sudo apt update
sudo apt install -y alien libaio1 unixodbc build-essential gcc make binutils
  • libaio1:异步I/O库(Oracle核心依赖);
  • unixodbc:ODBC驱动管理工具;
  • build-essential:编译工具链(部分组件需编译)。

二、手动安装Oracle数据库(以Oracle 19c为例)

1. 创建Oracle用户和组

Oracle需专用用户和组管理权限:

sudo groupadd -g 501 oinstall  # 所属组
sudo groupadd -g 502 dba       # 数据库管理员组
sudo useradd -u 501 -g oinstall -G dba -d /home/oracle -s /bin/bash oracle  # 创建用户
sudo passwd oracle             # 设置密码(需记住,后续登录用)

2. 创建安装目录并设置权限

Oracle安装目录需归属oracle:oinstall,并赋予适当权限:

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                                # 目录权限

3. 配置系统内核参数

编辑/etc/sysctl.conf,添加以下内容优化系统性能:

kernel.shmmax = 2147483648    # 最大共享内存段大小(建议为物理内存的一半)
kernel.shmmni = 4096          # 共享内存段最大数量
kernel.shmall = 2097152       # 共享内存总页数
fs.file-max = 65536           # 最大文件描述符数
net.ipv4.ip_local_port_range = 9000 65500  # 允许的端口范围

使配置生效:

sudo sysctl -p

4. 配置用户环境变量

编辑oracle用户的~/.bashrc文件,添加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:$LD_LIBRARY_PATH

使配置生效:

source ~/.bashrc

5. 解压并运行Oracle安装程序

将Oracle安装包(如linuxx64_19c_database.zip)上传至Ubuntu服务器,解压后运行安装脚本:

unzip linuxx64_19c_database.zip -d /u01/app/oracle
cd /u01/app/oracle/database
./runInstaller

按照安装向导操作:

  • 选择“单实例数据库安装”;
  • 选择“桌面类”(适用于单机环境);
  • 设置oracle用户为数据库管理员;
  • 完成安装后,运行/u01/app/oracle/product/19.0.0/dbhome_1/root.sh(按提示操作)。

三、使用Docker快速部署Oracle(可选)

若不想手动配置,可使用Docker容器快速部署Oracle数据库(以Oracle 11g为例):

1. 安装Docker

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

2. 拉取Oracle镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g  # 国内镜像(更快)
# 或使用官方镜像(需Oracle账户):
# docker pull store/oracle/database-enterprise:12.2.0.1

3. 运行Oracle容器

docker run -d --name oracle-db -p 1521:1521 --shm-size=1g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • -p 1521:1521:映射Oracle监听端口;
  • --shm-size=1g:分配共享内存(Oracle需足够共享内存)。

四、配置数据库实例

1. 以SYSDBA身份登录

sqlplus /nolog
CONNECT / AS SYSDBA

2. 创建数据库实例(手动安装需执行)

若手动安装未自动创建数据库,需手动初始化:

CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
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
UNDO TABLESPACE undo
    DATAFILE '/u01/app/oracle/oradata/orcl/undo01.dbf'
    SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
    

3. 启动/关闭数据库

-- 启动数据库
STARTUP

-- 关闭数据库(正常关闭)
SHUTDOWN IMMEDIATE

4. 配置监听器(若未自动配置)

编辑$ORACLE_HOME/network/admin/listener.ora文件:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

重启监听器:

lsnrctl stop
lsnrctl start

五、验证安装

1. 登录数据库

sqlplus sys/oracle AS SYSDBA  # 使用SYS用户登录
-- 或创建普通用户登录:
-- CREATE USER test IDENTIFIED BY test;
    
-- GRANT CONNECT, RESOURCE TO test;
    
-- sqlplus test/test

2. 执行简单查询

SELECT * FROM v$version;
      -- 查看Oracle版本
SELECT SYSDATE FROM dual;
     -- 查看当前时间

3. 检查监听状态

lsnrctl status

若显示“服务已注册”,说明监听正常。

六、常见问题解决

  • 权限问题:确保oracle用户对/u01目录有读写权限;
  • 内核参数不足:若安装时报错,需调整/etc/sysctl.conf中的参数(如kernel.shmmax);
  • 监听器无法启动:检查listener.ora中的HOST是否为localhost(若远程访问需改为IP)。

以上步骤覆盖了Ubuntu上Oracle数据库的手动安装、Docker部署及基本配置,可根据实际需求选择合适的方式。

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


若转载请注明出处: 如何在 Ubuntu 上配置 Oracle
本文地址: https://pptw.com/jishu/722730.html
Ubuntu Oracle 性能优化技巧有哪些 Debian如何优化LNMP的网络设置

游客 回复需填写必要信息