/u01/oradata/control01.ctl、/u02/oradata/control02.ctl),防止单点故障影响数据库可用性。/u01/oradata/redo01.log、/u02/oradata/redo02.log),避免日志写入瓶颈。/u01、用户表空间放/u02),利用磁盘并行I/O提升读写性能。SYSTEM、SYSAUX、USERS、DATA、INDEX),避免单个表空间过大导致性能下降;AUTOEXTEND ON)并设置合理上限(如NEXT 100M MAXSIZE 10G),防止空间耗尽;DBA_TABLESPACE_USAGE_METRICS视图),对利用率低的表空间进行收缩。DB_BLOCK_SIZE参数设置),减少I/O次数。/dev/nvme0n1到/u01/oradata),其高IOPS和低延迟特性可显著提升Oracle数据文件、重做日志的读写速度。PARALLEL提示),多核CPU可加速大数据量查询、批量插入等操作,需确保CPU_COUNT参数与实际CPU核心数一致。DB_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE),使其占物理内存的60%-80%(需预留内存给操作系统和Oracle进程);MEMORY_TARGET参数(如MEMORY_TARGET=8G),让Oracle自动分配SGA与PGA内存,简化管理。PGA_AGGREGATE_TARGET参数(如PGA_AGGREGATE_TARGET=2G),控制所有PGA内存的总大小;SORT_AREA_SIZE、HASH_AREA_SIZE,减少磁盘临时表空间使用。EXPLAIN PLAN分析SQL执行计划,避免全表扫描(如未使用索引的WHERE条件);SELECT *),降低数据传输量;WHERE、JOIN、ORDER BY中的列)创建索引(优先B-Tree索引,适用于等值查询;位图索引适用于低选择性列,如性别);ALTER INDEX idx_name REBUILD),保持索引高效性;DBA_UNUSED_COL_STATISTICS视图识别),减少索引维护成本。RANGE、哈希HASH分区),缩小查询扫描范围;COMPRESS FOR OLTP),减少存储空间占用(压缩比可达3-5倍),同时提升I/O性能;TRUNCATE替代DELETE清空大表,减少日志生成和锁争用。/etc/sysctl.conf文件,优化文件系统参数:fs.file-max = 65536 # 增加最大文件描述符数
fs.aio-max-nr = 1048576 # 增加异步IO请求数
vm.dirty_ratio = 10 # 脏页比例阈值(触发写回)
vm.dirty_background_ratio = 5 # 后台写回脏页比例
sysctl -p使参数生效。ext4或xfs文件系统(Ubuntu默认ext4,对Oracle支持良好),挂载时添加noatime(不更新访问时间)、nodiratime(不更新目录访问时间)选项,减少不必要的磁盘写入:mount -o remount,noatime,nodiratime /u01/oradata
systemctl stop关闭apache2、mysql等非Oracle相关服务,减少系统资源竞争。DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML),分析TOP SQL、等待事件(如db file sequential read、log file sync);RMAN BACKUP ARCHIVELOG ALL DELETE INPUT),确保数据可恢复;EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCHEMA_NAME')),帮助优化器生成更优执行计划;