1. 版本兼容性确认
Oracle数据库与Ubuntu系统的兼容性是部署基础。需优先选择Ubuntu长期支持(LTS)版本(如22.04、20.04 LTS),这类版本提供稳定的技术支持和安全更新。同时,需确认Oracle版本与Ubuntu版本的适配性:例如,Oracle 19c可能与Ubuntu 9存在兼容性问题,需通过设置环境变量绕过操作系统检查或应用必要补丁;Oracle 11g在Ubuntu 18.04及以上版本通常能较好运行。
2. 系统要求与依赖安装
确保Ubuntu系统满足Oracle的最低配置:至少2GB内存(推荐4GB以上)、1核以上CPU、足够的磁盘空间(数据库文件需预留10GB以上)。安装前需添加关键依赖包,如alien(用于安装RPM包)、libaio1(异步I/O库)、unixodbc(ODBC驱动),这些是Oracle安装和运行的必要组件。
3. 用户与权限配置
Oracle需专用用户和组进行管理,避免使用root账户。通常创建以下组和用户:
oinstall(安装组成员)、dba(数据库管理员组);oracle(属于oinstall和dba组),并设置强密码。/opt/oracle或/u01/app/oracle)和数据目录(如/u01/app/oracle/oradata),并将目录所有权赋予oracle:oinstall,权限设置为755。4. 环境变量设置
为oracle用户配置必要的环境变量,需添加至~/.bashrc或/etc/profile文件:
ORACLE_BASE:Oracle软件安装基目录(如/u01/app/oracle);ORACLE_HOME:Oracle软件主目录(如/u01/app/oracle/product/19.0.0/dbhome_1);ORACLE_SID:数据库实例名(如orcl);LD_LIBRARY_PATH:Oracle库路径(如$ORACLE_HOME/lib);PATH:包含Oracle二进制目录(如$ORACLE_HOME/bin)。source ~/.bashrc使变量生效。5. 内核参数调优
Oracle对系统内核参数有特定要求,需修改/etc/sysctl.conf文件优化内存和进程管理:
kernel.shmmax:单个共享内存段最大值(建议设为物理内存的80%,如32位系统设为4GB,64位系统设为16GB);kernel.shmmni:共享内存段最大数量(建议4096);kernel.shmall:共享内存总页数(shmmax/页大小,如32GB内存设为8388608);fs.file-max:系统最大文件描述符数(建议65536);net.ipv4.ip_local_port_range:本地端口范围(建议1024-65000)。sysctl -p使参数生效。同时,修改/etc/security/limits.conf文件,增加oracle用户的资源限制:oracle soft nofile 65536(软限制:最大打开文件数);oracle hard nofile 65536(硬限制);oracle soft nproc 16384(软限制:最大进程数);oracle hard nproc 16384(硬限制)。6. 安装方式选择
Ubuntu上安装Oracle有两种常见方式:
.zip格式)、解压至安装目录、运行runInstaller脚本,按照向导完成安装。安装后需配置listener.ora(监听器配置)、tnsnames.ora(数据库连接别名)等文件。store/oracle/database-enterprise:19.3.0.0)、运行容器(映射1521端口至主机),容器内自动完成Oracle安装和配置。这种方式无需手动调整系统参数,适合测试或开发环境。7. 安全配置
ufw(Uncomplicated Firewall)限制对Oracle端口(默认1521)的访问,仅允许必要IP地址访问(如sudo ufw allow from 192.168.1.0/24 to any port 1521);oracle用户的远程登录(修改/etc/ssh/sshd_config中的PermitRootLogin no),定期审查用户权限,撤销不必要的权限。8. 自动启动配置
为确保系统重启后Oracle数据库自动启动,需配置自动启动服务。步骤包括:
/etc/oratab文件,将数据库SID对应的条目修改为Y(如orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y);/etc/systemd/system/oracle.service),内容如下:[Unit]
Description=Oracle Database Auto Start Service
After=network.target
[Service]
Type=simple
User=oracle
Group=oinstall
ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart
ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload和sudo systemctl enable oracle.service启用服务。9. 性能优化
exec dbms_stats.gather_schema_stats('SCHEMA_NAME')),每月重建或重组索引(alter index INDEX_NAME rebuild),每季度备份数据库(使用RMAN工具)。10. 备份与恢复策略
制定定期备份计划,使用Oracle Recovery Manager(RMAN)进行全量备份和增量备份,备份文件存储在异地或云存储中。测试恢复流程(如模拟数据库损坏场景),确保备份有效性。同时,开启归档日志模式(alter database archivelog;),保证数据的可恢复性。