ORACLE SOS

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7295|回复: 4

Latch hit % 低于98%

[复制链接]

7

主题

13

帖子

71

积分

注册会员

Rank: 2

积分
71
发表于 2014-12-9 23:38:56 | 显示全部楼层 |阅读模式
有套RAC,latch hit%一直以来都在99.5%以上,但是今天报了好几次低于98%,而且从晚上19:00开始持续了大约2小时。不懂latch,不知从何下手,所以请飞总帮忙分析一下,多谢多谢!

附件的两份AWRDD是RAC的两个节点。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

95

主题

266

帖子

1719

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1719
发表于 2014-12-10 10:21:30 | 显示全部楼层
节点1的load profile
Load Profile

1st per sec
2nd per sec
%Diff
1st per txn
2nd per txn
%Diff
DB time:
0.4
0.2
-54.1
0.0
0.0
-100.0
CPU time:
0.4
0.2
-52.8
0.0
0.0
-100.0
Redo size:
139,635.9
107,960.3
-22.7
2,648.4
2,687.2
1.5
Logical reads:
19,464.3
9,914.5
-49.1
369.2
246.8
-33.2
Block changes:
1,045.8
823.5
-21.3
19.8
20.5
3.3
Physical reads:
1.2
0.5
-56.8
0.0
0.0
-50.0
Physical writes:
57.5
49.4
-14.0
1.1
1.2
12.8
User calls:
2,856.8
510.7
-82.1
54.2
12.7
-76.5
Parses:
25.4
22.8
-10.1
0.5
0.6
18.8
Hard parses:
0.1
0.0
-37.5
0.0
0.0
0.0
W/A MB processed:
217,371.4
8,092,909.8
3,623.1
4,122.8
201,438.5
3,623.1
Logons:
0.2
0.2
-5.3
0.0
0.0
0.0
Executes:
2,660.4
355.1
-86.7
50.5
8.8
-82.5
Transactions:
52.7
40.2
-23.8



节点2的load profile
1st per sec
2nd per sec
%Diff
1st per txn
2nd per txn
%Diff
DB time:
0.4
0.2
-56.4
0.0
0.0
-100.0
CPU time:
0.4
0.2
-57.9
0.0
0.0
-100.0
Redo size:
132,491.9
98,638.0
-25.6
2,639.3
2,669.6
1.1
Logical reads:
20,023.0
9,325.8
-53.4
398.9
252.4
-36.7
Block changes:
992.7
760.1
-23.4
19.8
20.6
4.0
Physical reads:
1.1
0.5
-53.1
0.0
0.0
-50.0
Physical writes:
55.0
46.5
-15.5
1.1
1.3
14.5
User calls:
3,324.6
582.8
-82.5
66.2
15.8
-76.2
Parses:
23.6
20.5
-13.0
0.5
0.6
19.1
Hard parses:
0.0
0.0
0.0
0.0
0.0
0.0
W/A MB processed:
208,522.6
10,068,928.6
4,728.7
4,153.8
272,509.3
4,728.7
Logons:
0.1
0.1
0.0
0.0
0.0
0.0
Executes:
3,139.1
440.0
-86.0
62.5
11.9
-81.0
Transactions:
50.2
36.9
-26.4


两次对比awr 业务类型或者业务量相差很大,比较本身意义不大

节点1
% of Total Sleeps
Get Requests
Misses
Spin Gets
Sleeps
Wait Time (cs)
Latch Name
1st
2nd
Diff
1st
2nd
1st
2nd
1st
2nd
1st
2nd
1st
2nd
Diff
process allocation
39.70
51.45
11.76
37,740
37,624
152
158
44
50
131
124
1,051,202
1,000,897
-50,305
row cache objects
29.70
19.50
-10.19
37,003,908
5,058,295
79,684
27,950
79,592
27,906
98
47
5,606
3,273
-2,333
节点2
% of Total Sleeps
Get Requests
Misses
Spin Gets
Sleeps
Wait Time (cs)
Latch Name
1st
2nd
Diff
1st
2nd
1st
2nd
1st
2nd
1st
2nd
1st
2nd
Diff
row cache objects
88.34
72.03
-16.32
43,910,658
5,895,364
98,132
30,925
97,994
30,824
144
103
10,847
2,600
-8,247
process allocation
3.07
9.79
6.72
36,863
36,782
6
12
1
0
5
14
40,344
113,008
72,664
从这里看,主要是row cache objects和process allocation相关latch 变化明显

Q Q:107644445
Tel:13429648788
Email:dba@xifenfei.com
个人Blog(惜分飞)
提供专业ORACLE技术支持(数据恢复,安装实施,升级迁移,备份容灾,故障诊断,系统优化等)
回复 支持 反对

使用道具 举报

7

主题

13

帖子

71

积分

注册会员

Rank: 2

积分
71
 楼主| 发表于 2014-12-10 12:09:17 | 显示全部楼层
本帖最后由 Johnliu 于 2014-12-10 12:17 编辑

