热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

如何诊断cursorpinswaitonx系列二-mysql教程

如何分析诊断收集信息1.查看AWR报告中highparing和highversion部分内容具体查看这几个部分的内容:SQLorderedbyParseCallsorSQLorderedbyVersionCountSQLorderedbyParseCalls关于这部分中的sql解析执行是否过高,或者能否减小来

如何分析诊断收集信息 1. 查看AWR 报告中high paring 和high version部分内容 具体查看这几个部分的内容:"SQLordered by Parse Calls' or 'SQL ordered by Version Count' SQL ordered by Parse Calls 关于这部分中的sql 解析执行是否过高,或者能否减小来

如何分析诊断收集信息

1. 查看AWR 报告中high paring 和high version部分内容

\

具体查看这几个部分的内容:"SQLordered by Parse Calls' or 'SQL ordered by Version Count'

\

SQL ordered by Parse Calls 关于这部分中的sql 解析执行是否过高,或者能否减小来。

SQL ordered by Version Count关于这部分中的high version sql ,需要找出为啥他们不能共享,可以通过 v$sql_shared_cursor 视图查找原因

2. systemstats 和errorstack 的关注点

对于systemstats 和errorstack 时效性非常重要。需要在问题发生时刻进行dump ,否则过时采集的信息是无效的。在一个高速运行的系统中,那些holders and waiter 进程转瞬即逝。

根据AWR 的 load profile 部分内容可以初步判断出 系统 sql 解析情况:

\

\

如果看到hard parses 很多,表明系统可能没有使用绑定变量,或者有新的sql 上线。

对于high version counts 也会导致 cursor:ping S wait on X

使用V$SQL_SHARED_CURSOR可以查找出 sql 不能共享的原因

有些bug可能会导致 high version counts:

Document 1057392.8 Bug 10157392 - High version counts forSQL with binds (BIND_MISMATCH)
Document 9689310.8 Bug 9689310 - Excessive child cursors /high VERSION_COUNT / OERI:17059 due to bind mismatch

Bug 可能会导致 cursor pin s wait on x :

NB

Bug

Fixed

Description

5650841

Hang / deadlock from ANALYZE of cluster index

16191248

12.1.0.1.1, 12.1.0.2, 12.2.0.0

Hang from concurrent drop of on-commit materialized views or using DBMS_REDEFINITION

14295250

11.2.0.4, 12.1.0.1

Long parse time for large query with many nested views due to much time in epxression analysis code

14191508

11.2.0.3.8, 11.2.0.3.BP16, 11.2.0.4, 12.1.0.1

Slow row cache load due to SEG$ and INDSUBPART$ queries

14176247

11.2.0.4, 12.1.0.1

Many child cursors using Adaptive Cursor Sharing with binds (due to BIND_EQUIV_FAILURE)

18292893

12.1.0.2, 12.2.0.0

Jobs don't execute per schedule with a large number of PDBs

18018515

12.2.0.0

High CPU in qctHasFakeBind (can cause 'cursor: pin S wait on X' waits)

16448569

11.2.0.4, 12.1.0.2, 12.2.0.0

PQ hang/deadlock possible - "cursor: pin S wait on X" waits

16400122

12.2.0.0

Spikes in library cache mutex contention for SQL using SQL Plan Baseline

15850031

11.2.0.4, 12.2.0.0

Rare instance hang: deadlock between 'row cache lock' and 'cursor: pin S wait for X'

14469756

12.2.0.0

Partition pruning causes delay in TBL$OR$IDX$PART$NUM

14302813

11.2.0.4, 12.2.0.0

QC blocked / parse hang for parallel DML executed from remote stored procedure

14029891

11.2.0.4, 12.1.0.1

mutex deadlock having SQL baselines on recursive dictionary cursor

11927619

11.2.0.1.BP11, 11.2.0.2.BP07, 11.2.0.3, 12.1.0.1

DBMS_STATS slow on interval composite partitions

11855965

11.2.0.3, 12.1.0.1

Truncate partition takes long time doing recursive delete on MLOG$

10213073

11.2.0.2.8, 11.2.0.2.BP18, 11.2.0.3, 12.1.0.1

CREATE SYNONYM and CREATE PACKAGE may incorrectly invalidate objects

10171273

11.2.0.2.8, 11.2.0.2.BP08, 11.2.0.3, 12.1.0.1

Long parse time with non-equi subpartitioning under interval partitioning

9944129

11.2.0.1.BP12, 11.2.0.2, 12.1.0.1

SQL not shared due to INST_DRTLD_MISMATCH with global transaction

9935787

11.2.0.3, 12.1.0.1

Long parse time for large inlists - can cause 'cursor: pin S wait on X' waits

9694101

10.2.0.5.7, 11.2.0.2, 12.1.0.1

Hang / deadlock between "cursor: pin S wait on X" and "library cache lock" involving dictionary objects

9499302

10.2.0.5.5, 11.1.0.7.7, 11.2.0.1.BP08, 11.2.0.2, 12.1.0.1

Improve concurrent mutex request handling

9472669

11.2.0.1.BP12, 11.2.0.2, 12.1.0.1

'cursor: pin S wait on X' waits for invalid SQL over DB link

8508078

11.2.0.2, 12.1.0.1

Contention from many concurrent bad SQLs - superseded

12432089

11.2.0.3

library cache lock/cursor: pin S wait on X with parallel partition stats gathering

8441239

11.2.0.1

Library cache lock waits if long running TRUNCATE in progress

8348464

11.1.0.7.2, 11.2.0.1

