【技术实现步骤摘要】
一种oracle数据库的sql跟踪方法及工具
本专利技术涉及oracle数据库
,具体的说是一种oracle数据库的sql跟踪方法及工具。
技术介绍
在业务软件生产环境中,有很多产品后端会用到各种数据库,其中oracle数据库占比很高,在一些大型项目中尤其如此。在产品使用过程中,可能会遇到各种性能问题,要对遇到的问题进行定位,需要从各方面分析研究,其中比较重要的一项为数据库sql调优,即分析sql的执行时间、cpu占用、磁盘读写等,看是否有可优化的空间。相较于其他数据库,如微软的sqlserver数据库有自带的sql跟踪分析工具sqlprofiler等,oracle数据库官方并没有提供一个方便易用且很快速的方法能够跟踪到某段时间的sql,因此在调优的过程中,有很多时间是花在sql获取上,且可能需要多次操作,多次分析,sql获取的成本更高。目前获取oraclesql一般有两种方式:第一种方法是,产品开发人员在应用程序中输出用到的sql,并计算sql的执行时间。但这种方法不通用,需要开发人员额外编写输出代码 ...
【技术保护点】
1.一种oracle数据库的sql跟踪方法,其特征在于,该方法的实现过程包括:/n1)登录连接需要跟踪sql的oracle数据库后,通过sql备份当前v$sqlarea视图,并记录此刻的数据库时间,/n2)启动业务操作系统,执行需要跟踪sql的业务操作,/n3)执行完成需要跟踪的业务操作后,再次备份当前数据库v$sqlarea视图,/n4)对比步骤3)中v$sqlarea视图和步骤1)中v$sqlarea视图的对应字段,通过两视图中对应字段差值得到所有sql及相关指标。/n
【技术特征摘要】
1.一种oracle数据库的sql跟踪方法,其特征在于,该方法的实现过程包括:
1)登录连接需要跟踪sql的oracle数据库后,通过sql备份当前v$sqlarea视图,并记录此刻的数据库时间,
2)启动业务操作系统,执行需要跟踪sql的业务操作,
3)执行完成需要跟踪的业务操作后,再次备份当前数据库v$sqlarea视图,
4)对比步骤3)中v$sqlarea视图和步骤1)中v$sqlarea视图的对应字段,通过两视图中对应字段差值得到所有sql及相关指标。
2.根据权利要求1所述的一种oracle数据库的sql跟踪方法,其特征在于,步骤1)中,执行createtabletrace_startasselect*fromv$sqlarea,通过该sql将当前时刻的整个v$sqlarea表数据备份至表trace_start。
3.根据权利要求2所述的一种oracle数据库的sql跟踪方法,其特征在于,步骤1)中,执行selectsysdatefromdual,将查询出来的时间赋给程序变量T。
4.根据权利要求3所述的一种oracle数据库的sql跟踪方法,其特征在于,步骤3)中,执行createtabletrace_endasselect*fromv$sqlarea,将此刻整个v$sqlarea表数据备份至表trace_end。
5.根据权利要求4所述的一种oracle数据库的sql跟踪方法,其特征在于,Oracle数据库中,v$sqlarea视图各字段数据为累加值,记录了最近一段时间内执行过的sql及各项累加指标,指标不限于包含sql执行总时间、总次数、总磁盘读写、cpu占用;
执行步骤4)过程中:
通过查询trace_end表中last_active_time>T可得到在生成trace_start之后的sql数据,即执行业务操作期间的sql数据,
再通过对比表trace_end与trace_start中sql_id字段,相同则为同一条sql,同一条sql的trace_end表其余指标字段值减去trace_start表中对应指标字段值,即可得到所有sql在业务执行期间的执行总时间、总次数、总磁盘读写、cpu占用各项指标。
6.根据权利要求5所述的一种oracle数...
【专利技术属性】
技术研发人员:陈静,孙鹏,
申请(专利权)人:浪潮软件集团有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。