Oracle数据库性能监控、调优与故障排查
1. SQL统计信息收集
在Oracle数据库中,统计信息对于优化器生成高效的执行计划至关重要。可以使用 DBMS_STATS
包来收集统计信息,以下是一些常见的操作:
- 收集模式统计信息 :
SQL> exec dbms_stats.gather_schema_stats(ownname => 'STAR1',
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
degree => DBMS_STATS.AUTO_DEGREE,
cascade => true);
- `ESTIMATE_PERCENT`参数设置为`AUTO_SAMPLE_SIZE`,指示Oracle确定最佳样本大小。
- `DEGREE`参数设置为`AUTO_DEGREE`,允许Oracle根据硬件和初始化参数选择最佳并行度。
- `CASCADE`值为`TRUE`,指示Oracle额外收集正在分析的表的索引统计信息。
- 收集单表统计信息 :
SQL> exec dbms_stats.gather_table_stats(ownname=>'STAR2',tabname=>'D_DOMAINS',
cascade=&g