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 数据库环境。

相关推荐
顺风尿一寸44 分钟前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode7 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫9 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux