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

相关推荐
普马萨特9 分钟前
GPS、WiFi、基站定位:为什么在 Agent 时代不仅不受影响,反而更重要
linux·运维·服务器
予枫的编程笔记34 分钟前
【Linux入门篇】Ubuntu和CentOS包管理不一样?apt与yum对比实操,看完再也不混淆
linux·人工智能·ubuntu·centos·linux包管理·linux新手教程·rpm离线安装
RisunJan39 分钟前
Linux命令-lpr(从命令行提交文件到打印机打印)
linux·运维·服务器
历程里程碑40 分钟前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法
Sheep Shaun42 分钟前
如何让一个进程诞生、工作、终止并等待回收?——探索Linux进程控制与Shell的诞生
linux·服务器·数据结构·c++·算法·shell·进程控制
codingWhat44 分钟前
Linux 入门指南
linux
Y1rong1 小时前
linux之信号量
linux
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][tty]sysrq
linux·笔记·学习
c++逐梦人1 小时前
Linux基础IO
linux·操作系统·io
blueSatchel1 小时前
U-Boot载入到DDR过程的代码分析
linux·开发语言·u-boot