温馨提示×

Ubuntu Oracle如何安装与卸载

小樊
36
2025-12-18 18:20:43
栏目: 云计算

Ubuntu 上安装与卸载 Oracle 的可行方案

Ubuntu 上部署 Oracle 常见有三种方式:使用 Docker 快速运行、安装 Oracle XE(轻量版)、以及手动安装 Oracle Database 11g/12c/19c。下面给出各自的安装与卸载要点,按你的场景选择其一即可。


方案一 Docker 运行 Oracle(最快、最干净)

  • 安装 Docker
    • 更新索引并安装:sudo apt-get update && sudo apt-get install -y docker.io
    • 启动与开机自启:sudo systemctl enable --now docker
  • 拉取并运行镜像(示例为 19.3 企业版)
    • 拉取:docker pull store/oracle/database-enterprise:19.3.0.0
    • 运行:将 1521(数据库)与 5500(EM Express)映射到宿主机
      • docker run -d --name oracle-db -p 1521:1521 -p 5500:5500 store/oracle/database-enterprise:19.3.0.0
  • 连接信息
    • 主机:localhost
    • 端口:1521
    • SID/服务名:ORCLCDB(容器默认)
    • EM Express:https://localhost:5500/em(首次登录常见账号 sys / as sysdba
  • 停止与删除
    • 停止:docker stop oracle-db
    • 删除容器:docker rm oracle-db
    • 删除镜像:docker rmi store/oracle/database-enterprise:19.3.0.0
  • 说明
    • 适合开发/测试;数据持久化请挂载 -v 宿主目录:/opt/oracle/oradata。上述镜像与端口映射为官方示例用法。

方案二 安装 Oracle XE(轻量版,适合快速试用)

  • 准备与依赖
    • 安装转换工具与依赖:sudo apt-get update && sudo apt-get install -y alien libaio1
  • 安装步骤(以 11g XE RPM 为例)
    • 解压 RPM 包,转换为 DEB:alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
    • 安装 DEB:sudo dpkg -i oracle-xe-11.2.0-1.0.x86_64.deb
    • 若安装脚本报错缺少 /sbin/chkconfig,编辑 /var/lib/dpkg/info/oracle-xe.postinst,将对应块注释后重新执行该脚本
  • 配置与初始化
    • 创建共享内存启动脚本(避免 ORA-00845):
      • 新建:sudo tee /etc/init.d/oracle-shm <<‘EOF’
        • #!/bin/sh
        • case “$1” in
        • start) if [ ! -e /dev/shm/.oracle-shm ]; then mkdir -p /dev/shm; mount -t tmpfs shmfs -o size=2048m /dev/shm; touch /dev/shm/.oracle-shm; fi ;;
        • stop) ;;
        • *) echo “Usage: $0 {start|stop}”; exit 1 ;;
        • esac
      • EOF
    • 赋权并启用:sudo chmod 755 /etc/init.d/oracle-shm && sudo update-rc.d oracle-shm defaults 01 99
    • 初始化数据库:sudo /etc/init.d/oracle-xe configure(设置 8080 管理端口、1521 监听端口、SYS 密码、是否自启)
  • 连接与启停
    • 命令行:sqlplus / as sysdba(启动/关闭用 STARTUP/SHUTDOWN IMMEDIATE
    • 服务:sudo service oracle-xe start|stop
  • 卸载
    • 卸载包:sudo apt-get remove --purge oracle-xe
    • 清理配置与数据:sudo rm -rf /u01 /etc/default/oracle-xe
  • 说明
    • Oracle XE 为免费轻量版,适合开发/学习;上述步骤针对 11g XE 在 Ubuntu 上的常见做法。

方案三 手动安装 Oracle Database 11g/12c/19c(通用,但步骤较多)

  • 准备
    • Oracle 官方下载 Linux x64 安装介质(ZIP 包),解压到安装目录
    • 创建用户与组:sudo groupadd oinstall && sudo groupadd dba
    • 创建用户:sudo useradd -g oinstall -G dba -m -s /bin/bash oracle
    • 创建目录并授权:sudo mkdir -p /u01/app/oracle /u01/app/oracle/oradata
    • 授权:sudo chown -R oracle:oinstall /u01 && sudo chmod -R 775 /u01
  • 依赖与系统参数
    • 依赖示例:sudo apt-get install -y alien libaio1 unixodbc build-essential
    • 内核参数(示例,按内存调优):编辑 /etc/sysctl.conf
      • fs.file-max = 65536
      • kernel.shmall = 2097152
      • kernel.shmmax = 2147483648
      • kernel.shmmni = 4096
      • kernel.sem = 250 32000 100 128
      • net.ipv4.ip_local_port_range = 1024 65000
      • 使生效:sudo sysctl -p
    • 资源限制(/etc/security/limits.conf):
      • oracle soft nproc 2047
      • oracle hard nproc 16384
      • oracle soft nofile 1024
      • oracle hard nofile 65536
  • Oracle 用户环境
    • 编辑 /home/oracle/.bashrc~/.profile
      • export ORACLE_BASE=/u01/app/oracle
      • export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
      • export ORACLE_SID=orcl
      • export PATH=$ORACLE_HOME/bin:$PATH
      • 使生效:source ~/.bashrc
  • 图形化安装(若无 GUI,可用 X11 转发)
    • 以 oracle 用户执行:./runInstaller(按向导完成软件安装与建库)
  • 监听与自启
    • 启动监听:lsnrctl start
    • 开机自启(示例 systemd 单元,路径按实际调整):
      • /etc/systemd/system/oracle.service
        • [Unit] Description=Oracle Auto Start Service; After=network.target
        • [Service] Type=simple; User=oracle; Group=oinstall
        • ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME; ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME; Restart=on-failure; RestartSec=30s
        • [Install] WantedBy=multi-user.target
      • 启用:sudo systemctl daemon-reload && sudo systemctl enable --now oracle
  • 说明
    • 手动安装适配面广(如 11g/12c/19c),但需自行处理依赖、内核参数、权限与环境变量等细节。

卸载 Oracle 的通用步骤

  • 停止数据库与监听
    • sqlplus / as sysdbaSHUTDOWN IMMEDIATE → exit
    • lsnrctl stop
  • 使用安装器卸载(若有 OUI)
    • 进入 $ORACLE_HOME/oui/bin → 执行 ./runInstaller → 选择 Deinstall Products → 按向导移除
  • 删除安装目录与数据
    • 常见目录:/u01/app/oracle/opt/oracle(按实际安装路径)
    • 谨慎删除:sudo rm -rf /u01(确认无业务数据再执行)
  • 清理配置与脚本
    • 删除:/etc/oratab/etc/oraInst.loc
    • 删除启动脚本(若存在):sudo update-rc.d dbora remove
  • 删除用户与组(可选)
    • sudo userdel -r oracle
    • sudo groupdel oinstallsudo groupdel dba
  • 清理环境变量
    • ~/.bashrc/etc/profile 等移除 ORACLE_HOME/ORACLE_SID/LD_LIBRARY_PATH 等行
  • 包管理清理(若通过 DEB/RPM 安装)
    • DEB:sudo apt-get remove --purge oracle-xe
    • RPM 转换安装:先找出包名(如 dpkg -l | grep oracle),再 sudo apt-get --purge remove 包名
    • 清理缓存:sudo apt-get autoremove && sudo apt-get autoclean
  • 说明
    • 上述步骤覆盖手动安装、XE 与部分包管理安装场景;执行删除前务必确认数据已备份。

0