[20181013]12cR2 无法执行的sql语句会记录在alert.log.txt

来源:这里教程网 时间:2026-03-03 12:04:56 作者:

[20181013]12cR2 无法执行的sql语句会记录在alert.log.txt --//12C R2 支持无法执行的sql语句记录在alert.log文件中,缺省执行100次. --//首先无法执行的SQL语句语句一样消耗共享池,增加出现SQL*Net break/reset to client相关等待时间. --//以及sql语句的分析时间,对于特别频繁的语句消耗更大. --//当然以前可以使用10035事件跟踪定位这些sql语句. --//如果执行频率高,可以在视图v$active_session_history或者dba_hist_active_sess_history抓取到等待事件 --//SQL*Net break/reset to client. --//注意知道sql_id无法通过视图v$sql找到sql语句,只能通过x$kglob定位相关信息. --//链接 http://blog.itpub.net/267265/viewspace-2120884/=>[20160624]使用10035事件跟踪无法执行的sql语句.txt --//通过例子演示这个功能: 1.环境: SCOTT@test01p> @ ver1 PORT_STRING                    VERSION        BANNER                                                                               CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0           12.2.0.1.0     Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production              0 2.测试: --//写一个脚本b3.txt内容如下: select sysdate from xxxxxxxxxxxxxx; / / ....--//包含99个斜线 / @b3.txt ... 3.检查alert.log文件: 2018-10-13T21:13:30.345877+08:00 TEST01P(3):select sysdate from xxxxxxxxxxxxxx TEST01P(3):Additional information: hd=000007FF133F03A0 phd=000007FF13610B68 flg=0x20 cisid=81 sid=81 ciuid=81 uid=81 4.补充测试: SYS@test> select sys.dbms_sqltune_util0.sqltext_to_sqlid('select sysdate from xxxxxxxxxxxxxx'||chr(0)) c20 from dual; C20 -------------------- bb98w6dj7wz8p SYS@test> select * from v$sql where sql_id='bb98w6dj7wz8p'; no rows selected SYS@test> @ sharepool/shp4 bb98w6dj7wz8p 0 TEXT           KGLHDADR         KGLHDPAR         C40                                        KGLHDLMD   KGLHDPMD   KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09 -------------- ---------------- ---------------- ---------------------------------------- ---------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ---------- 子游标句柄地址 000007FF133F03A0 000007FF13610B68 select sysdate from xxxxxxxxxxxxxx                0          0        100 00               00                        0          0       3171      3171       3171 1652456725 bb98w6dj7wz8p          0 父游标句柄地址 000007FF13610B68 000007FF13610B68 select sysdate from xxxxxxxxxxxxxx                1          0        100 000007FF1321AA70 00                     4072          0          0      4072       4072 1652456725 bb98w6dj7wz8p      65535 --//KGLHDADR=000007FF13610B68 对应前面的phd=000007FF13610B68. 对应父游标 --//KGLHDADR=000007FF133F03A0 对应前面的hd=000007FF133F03A0   对应子游标. --//附上shp4.sql column N0_6_16 format 99999999 SELECT DECODE (kglhdadr,                kglhdpar, '父游标句柄地址',                '子游标句柄地址')           text,        kglhdadr,        kglhdpar,        substr(kglnaobj,1,40) c40,        KGLHDLMD,        KGLHDPMD,        kglhdivc,        kglobhd0,        kglobhd6,        kglobhs0,kglobhs6,kglobt16,        kglobhs0+kglobhs6+kglobt16 N0_6_16,        kglobhs0+kglobhs1+kglobhs2+kglobhs3+kglobhs4+kglobhs5+kglobhs6+kglobt16 N20,        kglnahsh,        kglobt03 ,        kglobt09     FROM x$kglob  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2;

相关推荐