Oracle AWR报告中的GC CR是指垃圾回收(GC)的控制率(CR),也就是Oracle数据库维护垃圾回收算法的一种指标。GC CR通常被称为“垃圾回收率”,它表示每个CPU的垃圾回收时间比例。AWR的GC CR分析可以帮助我们了解数据库垃圾回收的运行状况,优化数据库性能。
然而,GC CR可能受多种因素的影响,如操作系统负载、硬件配置、SQL语句的性能等。在这些因素的影响下,GC CR往往不稳定。下面我们结合几个示例来详细分析AWR GC CR。
示例1
Statistic Begin Value End Value ----------------------------------- ----------------- --------------- gc cr block 2-way 99.00 99.99 gc cr block 3-way 0.01 0.00
在这个示例中,我们可以看到gc cr block 2-way的开始值为99.00,结束值为99.99。这表示垃圾收集器对2路块(两个块)的处理效率非常高,几乎没有发生垃圾回收的挂起现象。而gc cr block 3-way的结束值为0.00,说明没有出现三路块(三个块以上)的回收,即没有产生较严重的I/O等待。因此,可以得出结论:在测试期间,系统的负载较小,大多数数据块都被缓存,所以GC CR比较稳定。
示例2
Statistic Begin Value End Value ----------------------------------- ----------------- --------------- gc cr block 2-way 51.00 0.08 gc cr block 3-way 0.08 99.92
这个示例的gc cr block的值急剧变化,这很可能是因为“全表扫描”等操作因为内存或IO资源不足而造成了系统严重负载。因此,在优化数据库性能时,应针对性地缩小查询的范围和使用更高效的索引,减少全表扫描等特殊操作。
示例3
Statistic Begin Value End Value ----------------------------------- ----------------- --------------- gc cr block 2-way 70.00 24.67 gc cr block 3-way 0.02 75.34
开始和结束值之间的变化较为平稳,但是gc cr block 3-way的初始值非常低,说明垃圾回收器在处理该类型块时未被频繁使用。这时,可以考虑使用多种SQL语句来平衡系统负载,从而实现更高的效率。
总之,AWR GC CR分析可以帮助我们了解数据库垃圾回收的实时状况,并根据分析结果来优化数据库的性能。