2.1 登录检查数据库运行情况
SAMPLE_TIME CON_ID EVENT count count count count
----------------------- ------ ----------------------- -------- -------- -------- --------
2023-11-23 18:06:55.379 4 cursor: pin S wait on X 19
2023-11-23 18:06:55.379 4 library cache lock 1
2023-11-23 18:06:55.491 4 cursor: pin S wait on X 14
2023-11-23 18:06:55.491 4 library cache lock 1
2023-11-23 18:06:55.555 4 cursor: pin S wait on X 34
2023-11-23 18:06:55.555 4 library cache lock 2
2023-11-23 18:06:56.017 4 cursor: pin S wait on X 25
2023-11-23 18:06:56.017 4 library cache lock 1
2023-11-23 18:06:56.389 4 cursor: pin S wait on X 32
2023-11-23 18:06:56.389 4 library cache lock 1
2023-11-23 18:06:56.498 4 cursor: pin S wait on X 27
2023-11-23 18:06:56.498 4 library cache lock 1
2023-11-23 18:06:56.563 4 cursor: pin S wait on X 55
2023-11-23 18:06:56.563 4 library cache lock 2
2023-11-23 18:06:57.027 4 cursor: pin S wait on X 49
2023-11-23 18:06:57.027 4 library cache lock 1
2023-11-23 18:06:57.401 4 cursor: pin S wait on X 43
2023-11-23 18:06:57.401 4 library cache lock 1
2023-11-23 18:06:57.508 4 cursor: pin S wait on X 46
2023-11-23 18:06:57.508 4 library cache lock 1
2023-11-23 18:06:57.572 4 cursor: pin S wait on X 67
2023-11-23 18:06:57.572 4 library cache lock 2
2023-11-23 18:06:58.034 4 cursor: pin S wait on X 56
2023-11-23 18:06:58.034 4 library cache lock 1
2023-11-23 18:06:58.413 4 cursor: pin S wait on X 46
2023-11-23 18:06:58.413 4 library cache lock 1
2023-11-23 18:06:58.516 4 cursor: pin S wait on X 47
2023-11-23 18:06:58.516 4 library cache lock 1
2023-11-23 18:06:58.582 4 cursor: pin S wait on X 67
2023-11-23 18:06:58.582 4 library cache lock 2
2023-11-23 18:06:59.044 4 cursor: pin S wait on X 56
2023-11-23 18:06:59.044 4 library cache lock 1
2023-11-23 18:06:59.425 4 cursor: pin S wait on X 46
2023-11-23 18:06:59.425 4 library cache lock 1
2023-11-23 18:06:59.526 4 cursor: pin S wait on X 47
2023-11-23 18:06:59.526 4 library cache lock 1
2023-11-23 18:06:59.589 4 cursor: pin S wait on X 67
2023-11-23 18:06:59.589 4 library cache lock 2
2023-11-23 18:07:00.053 4 cursor: pin S wait on X 56
2023-11-23 18:07:00.053 4 library cache lock 1
2023-11-23 18:07:00.433 4 cursor: pin S wait on X 46
2023-11-23 18:07:00.433 4 library cache lock 1
2023-11-23 18:07:00.533 4 cursor: pin S wait on X 47
2023-11-23 18:07:00.533 4 library cache lock 1
2023-11-23 18:07:00.598 4 cursor: pin S wait on X 67
2023-11-23 18:07:00.598 4 library cache lock 2
2023-11-23 18:07:01.063 4 cursor: pin S wait on X 56
2023-11-23 18:07:01.063 4 library cache lock 1
Pct Samples Path
------- ------- -------------------------------------------------------------------------------------------
0.02 1 --> 4 * cr5z7mpyksgnv * latch free
0.02 1 --> 2 * dr98nmg6xnkum * control file sequential read
0.02 1 --> 1 * 6bqxwxkk8an9s * latch free
0.02 1 --> 6 * 6bqxwxkk8an9s * latch free
0.02 1 --> 4 * 6bqxwxkk8an9s * latch free
0.02 1 --> 8 * 6bqxwxkk8an9s * latch free
0.02 1 --> 2 * cr5z7mpyksgnv * latch free
0.05 2 --> 2 * 8wsunm3bg8tdm * row cache lock
0.05 2 --> 7 * 6bqxwxkk8an9s * latch free
0.05 2 --> 2 * 8wsunm3bg8tdm * cursor: pin S wait on X --> 2 * 8wsunm3bg8tdm * row cache lock
0.07 3 --> 1 * 8wsunm3bg8tdm * row cache lock
0.07 3 --> 4 * 8wsunm3bg8tdm * cursor: pin S wait on X --> 4 * 8wsunm3bg8tdm * row cache lock
0.07 3 --> 3 * 8wsunm3bg8tdm * row cache lock --> 3 * 8wsunm3bg8tdm * library cache lock
0.35 14 --> 4 * 8wsunm3bg8tdm * row cache lock
0.44 18 --> 3 * du56vfn2ar1c9 * library cache lock
0.44 18 --> 2 * du56vfn2ar1c9 * library cache lock
0.44 18 --> 1 * du56vfn2ar1c9 * library cache lock
0.44 18 --> 3 * 8wsunm3bg8tdm * library cache lock
0.47 19 --> 4 * du56vfn2ar1c9 * library cache lock
20.90 846 --> 2 * du56vfn2ar1c9 * cursor: pin S wait on X --> 2 * du56vfn2ar1c9 * library cache lock
21.25 860 --> 4 * du56vfn2ar1c9 * cursor: pin S wait on X --> 4 * du56vfn2ar1c9 * library cache lock
24.91 1008 --> 1 * du56vfn2ar1c9 * cursor: pin S wait on X --> 1 * du56vfn2ar1c9 * library cache lock
29.80 1206 --> 3 * du56vfn2ar1c9 * cursor: pin S wait on X --> 3 * du56vfn2ar1c9 * library cache lock
-- 8wsunm3bg8tdm
alter table xxx add constraint FK9un3grchexpnpguj72301rt94 foreign key (app_id) references sys_app
-- du56vfn2ar1c9
SELECT m.*
FROM xxx_permission m,
xxx_u_permission um,
xxx_app a,
xxx__info_full u
WHERE m.id = um.permission_id
AND u.username = um.username
AND m.app_id = a.id
AND a.app_code = :1
AND u.username = :2
AND m.enabled = 1
AND um.enabled = 1
AND a.enabled = 1
AND u.enabled = 1
AND u.status = 0
AND m.removed_time IS NULL
AND um.removed_time IS NULL
AND a.removed_time IS NULL
AND (u.removed_time IS NULL OR u.removed_time >= SYSDATE)
……

3..1 问题总结
由于在非空闲时段对频繁访问的表 XX.XXX 执行 DDL 操作(添加参考约束),因此所有与此对象相关的游标(例如 du56vfn2ar1c9)需要重新解析,在此期间引发了库缓存争用,导致数据库性能下降。 业务在执行添加约束操作时,未严格检查参考表主键或唯一索引,导致在18:04 至 19:30 期间,所有的 ALTER TABLE 操作均未执行成功(返回 2268),但操作仍然会导致相关游标重新解析,频繁的失败重试进一步加重数据库负担。
1)解决方法
2)建议措施

本文作者:智 源(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




