一、系统环境优化
vm.swappiness(减少交换分区使用,建议设置为10-30)、优化vm.dirty_background_ratio/vm.dirty_ratio(控制脏页写回策略,避免频繁磁盘I/O)、增大net.core.rmem_default/net.core.rmem_max(提升网络缓冲区大小,优化网络传输);选择高性能文件系统(如XFS,支持大文件和高并发,挂载时启用noatime减少元数据操作);关闭非必要系统服务(如cups打印服务、bluetooth蓝牙服务等),减少资源竞争。二、Oracle数据库配置优化
sga_target(自动管理SGA)和pga_aggregate_target(自动管理PGA);优化日志缓冲区大小(如log_buffer=64M,适用于高并发事务场景),提升日志写入效率。processes(最大进程数)和sessions(最大会话数),避免过多连接导致资源耗尽。例如,ALTER SYSTEM SET processes=300 SCOPE=spfile; ALTER SYSTEM SET sessions=335 SCOPE=spfile;(会话数=进程数×1.1+5)。MEMORY_TARGET),简化内存配置流程;调整filesystemio_options为SETALL(启用异步I/O,提升磁盘I/O性能);设置db_block_size(数据块大小,建议根据业务类型选择:OLTP用8K,数据仓库用16K-32K)。三、SQL与索引优化
SELECT * FROM emp WHERE emp_id = :emp_id);简化子查询(优先用JOIN替代嵌套子查询,减少查询层次);限制字段选择(避免SELECT *,仅查询所需字段,减少I/O开销)。CREATE INDEX idx_emp_dept ON emp(dept_id, emp_name));定期重组索引(如ALTER INDEX idx_emp_dept REBUILD),消除索引碎片,提升索引效率;移除无用索引(通过DBA_INDEXES视图分析索引使用情况,删除未被查询使用的索引,减少维护成本)。四、备份与恢复策略
expdp scott/tiger DIRECTORY=dpump_dir dumpfile=scott.dmp tables=emp)。cron定时任务实现备份自动化(如每天凌晨2点执行全量备份),避免人为遗漏;监控备份过程(通过RMAN日志或第三方工具),确保备份成功,及时处理备份失败(如磁盘空间不足、权限问题)。五、日常维护与监控
v$session(当前会话)、v$sql(执行过的SQL)、v$system_event(等待事件)等视图,分析性能问题(如锁等待、I/O瓶颈)。EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCOTT');),帮助优化器生成最优执行计划;定期进行碎片整理(如ALTER TABLE emp MOVE整理表碎片,ALTER INDEX idx_emp_dept REBUILD整理索引碎片),提升存储效率。