Ubuntu 安装 Oracle 11g XE 完整指南

Ubuntu 安装 Oracle 11g XE 完整指南

1. 系统准备

更新系统

bash 复制代码
sudo apt update && sudo apt upgrade -y

安装必要工具

bash 复制代码
sudo apt install -y alien libaio1 unixodbc bc

2. 下载与转换安装包

下载 Oracle 11g XE

访问官方下载地址:

https://www.oracle.com/database/technologies/xe-prior-release-downloads.html

解压并转换 RPM 包

bash 复制代码
# 解压 zip 文件
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

# 进入解压目录
cd Disk1

# 转换 RPM 为 DEB (此过程需要几分钟)
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

# 查看生成的 deb 包
ls -lh oracle-xe*.deb

3. 配置内核参数

bash 复制代码
# 编辑系统配置文件
sudo nano /etc/sysctl.conf

在文件末尾添加以下内容:

bash 复制代码
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
net.ipv4.ip_local_port_range = 9000 65500
fs.aio-max-nr = 1048576

应用配置:

bash 复制代码
sudo sysctl -p

4. 创建必要的链接和目录

创建系统链接

bash 复制代码
# 创建必要的符号链接
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /lib/x86_64-linux-gnu/libpthread.so.0 /lib64/libpthread.so.0
sudo ln -s /lib/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6

创建 chkconfig 脚本

bash 复制代码
# 创建脚本文件
sudo nano /sbin/chkconfig

添加以下内容:

bash 复制代码
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
    echo >> $file
    echo '### BEGIN INIT INFO' >> $file
    echo '# Provides: OracleXE' >> $file
    echo '# Required-Start: $remote_fs $syslog' >> $file
    echo '# Required-Stop: $remote_fs $syslog' >> $file
    echo '# Default-Start: 2 3 4 5' >> $file
    echo '# Default-Stop: 0 1 6' >> $file
    echo '# Short-Description: Oracle 11g Express Edition' >> $file
    echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

设置执行权限:

bash 复制代码
sudo chmod 755 /sbin/chkconfig

5. 安装 Oracle XE

bash 复制代码
# 安装 deb 包
sudo dpkg -i oracle-xe_11.2.0-2_amd64.deb

# 如果出现依赖问题,执行:
sudo apt-get install -f

6. 配置 Oracle XE

bash 复制代码
# 运行配置脚本
sudo /etc/init.d/oracle-xe configure

配置过程中需要设置:

  1. HTTP 端口 (默认 8080,建议改为 9090)
  2. 数据库监听端口 (默认 1521)
  3. SYS 和 SYSTEM 用户密码 (请设置强密码)
  4. 是否开机启动 (建议选择 y)

7. 配置环境变量

bash 复制代码
# 编辑 bashrc 文件
nano ~/.bashrc

在文件末尾添加:

bash 复制代码
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

使配置生效:

bash 复制代码
source ~/.bashrc

8. 启动数据库

bash 复制代码
# 启动 Oracle XE 服务
sudo service oracle-xe start

# 或使用完整路径
sudo /etc/init.d/oracle-xe start

# 查看服务状态
sudo service oracle-xe status

9. 连接数据库

bash 复制代码
# 使用 sqlplus 连接数据库
sqlplus system/YourPassword123@localhost:1521/XE

常见问题

端口冲突

如果 8080 端口被占用,可在配置时改为其他端口(如 9090)

服务无法启动

检查内核参数是否正确应用:

bash 复制代码
sudo sysctl -a | grep kernel.sem

环境变量未生效

确保执行了 source ~/.bashrc,或重新登录终端


总结

本教程详细介绍了在 Ubuntu 系统上安装 Oracle 11g XE 的完整流程,包括系统准备、软件包转换、内核配置、安装配置等关键步骤。按照步骤操作即可成功部署 Oracle 数据库环境。

相关推荐
老兵发新帖7 小时前
Ubuntu如何判断获取到的IP地址是静态IP还是动态?
chrome·tcp/ip·ubuntu
_OP_CHEN7 小时前
【Linux系统编程】(十五)揭秘 Linux 环境变量:从底层原理到实战操作,一篇吃透命令行参数与全局变量!
linux·运维·操作系统·bash·进程·环境变量·命令行参数
黑白极客7 小时前
项目启动时报错找不到UserDetailsService
数据库·oracle
橘子真甜~7 小时前
C/C++ Linux网络编程14 - 传输层TCP协议详解(保证可靠传输)
linux·服务器·网络·网络协议·tcp/ip·滑动窗口·拥塞控制
小云小白7 小时前
Bash /dev/tcp、nc 与 nmap:端口检测的定位与取舍
linux·端口检测
Lenyiin8 小时前
Linux 项目托管 `git`
linux·运维·服务器·git·lenyiin
徐子元竟然被占了!!16 小时前
Linux-systemctl
linux·数据库·oracle
_w_z_j_19 小时前
Linux----mmap
linux
程序员zgh20 小时前
Linux系统常用命令集合
linux·运维·服务器·c语言·开发语言·c++