数据库卡顿的排查思路
11g与19c 每次就卡几秒 ,请问这种情况的排查思路是什么
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
3条回答
默认
最新
以 Linux 系统上运行
Top -c 查看下整体的负载,主要关注 %Cpu、load average、%CPU %MEM,指标可以百度了解;
vmstat -wt 2 主要关注—swap-- 、procs 列,尤其是 swap 看是否有持续的si so;
iostat -dmx 2 不同版本显示不同,一般结合看await、avgqu-sz、%util,%util接近100%代表繁忙但不一定有问题,await超过10ms有异常的概率就比较大了;
DB 里面看看是否有大查询,看看longops里面有没有钉子户,关注下online redo 状态,查看下alert日志和lgwr日志,提取AWR看看。
这样总会发现问题的
评论
有用 01. 性能监控
- 使用
AWR报告或Statspack报告来收集卡顿期间的性能数据。 - 使用
ADDM分析AWR报告中收集的数据,查找可能的性能问题。
2. 查看等待事件
- 检查
V$SESSION_WAIT或V$SYSTEM_EVENT视图来确定是否有高等待事件。 - 查看
DBA_HIST_ACTIVE_SESS_HISTORY视图来了解卡顿期间的活动会话历史。
3. SQL和执行计划分析
- 识别运行缓慢的SQL语句,并分析它们的执行计划。
- 使用
V$SQL和V$SQL_PLAN视图来查找和比较执行计划。
4. 系统资源使用
- 监控CPU、内存和I/O的使用情况,查看是否有资源竞争或饱和。
- 使用操作系统工具(如
top,iostat,vmstat等)来监控服务器性能。
5. 锁和并发
- 检查是否存在锁争用,使用
V$LOCK,DBA_BLOCKERS,DBA_WAITERS视图来查看锁定和等待信息。 - 分析并发执行的SQL语句,确保适当的隔离级别和锁策略。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

