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

相关推荐
C++ 老炮儿的技术栈2 分钟前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
爱莉希雅&&&38 分钟前
linux中MySQL数据库备份恢复的四种方法(更新中)
linux·数据库·mysql·数据库备份·mysqldumper
藤谷性能1 小时前
Ubuntu 22.04:安装SEGGER Embedded Studio
ubuntu·nrf52832·ses·embedded studio
coppher1 小时前
Ubuntu 22.04 amd64 离线安装 Docker 完整教程
linux·docker
荒川之神1 小时前
Oracle 数据仓库星座模型(Galaxy Model)设计原则
数据库·数据仓库·oracle
xyz5991 小时前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
亚空间仓鼠2 小时前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
minji...3 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家3 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
曹牧3 小时前
Oracle:
数据库·oracle