mysql中10049是什么错误_【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例[通俗易懂]

mysql中10049是什么错误_【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例[通俗易懂]【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例时间:2016-11-0513:54来源:Oracle研究中心作者:HTZ点击:次天萃荷净Oracle研究中心学习笔记:分享一篇关于Oracle数据库关于SQL解析的详细文档,该文档详细介绍使用10049event事件来分析SQL语句的解析笔记。1,数据库版本SQL>select*fromv$ve…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

学习笔记】Oracle数据库10049用于分析SQL解析笔记案例

时间:2016-11-05 13:54   来源:Oracle研究中心   作者:HTZ   点击:

天萃荷净

Oracle研究中心学习笔记:分享一篇关于Oracle数据库关于SQL解析的详细文档,该文档详细介绍使用10049 event事件来分析SQL语句的解析笔记。

1,数据库版本

SQL> select * from v$version;

BANNER

—————————————————————-

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bi

PL/SQL Release 10.2.0.1.0 – Production

CORE 10.2.0.1.0 Production

TNS for Linux: Version 10.2.0.1.0 – Production

NLSRTL Version 10.2.0.1.0 – Production

2,查询SQL的HASH_VALUE

SQL> @find_sql.sql

Enter value for sql_text: from scott.emp

Enter value for sql_id:

SQL_ID CHILD HASH_VALUE PLAN_HASH EXECS ETIME AVG_ETIME USERNAME

————- —— ———- ———- ———- ————- ————- ————-

SQLTEXT

————————————————————————————————

ggqns3c1jz86c 0 52404428 3956160932 1 .17 .17 SYS

select * from scott.emp

3,配置event

关于10049每一个level的意思与配置方法见:配置10049

SQL> @10to16.sql

Enter value for number10: 52404428

