暂无图片
返回数说广场
jieguo
2023-08-22 好记忆不如烂笔头
T1时刻执行dbms_workload_repository.create_snapshot(); 然后会话1中SQL1开始执行,再然后,会话2中开始执行同样的SQL1。T2时刻执行dbms_workload_repository.create_snapshot(); 然后会话1中的SQL1执行完成。T3时刻执行 dbms_workload_repository.create_snapshot();此时,会话2中的SQL1仍在执行中。问,若此时生成T2时刻至T3时刻之间的AWR报告,SQL1显示执行了几次? 0 由于SQL开始执行,其执行次数即加1,故,T2时刻的快照,会显示SQL1共执行了2次(会话1和会话2各1次)。而T3时刻,仍然显示SQL1共执行了2次。因为T2到T3时刻期间,并没有新的SQL1开始执行,故其执行次数仍然是前一时段的2次。当生成T2到T3之间的AWR报告时,SQL1的执行次数是以T3时刻SQL1的执行次数减去T2时刻的SQL1的执行次数来计算SQL1在此期间的执行次数,故其结果为0次。
0
暂无图片 2
497
分享

评论

热门数说