CREATE SYNONYM and CREATE PACKAGE may incorrectly invalidate objects

7234778

11.2.0.1

Unnecessary "cursor: pin S wait on X" waits

5485914

10.2.0.4

Mutex self deadlock on explain / trace of remote mapped SQL

6143420

10.2.0.5, 11.1.0.6

Deadlock involving "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"

6011045

10.2.0.5.5

DBMS_STATS causes deadlock between 'cursor: pin S wait on X' and 'library cache lock'

7462072

10.2.0.4.3, 10.2.0.5

Unnecessary "cursor: pin S wait on X" waits

5983020

10.2.0.4

MMON deadlock with user session executing ALTER USER

7226463

10.2.0.5

EXECUTE IMMEDIATE no releasing mutex or library cache pin

+

5907779

10.2.0.4

Self deadlock hang on "cursor: pin S wait on X" (typically from DBMS_STATS)


推荐阅读
  • 在使用PFC进行数据处理时,遇到了数据列消失的问题。具体表现为,在数据窗口dw_1中,原本点击排序按钮cb_1后,会弹出一个排序窗口并显示所有字段。然而,目前点击排序按钮时,数据列却无法正常显示。为了解决这一问题,需要检查数据源的配置和按钮事件的触发逻辑,确保数据列能够正确加载和显示。 ... [详细]
  • 实现Nginx对ThinkPHP URL重写及PATHINFO支持的详细方法解析【PHP开发】
    在PHP后端开发中,实现Nginx对ThinkPHP的URL重写及PATHINFO支持是一项常见的需求。本文详细解析了经过多次尝试和研究,最终找到的一种有效配置方法,能够确保URL_MODERewrite功能正常运行,并提供稳定的服务。此外,文章还探讨了相关配置项的具体作用及其优化建议,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • InnoDB当前仅支持一次创建一个FULLTEXT索引 ... [详细]
  • MySQL 数据备份与恢复的常见方法及其实践经验总结。物理备份涉及直接复制数据库文件,适用于大规模数据库环境,但无法在异构系统(如 Windows)中恢复。逻辑备份则侧重于导出建表语句和数据插入语句,便于跨平台迁移和部分数据恢复。此外,本文还探讨了增量备份、全量备份以及使用工具如 mysqldump 和 Percona XtraBackup 的具体应用场景和优缺点。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • MySQL 数据变更后如何实现实时同步至 Elasticsearch
    在 MySQL 数据变更后,如何实现与 Elasticsearch 的实时同步是一个常见的需求。本文介绍了通过配置 MySQL 的 Binlog 功能,结合中间件如 Canal 或 Debezium,将数据变更事件实时捕获并同步到 Elasticsearch 中的方法。此外,还探讨了如何处理数据删除操作,确保 Elasticsearch 中的数据与 MySQL 保持一致。文章还简要对比了 VSCode 和 Dev 两种开发环境的优缺点,为开发者提供参考。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 在数据表中,我需要触发一个操作来刷新特定列的数据。例如,对于以下表格:| ID | Name | IsDeleted ||----|-------|-----------|| 1 | test | True || 2 | test2 | False |我希望在点击“更新”按钮时,能够仅刷新选定行的“IsDeleted”列。这将有助于确保数据的实时性和准确性。 ... [详细]
  • 在第二课中,我们将深入探讨Scala的面向对象编程核心概念及其在Spark源码中的应用。首先,通过详细的实战案例,全面解析Scala中的类和对象。作为一门纯面向对象的语言,Scala的类设计和对象使用是理解其面向对象特性的关键。此外,我们还将介绍如何通过阅读Spark源码来进一步巩固对这些概念的理解。这不仅有助于提升编程技能,还能为后续的高级应用开发打下坚实的基础。 ... [详细]
  • 如何使用R语言高效连接并操作MySQL数据库
    如何使用R语言高效连接并操作MySQL数据库 ... [详细]
  • 本文详细探讨了MySQL并发参数的优化与调整方法,旨在帮助读者深入了解如何通过合理配置这些参数来提升数据库性能。文章不仅介绍了常见的并发参数及其作用,还提供了实际操作中的调整策略和最佳实践,适合希望提高数据库管理技能的技术人员阅读。 ... [详细]
  • 解决MySQL 5.1服务器无法正确识别中文字符的问题
    在使用MySQL 5.1服务器时,可能会遇到无法正确识别中文字符的问题。由于相关资料较少且不够全面,本文将详细阐述解决方案。首先,需要检查MySQL的配置文件,确保字符集设置正确,并通过命令行工具验证当前的字符编码配置。此外,建议更新到最新版本以避免此类问题。 ... [详细]
  • SQL Server 客户端连接远程数据库时未指定端口导致 “用户 'sa' 登录失败 (错误 18456)” 的解决方案 ... [详细]
  • 本文将深入探讨MySQL 8.0中的WITH语句,通过具体应用实例详细解析其在处理复杂SQL查询时的优势。WITH语句能够显著减少临时表的使用,提高代码的可读性和维护性,从而优化查询性能。 ... [详细]
  • 本文提供了在Windows系统上部署和启动MySQL免安装版本的详细步骤。首先,从MySQL官方网站下载社区版免安装包(https://dev.mysql.com/downloads/mysql/8.0.html),将其解压至指定目录,例如D:\tools\mysql。接着,配置系统环境变量,确保MySQL命令行工具可以在任意路径下使用。此外,还需创建并配置my.ini文件以设置MySQL的基本参数,确保数据库服务能够顺利启动和运行。 ... [详细]
author-avatar
夫妇郭_390
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有