落落<> 14:33:42
1.Check Wait Event and SQL_TEXT. use SID/USERNAME to fileter,get SQL_ID and SQL_CHILD_NUMBER
2.Check GV$SQL Find SQL stats
3.Check ASH. use SID/SQL_ID,SQL_CHILD_NUMBER to filter
4.Check how log waited. only in serial mode
5.Check GV$SESSION_LONGOPS. find what operation is executing
6.Check GV$ACCESS find which objects is executing
7.Check stats. find all stats for the SQL.
8.Check session env workarea policy, parallel mode
9.Get execution plan Beginning of SQL Tuning
落落<> 14:34:33
现在 俺 share 一下 troubleshooting OLAP的 long running 的 过程吧
落落<> 14:34:45
OLAP 和 OLTP 不同
落落<> 14:34:56
OLAP 一般都是 用shell 调用 SQL脚本
落落<> 14:35:15
然后 再用 ctrl-m 调用shell 运行某些JOB
落落<> 14:35:31
这些 JOB 一般要执行 几十分钟到 10小时不等
落落<> 14:35:47
所以 一般都会出现 long running的 job
落落<> 14:36:19
遇到 long running的时候, ETL 的人 会让Project DBA 查找原因 以及 提出 意见
落落<> 14:36:52
首先 让 ETL 提供SID, 如果能提供 , 如果不能提供就 让他们提供USERNAME
落落<> 14:37:23
查找到 SQL_ID,SQL_child_numer
落落<> 14:37:49
然后查询 V$SQL 获得 SQL 的CPU TIME
落落<> 14:38:12
以及运行时间 , IO_WAIT_time 等等一些统计信息 对这个SQL 做个初步性能判断
落落<> 14:38:32
然后 查询 ASH , 如果并行运行 , 就根据 SQL_ID过滤
阅读(1663) | 评论(1) | 转发(0) |