在 Ubuntu 上安装 Oracle Database 并不是一件简单的事,因为 Oracle 官方并不提供 Ubuntu 的官方安装包,通常只支持 Oracle Linux / RHEL / SUSE。
不过在 Ubuntu 上仍然可以安装,常见做法有两种:
适合 学习 / 测试 / 开发。
sudo apt update
sudo apt install -y \
build-essential \
libaio1 \
libaio-dev \
libelf-dev \
libnsl2 \
libnsl-dev \
libpthread-stubs0-dev \
unzip \
wget \
curl
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -m -g oinstall -G dba oracle
sudo passwd oracle
编辑:
sudo nano /etc/sysctl.conf
追加:
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.ipv4.ip_local_port_range = 9000 65500
应用:
sudo sysctl -p
以 Oracle 19c 为例(需登录 Oracle 账号):
wget https://download.oracle.com/otn/linux/oracle19c/190000/oracle-database-ee-19c-1.0-1.x86_64.rpm
⚠️ Ubuntu 不支持 .rpm,需要转换为 .deb:
sudo apt install alien
sudo alien -d oracle-database-ee-19c-1.0-1.x86_64.rpm
sudo dpkg -i oracle-database-ee-19c_1.0-2_amd64.deb
sudo /etc/init.d/oracledb_ORCLCDB-19c configure
切换用户:
su - oracle
编辑:
nano ~/.bashrc
添加:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH
生效:
source ~/.bashrc
sqlplus / as sysdba
startup
适合 开发 / 学习
docker run -d \
--name oracle19c \
-p 1521:1521 \
-p 5500:5500 \
-e ORACLE_PWD=oracle \
container-registry.oracle.com/database/enterprise:19.3.0.0
连接:
sqlplus system/oracle@localhost:1521/ORCLCDB
✅ 优点
| 问题 | 解决 |
|---|---|
| 内存不足 | ≥ 8GB |
| SELinux | Ubuntu 默认关闭 |
| 字符集 | 默认 AL32UTF8 |
| 监听失败 | lsnrctl start |
| 场景 | 推荐 |
|---|---|
| 学习 | ✅ Docker |
| 开发 | ✅ Docker / Ubuntu |
| 生产 | ✅ Oracle Linux |
如果你愿意,我可以:
你现在是 学习 / 开发 / 生产 环境?