2013-07-03 做的一次数据库诊断

        今天分析管理的一个数据库AWR报告,发现从6280点到8点,数据库中有一条语句执行接近1亿2千万次,同时也非常耗资源,对生产环境系统性能影响极大。接着分析28日之后的报告,发现此SQL语句每个小时都执行超过千万次。通过排查已经确定是在06-27 08:30:17,某一个同事以xxxx的账号登录到正式环境上,用PL/SQL中执行SQL没有关闭,一直在执行。17:00我已经关闭此执行会话,18点后通过分析数据库报告,确认问题已经解决。

  Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 24198 03-7月 -13 00:00:51 573 28.3
End Snap: 24206 03-7月 -13 08:00:30 569 29.1

Elapsed Time (s) CPU Time (s) Executions Elap per Exec (s) % Total DB Time SQL Id SQL Module SQL Text
22,626 23,133 117,726,168 0.00 31.51 fqr1a8j6w4ngu PL/SQL Developer SELECT N.TECH_OBJECT_ID FROM P...

排查过程:
       1.在数据库报告中可以看到是执行此SQL语句是通过PL/SQL Developer执行的。
       2.接着通过sql_id到v$sql中找到此条SQL语句,看到ACTION为“SQL 窗口 - 系统设备数据视图.”。PARSING_SCHEMA_NAME为GG。
       3.最后通过条件MODULE=‘PL/SQL Developer’,ACTION=‘SQL 窗口 - 系统设备数据视图.’,USERNAME=‘GG’查v$session,找到OSUSER定位到时 xxxx的用户操作的。

 

你可能感兴趣的:(2013-07-03 做的一次数据库诊断)