/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核心數一致。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')),幫助優化器生成更優執行計劃;