请问飞总,

我在top sql order by gets中发现存在大量执行频繁、写法错误的SQL[size=13.9130439758301px](因为应用程序分表的框架需要),产生大量的逻辑读,错误执行计划cost为153k,逻辑读为3468,消耗时间0.06秒,经过改写(去掉column='NULL')后cost为62,逻辑读为18,消耗时间0.01秒
SQL:SELECT * FROM t_project_ticket2 x WHERE rownum < 1000 AND x.PD_STATUS = 30 AND x.PD_LOTID=:1 AND x.PD_ADDTIME < :2 AND x.PD_ENDTIME > SYSDATE OR x.PD_USERNAME = :3 OR x.PD_ID='NULL' ORDER BY x.PD_ADDTIME
请问这个会不会是主因?
回复 支持 反对

使用道具 举报

7

主题

13

帖子

71

积分

注册会员

Rank: 2

积分
71
 楼主| 发表于 2014-12-10 12:16:19 | 显示全部楼层
低效的执行计划:
------------------------------------------------------------------------------------------------------                                                                                                             ---------------
| Id  | Operation                            | Name                 | Rows  | Bytes |TempSpc| Cost (%C                                                                                                             PU)| Time     |
------------------------------------------------------------------------------------------------------                                                                                                             ---------------
|   0 | SELECT STATEMENT                     |                      |  2127K|   673M|       |   153K                                                                                                               (1)| 00:30:44 |
|   1 |  SORT ORDER BY                       |                      |  2127K|   673M|   874M|   153K                                                                                                               (1)| 00:30:44 |
|   2 |   COUNT                              |                      |       |       |       |                                                                                                                      |           |
|*  3 |    FILTER                            |                      |       |       |       |                                                                                                                      |           |
|   4 |     TABLE ACCESS BY INDEX ROWID      | T_PROJECT_TICKET1    |  2127K|   673M|       |  2585                                                                                                                (1)| 00:00:32 |
|   5 |      BITMAP CONVERSION TO ROWIDS     |                      |       |       |       |                                                                                                                      |           |
|   6 |       BITMAP OR                      |                      |       |       |       |                                                                                                                      |           |
|   7 |        BITMAP AND                    |                      |       |       |       |                                                                                                                      |           |
|   8 |         BITMAP CONVERSION FROM ROWIDS|                      |       |       |       |                                                                                                                      |           |
|*  9 |          INDEX RANGE SCAN            | IDX_STATUS_1         |       |       |       |     6                                                                                                                (0)| 00:00:01 |
|  10 |         BITMAP CONVERSION FROM ROWIDS|                      |       |       |       |                                                                                                                      |           |
|* 11 |          INDEX RANGE SCAN            | IDX_TICKET1_LOTID    |       |       |       |  2436                                                                                                                (1)| 00:00:30 |
|  12 |        BITMAP CONVERSION FROM ROWIDS |                      |       |       |       |                                                                                                                      |           |
|* 13 |         INDEX RANGE SCAN             | IDX_TICKET1_USERNAME |       |       |       |     3                                                                                                                (0)| 00:00:01 |
|  14 |        BITMAP CONVERSION FROM ROWIDS |                      |       |       |       |                                                                                                                      |           |
|* 15 |         INDEX RANGE SCAN             | PK_T_PROJECT_TICKET1 |       |       |       |     2
Predicate Information (identified by operation id):
---------------------------------------------------

   3 - filter("X"."PD_STATUS"=30 AND "X"."PD_LOTID"=501 AND "X"."PD_ADDTIME"<SYSDATE@!-1 AND
              "X"."PD_ENDTIME">SYSDATE@! AND ROWNUM<1000 OR "X"."PD_USERNAME"='aaa')
   9 - access("X"."PD_STATUS"=30)
  11 - access("X"."PD_LOTID"=501)
  13 - access("X"."PD_USERNAME"='aaa')


高效的执行计划:
Execution Plan
----------------------------------------------------------
Plan hash value: 294223498

---------------------------------------------------------------------------------------------------
| Id  | Operation                     | Name              | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |                   |    17 |  5644 |    62   (2)| 00:00:01 |
|   1 |  SORT ORDER BY                |                   |    17 |  5644 |    62   (2)| 00:00:01 |
|*  2 |   COUNT STOPKEY               |                   |       |       |            |          |
|*  3 |    TABLE ACCESS BY INDEX ROWID| T_PROJECT_TICKET1 |    17 |  5644 |    61   (0)| 00:00:01 |
|*  4 |     INDEX RANGE SCAN          | IDX_STATUS_1      |  1143 |       |     6   (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter(ROWNUM<1000)
   3 - filter("X"."PD_LOTID"=501 AND "X"."PD_ENDTIME">SYSDATE@! AND
              "X"."PD_ADDTIME"<SYSDATE@!-1)
   4 - access("X"."PD_STATUS"=30)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|ORACLE SOS 技术论坛

GMT+8, 2024-4-26 19:37 , Processed in 0.026327 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表