[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;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2216312/,如需转载,请注明出处,否则将追究法律责任。