Ubuntu 上安装 Oracle 数据库的两种可靠方式
方式一 Docker 快速部署
docker run -d \
--name oracle-db \
-p 1521:1521 \
-p 5500:5500 \
-e ORACLE_PWD=YourStrongPassword \
store/oracle/database-enterprise:19.3.0.0
方式二 手动安装 Oracle Database 19c XE(轻量、适合测试与开发)
sudo groupadd -r oinstall
sudo groupadd -r dba
sudo useradd -m -g oinstall -G dba -s /bin/bash oracle
sudo passwd oracle
sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01
sudo chmod -R 775 /u01
sudo apt-get install -y ./oracle-database-xe-19c_19.3.0-1_amd64.deb
sudo /etc/init.d/oracle-xe-19c configure
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhomeXE
export ORACLE_SID=XE
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
sudo systemctl start oracle-xe-19c
sudo systemctl enable oracle-xe-19c
sqlplus / as sysdba
SELECT name, open_mode FROM v$database;
方式三 手动安装 Oracle Database 19c(通用企业版,GUI 或静默安装)
sudo apt-get update
sudo apt-get install -y build-essential libaio1 unixodbc bc libstdc++6-12-dev \
libgcc-s1 libnss3 libpam0g libssl3 libx11-6 libxext6 libxtst6 \
libxi6 libaio-dev rpm
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
sudo -iu oracle
export DISPLAY=:0
xhost +
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
./runInstaller -silent -responseFile /path/response.rsp
sudo tee /etc/systemd/system/oracle.service >/dev/null <<'EOF'
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=simple
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1"
Environment="ORACLE_SID=ORCLCDB"
ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME
ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now oracle
连接与验证
jdbc:oracle:thin:@//<服务器IP>:1521/XE
或(服务名方式):jdbc:oracle:thin:@<服务器IP>:1521/ORCLPDB1
常见问题与排错要点