Oracle在CentOS上的存储优化方法
一 存储硬件与虚拟化层优化
echo deadline > /sys/block/sdX/queue/scheduler,virsh edit <vm> ... <driver name='qemu' type='raw' cache='none'/> ... <aio='native'/>。二 文件系统与挂载选项
noatime,nodiratime,barrier=1,data=ordered(XFS/ext4通用);日志盘可加noatime;避免relatime带来的额外元数据更新。disk_asynch_io=true、filesystemio_options=setall(在支持的系统与存储上开启DIO+异步)。如使用ASM,优先选择ASM而非文件系统承载数据/日志,以获得条带化与镜像的I/O均衡。三 表空间与重做日志布局
create temporary tablespace temp02 tempfile '/u01/oradata/temp02.dbf' size 2G autoextend on next 100M maxsize 15G;alter database default temporary tablespace temp02;drop tablespace temp including contents and datafiles;log file sync偏高时优先增加日志文件大小而非盲目增加组数。db_recovery_file_dest与db_recovery_file_dest_size,定期清理过期归档,避免FRA撑满导致数据库挂起。四 内存与I/O路径协同优化
cat /sys/kernel/mm/transparent_hugepage/enabled;在/etc/rc.d/rc.local写入echo never > /sys/kernel/mm/transparent_hugepage/enabled与defrag并赋权重启;HugePages ≈ SGA(MB)/2 + 100;/etc/security/limits.conf:oracle soft/hard memlock <值KB>;/etc/sysctl.conf:vm.nr_hugepages=<估算值>并执行sysctl -p;MEMORY_TARGET/MAX_TARGET,改用ASMM(SGA_TARGET、PGA_AGGREGATE_TARGET)。SGA_TARGET、PGA_AGGREGATE_TARGET、PGA_AGGREGATE_LIMIT,避免PGA过度膨胀引发换页或操作系统内存压力,从而间接影响文件系统与I/O性能。五 监控与持续优化
db file sequential/scattered read、log file sync、direct path read/write)。