TO_CHAR(‘52404428’,’XXXXXXXXXXXXXXXXXXXXXXXXX

———————————————

31fa0cc

2000+0010+0020

a0cc2030

SQL> @16to10.sql

Enter value for number16: a0cc2030

NUMBER10

—————————-

2697732144

SQL> @parameter_hide.sql

+————————————————————————+

| display hide parameter value |

+————————————————————————+

Enter Search Parameter (i.e. max|all) : kks

PARAMETER SESSION_VALUE INSTANCE_VALUE DESCRIPTION

—————————————- ——————– ——————– ————————————————————

_kks_use_mutex_pin FALSE FALSE Turning on this will make KKS use mutex for cursor pins.

SQL> oradebug setmypid

Statement processed.

SQL> oradebug event 10049 trace name context forever,level 2697732144;

Statement processed.

4,运行sql

SQL> startup force pfile=’/tmp/123.ora’;

ORACLE instance started.

Total System Global Area 524288000 bytes

Fixed Size 2022080 bytes

Variable Size 218105152 bytes

Oracle oracleplus.netDatabase Buffers 301989888 bytes

Redo Buffers 2170880 bytes

Database mounted.

Database opened.

SQL> oradebug setmypid

Statement processed.

SQL> oradebug event 10049 trace name context forever,level 2697732144;

Statement processed.

SQL> select * from scott.emp;

SQL> select * from scott.emp;

SQL> select * from scott.emp;

SQL> select * from scott.emp;

SQL> oradebug tracefile_name;

/oracle/app/oracle/admin/orcl1021/udump/orcl1021_ora_7566.trc

*** 2014-05-04 13:26:36.128

/******************************************************************************

KGLTRCLCK kglget hd = 0x0x4408bb808 KGL Lock addr = 0x0x3c1932c00 mode = N

KGLTRCPIN kglpin hd = 0x0x4408bb808 KGL Pin addr = 0x0x3c190e4f8 mode = X

KGLTRCPIN kglpndl hd = 0x0x4408bb808 KGL Pin addr = 0x0x3c190e4f8 mode = X

KGLTRCLCK kglget hd = 0x0x4408bb5e0 KGL Lock addr = 0x0x3c1909030 mode = N

KGLTRCPIN kglpin hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c190e938 mode = X

KGLTRCPIN kglpndl hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c190e938 mode = S

KGLTRCLCK kgllkdl hd = 0x0x4408bb5e0 KGL Lock addr = 0x0x3c1909030 mode = N

KGLTRCLCK kgllkdl hd = 0x0x4408bb808 KGL Lock addr = 0x0x3c1932c00 mode = N

第一次硬分析,这个我们可以看到在父游标上面先kglget NULL的锁,再获取PIN的锁,随后再

是子游标的lock/pin,最后释放父游标的NULL locK锁

*******************************************************************************/

/******************************************************************************

*** 2014-05-04 13:26:48.940

KGLTRCLCK kglget hd = 0x0x4408bb808 KGL Lock addr = 0x0x3c1923f68 mode = N

KGLTRCLCK kglget hd = 0x0x4408bb5e0 KGL Lock addr = 0x0x3c18fef90 mode = N

KGLTRCPIN kglpin hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c193c840 mode = S

KGLTRCPIN kglpndl hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c193c840 mode = S

KGLTRCLCK kgllkdl hd = 0x0x4408bb5e0 KGL Lock addr = 0x0x3c18fef90 mode = N

KGLTRCLCK kgllkdl hd = 0x0x4408bb808 KGL Lock addr = 0x0x3c1923f68 mode = N

这里是软分析,也是第二次分析,这里可以看到整个过程没有X的锁

*******************************************************************************/

KGLTRCLCK kglget hd = 0x0x4408bb808 KGL Lock addr = 0x0x3c1932e28 mode = N

KGLTRCLCK kglget hd = 0x0x4408bb5e0 KGL Lock addr = 0x0x3c1932ee0 mode = N

KGLTRCPIN kglpin hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c190e3e8 mode = S

KGLTRCPIN kglpndl hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c190e3e8 mode = S

KGLTRCPIN kglpin hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c190e938 mode = S

KGLTRCPIN kglpndl hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c190e938 mode = S

再执行一次

SQL> select * from scott.emp;

只增加了下面的2行

*** 2014-05-04 13:28:08.866

下面是多次运行后,软软分析的trace,这里我们可以只在子游标上面获取pin的锁

KGLTRCPIN kglpin hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c18fff58 mode = S

KGLTRCPIN kglpndl hd = 0x0x4408bb5e0 KGL Pin addr = 0x0x3c18fff58 mode = S

SQL> @find_sql.sql

Enter value for sql_text: from scott.emp

Enter value for sql_id:

SQL_ID CHILD HASH_VALUE PLAN_HASH EXECS ETIME AVG_ETIME USERNAME

————- —— ———- ———- ———- ————- ————- ————-

SQLTEXT

———-

ggqns3c1jz86c 0 52404428 3956160932 5 .01 .00 SYS

select * from scott.emp

SQL> select kglhdadr,kglhdpar,kglnaobj from x$kglob where kglhdadr in (‘00000004408BB5E0′,’00000004408BB808’);

KGLHDADR KGLHDPAR KGLNAOBJ

—————- —————- ———————————————————————-

00000004408BB5E0 00000004408BB808 select * from scott.emp

00000004408BB808 00000004408BB808 select * from scott.emp

本文固定链接: http://www.htz.pw/2015/03/28/10049%e7%94%a8%e4%ba%8e%e5%88%86%e6%9e%90sql%e8%a7%a3%e6%9e%90.html | 认真就输

————————————–ORACLE-DBA—————————————-

最权威、专业的Oracle案例资源汇总之【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例

9bd101509341196819122f36086c9a60.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187131.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • id门禁卡复制到手机_使用iPhone解锁开门?手机复制门禁卡教程分享

    id门禁卡复制到手机_使用iPhone解锁开门?手机复制门禁卡教程分享使用iPhone解锁开门?手机复制门禁卡教程分享2020-01-1013:31:24173点赞1746收藏262评论对于安卓用户来说,NFC功能是考量一部手机是否是旗舰水准的一项重要指标。而对于iPhone用户,从iPhone6S开始就搭载了NFC功能,却仅仅可以使用ApplePay支付功能,对于国内大部分实体店来说ApplePay的普及程度也不高,NFC功能实际上就一直被闲置着。最近楼主…

  • RxJava flatMap使用[通俗易懂]

    RxJava flatMap使用[通俗易懂]RxJavaflatMap使用1、使用场景首先从一个接口中获取list,然后根据获取到list中的元素信息,再获取每个元素的详细信息2、以下是代码片段(仅笔记于此)StringalbumUrl=“http://m.kugou.com/zlist/list?listid=2&type=0&uid=89255811&sign=495dc043c2b3ac9f…

  • pycharm社区版激活码【在线注册码/序列号/破解码】

    pycharm社区版激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • linux下手动释放内存

    linux下手动释放内存

  • .java文件怎么在cmd中运行(以Helloworld为例)

    .java文件怎么在cmd中运行(以Helloworld为例)Java环境的配置#-欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown将代码片显示选择的高亮样式

  • 焦点科技怎么老是招人_选错对焦点,错失好照片,你了解相机的对焦吗?

    焦点科技怎么老是招人_选错对焦点,错失好照片,你了解相机的对焦吗?对焦一直是衡量相机的性能的重要参数,在很长的一段时间里,我们因为相机的对焦系统不够强大,而习惯的单点手动设置对焦。而近几年微单相机的对焦快速发展,眼部自动对焦已经比较成熟,而我们的习惯也应该发生改变……选错对焦点,错失好照片多好的构图,妹子笑的多甜,然而就是因为焦点没有对准,成功的变成一张废片。很多人和我抱怨过,什么镜头跑焦,机身跑焦,可是你们有没有从自身找过原因,当真找到正确的焦点,准确合…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号