Oracle于Ubuntu如何实现最佳配置
导读:Ubuntu 上 Oracle 的最佳配置实践 一 安装与基础环境 选择版本与方式:生产环境优先 Oracle 19c/21c 原生安装或 Oracle XE;开发/测试可用 Docker 快速起库(如 12.2/11g 镜像),便于隔离...
Ubuntu 上 Oracle 的最佳配置实践
一 安装与基础环境
- 选择版本与方式:生产环境优先 Oracle 19c/21c 原生安装或 Oracle XE;开发/测试可用 Docker 快速起库(如 12.2/11g 镜像),便于隔离与回滚。
- 依赖与用户:安装 alien、libaio1、unixODBC 等依赖;创建 oinstall/dba 组与 oracle 用户,家目录与软件目录分离。
- 目录与权限:规划 /u01/app/oracle 为基目录,软件目录如 /u01/app/oracle/product/19.0.0/dbhome_1,权限 oracle:oinstall,目录权限 775/755。
- 环境变量:在 /home/oracle/.bashrc 设置 ORACLE_BASE、ORACLE_HOME、ORACLE_SID、PATH、LD_LIBRARY_PATH,执行
source ~/.bashrc生效。 - 安装与建库:图形化执行 runInstaller 或使用 DBCA 建库;静默安装需提前准备响应文件与目录。
- 便捷性:可创建软链
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin/sqlplus,便于运维调用。
二 系统级优化
- 关闭透明大页(THP):减少内存管理抖动,建议设置为 never,并启用 HugePages 提升大内存页命中率。
- 内存与交换:将 vm.swappiness 设为 0–10,降低换页倾向;确保 swap 与内存匹配业务峰值。
- 虚拟内存与文件句柄:提升 vm.max_map_count(如 262144)以避免 ORA-4030;提高 fs.file-max 满足 Oracle 高并发文件句柄需求。
- 内核共享内存:按物理内存与 SGA 规划设置 kernel.shmall、kernel.shmmax、kernel.shmmni,避免共享内存不足。
- 资源限制:在 /etc/security/limits.conf 为 oracle 用户设置 nofile、nproc、memlock 等上限,保证进程与内存锁定能力。
- 存储与文件系统:优先 SSD/NVMe;使用 XFS/ext4 并合理挂载选项(如 noatime);归档与数据分离,减少 I/O 争用。
三 数据库参数与内存
- 内存管理:启用 AMM 或 ASMM,合理设置 MEMORY_TARGET/MEMORY_MAX_TARGET 或 SGA_TARGET/PGA_AGGREGATE_TARGET;例如:
ALTER SYSTEM SET MEMORY_TARGET=4G SCOPE=SPFILE;ALTER SYSTEM SET MEMORY_MAX_TARGET=4G SCOPE=SPFILE;- 或分设
SGA_TARGET=2G; PGA_AGGREGATE_TARGET=500M;(按内存与负载调整)。
- 共享池与日志:根据负载调整 SHARED_POOL_SIZE、SHARED_POOL_RESERVED_SIZE;适度增大 LOG_BUFFER 提升日志写入吞吐。
- 并发与连接:结合 PROCESSES、SESSIONS、OPEN_CURSORS 与连接池(如 HikariCP/OCI)配置,避免连接风暴。
- 高可用与数据保护:启用 db_block_checksum、db_lost_write_protect,有条件使用 ASM 提供镜像与冗余,降低块损坏与丢失风险。
四 存储与网络
- 存储布局:规划 FRA(快速恢复区)、ARCHIVELOG 与数据文件分离;控制单个数据文件大小与数量,减少 checkpoint 与备份压力。
- 表空间与段:按业务增长设置 AUTOEXTEND 与 MAXSIZE,定期重建/收缩高碎片段,使用 UNDO 表空间合理保留时间。
- 网络与监听:配置 listener.ora/tnsnames.ora,开放 1521 端口;高并发场景启用 SQL*Net 压缩/加密 与合适的 SDU/TDU;使用 VIP/SCAN(RAC)与连接池减少往返。
- 安全:限制数据库主机访问,仅放通应用与备份网段;使用 sqlnet.ora 限制协议与加密级别。
五 运维监控与备份恢复
- 自启动与守护:在 /etc/oratab 将实例设为 Y,并创建 systemd 单元(调用 dbstart/dbshut)或使用 oracle-xe configure 完成开机自启配置。
- 监控与诊断:定期查看 alert.log 与 trace;使用 AWR/ADDM 生成性能报告定位瓶颈(如
@?/rdbms/admin/awrrpt.sql、@?/rdbms/admin/addmrpt.sql)。 - SQL 与索引:使用 EXPLAIN PLAN 与 DBMS_XPLAN 分析执行计划;合理使用 索引、分区、并行 与 绑定变量,减少硬解析与全表扫描。
- 统计信息:定期收集 Schema/系统统计信息,保证优化器选择更优执行计划。
- 备份恢复:制定 RMAN 全备+增量策略与归档备份,定期做 恢复演练;验证备份可用性与恢复时间目标(RTO/RPO)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Oracle于Ubuntu如何实现最佳配置
本文地址: https://pptw.com/jishu/764808.html
