[发明专利]一种oracle数据库的sql跟踪方法及工具在审
申请号: | 202010806440.1 | 申请日: | 2020-08-12 |
公开(公告)号: | CN111984501A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 陈静;孙鹏 | 申请(专利权)人: | 浪潮软件集团有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 oracle 数据库 sql 跟踪 方法 工具 | ||
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)中,执行create table trace_start as select*from v$sqlarea,通过该sql将当前时刻的整个v$sqlarea表数据备份至表trace_start。
3.根据权利要求2所述的一种oracle数据库的sql跟踪方法,其特征在于,步骤1)中,执行select sysdate from dual,将查询出来的时间赋给程序变量T。
4.根据权利要求3所述的一种oracle数据库的sql跟踪方法,其特征在于,步骤3)中,执行create table trace_end as select*from v$sqlarea,将此刻整个v$sqlarea表数据备份至表trace_end。
5.根据权利要求4所述的一种oracle数据库的sql跟踪方法,其特征在于,Oracle数据库中,v$sqlarea视图各字段数据为累加值,记录了最近一段时间内执行过的sql及各项累加指标,指标不限于包含sql执行总时间、总次数、总磁盘读写、cpu占用;
执行步骤4)过程中:
通过查询trace_end表中last_active_timeT可得到在生成trace_start之后的sql数据,即执行业务操作期间的sql数据,
再通过对比表trace_end与trace_start中sql_id字段,相同则为同一条sql,同一条sql的trace_end表其余指标字段值减去trace_start表中对应指标字段值,即可得到所有sql在业务执行期间的执行总时间、总次数、总磁盘读写、cpu占用各项指标。
6.根据权利要求5所述的一种oracle数据库的sql跟踪方法,其特征在于,执行步骤4)过程中,可能有在trace_end中新出现的sql,即在trace_end中出现、但未在trace_start中出现的sql_id,此时,在数据处理sql中需要用left join trace_end并使用nvl转换下空值。
7.一种oracle数据库的sql跟踪工具,其特征在于,其包括登录模块、备份模块一、备份模块二、对比处理模块,
所述登录模块用于辅助用户登录连接需要跟踪sql的oracle数据库,
所述备份模块一用于通过sql备份当前v$sqlarea视图至表trace_start,并记录此刻的数据库时间,将查询出来的时间赋给程序变量T,
启动需要跟踪sql的业务操作系统,进行某项业务操作后,所述备份模块二用于备份当前数据库v$sqlarea视图至表trace_end,
所述对比处理模块用于对比备份模块一和备份模块二所备份v$sqlarea视图的对应字段,并通过两视图中对应字段差值得到所有sql及相关指标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件集团有限公司,未经浪潮软件集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010806440.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种物流托盘
- 下一篇:一种内科用批量式口含式温度计消毒设备