linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况
动态SQL可以用snapshot查看,存储过程里SQL语句的执行情况用event monitor查看。
但是event monitor没有记录SQL语句,而是记录了package id和Section id。
根据package id和Section id再查询系统表就可以得到原始的SQL语句。
例子如下:
(1)创建存储过程
create procedure sales_status
(in quota integer)
dynamic result sets 2
language sql
begin
declare SQLSTATE char(5);
declare rs cursor with return for
select sales_person, sum(sales) as total_sales
from sales
group by sales_person
having sum(sales) > quota;
open rs;
insert into tt1 values (1),(2),(3),(4),(5);
end
@
(2)创建event monitor,并捕获statement信息
db2 create event monitor ev2 for statements write to file 'D:\tmp'
db2 set event monitor ev2 state 1
db2 "call sales_status(10)"
db2 FLUSH EVENT MONITOR ev2
db2evmon -db sample -evm ev2 > 1.out
(3)查看输出文件
在call sales_status(10)语句后面,可以找到
8) Statement Event ...
Appl Handle: 7
Appl Id: *LOCAL.DB2.070809034142
Appl Seq number: 00053
Record is the result of a flush: FALSE
-------------------------------------------
Type : Static
Operation: Execute
Section : 2
Creator : DB2ADMIN
Package : P2323139
Consistency Token : oAfgMJIX
Package Version ID :
Cursor :
Cursor was blocking: FALSE
-------------------------------------------
Start Time: 2007-08-09 12:33:22.394140
Stop Time: 2007-08-09 12:33:22.394599
Exec Time: 0.000459 seconds
Number of Agents created: 1
User CPU: 0.000000 seconds
System CPU: 0.000000 seconds
Fetch Count: 0
Sorts: 0
Total sort time: 0
Sort overflows: 0
Rows read: 1
Rows written: 5
...
10) Statement Event ...
Appl Handle: 7
Appl Id: *LOCAL.DB2.070809034142
Appl Seq number: 00053
Record is the result of a flush: FALSE
-------------------------------------------
Type : Static
Operation: Close
Section : 1
Creator : DB2ADMIN
Package : P2323139
Consistency Token : oAfgMJIX
Package Version ID :
Cursor : RS
Cursor was blocking: TRUE
-------------------------------------------
Start Time: 2007-08-09 12:33:22.390159
Stop Time: 2007-08-09 12:33:22.398984
Exec Time: 0.008825 seconds
Number of Agents created: 1
User CPU: 0.000000 seconds
System CPU: 0.000000 seconds
Fetch Count: 3
Sorts: 1
Total sort time: 0
Sort overflows: 0
Rows read: 45
Rows written: 0
...
看到Package=P2323139, Section=1的SQL有 Rows read: 45
看到Package=P2323139, Section=2的SQL有 Rows read: 1, Rows written: 5
(4)查询系统表,就可以看到原始的SQL语句了
select s.STMTNO, s.SECTNO, s.TEXT
from SYSCAT.STATEMENTS s
where s.PKGNAME='P2323139' ;
STMTNO SECTNO TEXT ----------- ------ -------
8 1 DECLARE RS cursor with return for select SALES_PERSON, SUM(SALES) as TOTAL_SALES from SALES group by SALES_PERSON having SUM(SALES) > :HV00008 :HI00008
17 2 insert into TT1 values (1),(2),(3),(4),(5)
2 条记录已选择。
linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况相关推荐
- mybatis 向DB2数据库插入自增长的SQL语句报:DB2 SQL Error: SQLCODE=-798, SQLSTATE=428C9, SQLERRMC=ID, DRIVER=4.16.53
mybatis 向DB2数据库插入自增长的SQL语句报如下错误: SQL语句: <insert id="addUser" parameterType="user&q ...
- 查看公司和公司产品数的sql语句
查看公司和公司产品数的sql语句 select * from (select C_ID,(select count(1) from product where C_ID=companyinfo.C_I ...
- 【Oracle】三种方式查看SQL语句的执行计划
查看执行计划的方式有三种: EXPLAIN PLAN .V$SQL_PLAN .SQL*PLUS AUTOTRACE 1.EXPLAIN PLAN: 显示执行相应语句时可以使用的理论计划 读取执行计划 ...
- oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析
oracle查看执行最慢与查询次数最多的sql语句 注:本文来源 于<oracle查看执行最慢与查询次数最多的sql语句> 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率 ...
- html调试模式查看data数据库,接口调试:在线sql语句查看与性能优化
后台接口绝大数情况下,都需要与数据库进行交互,以获取业务数据或者接收保存客户端上报的数据.为方便后台开发同学进行调试,以及实时查看全部执行的SQL语句,这里简单地对全部执行的SQL语句进行调试模式下输 ...
- mysql怎么使用sql语句查看表的编码_MySQL中使用SQL语句查看某个表的编码
MySQL中,如何使用SQL语句来查看某个表的编码呢?我们使用show create table 这一SQL语句来解决这个问题. show create table可以查看创建这个表的SQL语句脚本, ...
- oracle一条sql运行时间很长,oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析...
oracle查看执行最慢与查询次数最多的sql语句 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻 ...
- MySQL过滤相同binlog_通过Linux命令过滤出binlog中完整的SQL语句
DB:MySQL 5.6.16 CentOS:CentOS release 6.3 (Final) 当insert语句通过空格跨行输入的时候,如何提取完整的insert语句! 创建一个空表: mysq ...
- SQL Server数据库-视图相关操作-2种方式【图形用户界面操作(新建、保存、查看、维护、删除 视图)、SQL语句操作(创建、查看、修改、删除 视图)】
学习网址 :MOOC平台 https://www.icourse163.org/spoc/learn/ZZULI-1207222804?tid=1450316458#/learn/announce 目 ...
最新文章
- 2021年大数据Flink(二十五):Flink 状态管理
- 二叉树 —— 创建二叉树 先序遍历 、中序遍历、后序遍历(递归方式、非递归方式)
- php socket非阻塞,php stream_set_blocking设置非阻塞模式,php stream_set_blocking影响函数fgets()和fread()...
- 机器人J中WPR_北方工业大学服务机器人研究项目介绍
- Hadoop如何工作? HDFS案例研究
- 阿里“双十一”决胜物流战 智能、开放才能走的更远
- 子类重写方法aop切不到_Spring-aop 全面解析(从应用到原理)
- oozie ErrorCode含义
- 【经验】vmware虚拟机只能使用鼠标无法使用键盘、装VMware-Tools无法复制粘贴的可能解决办法
- android如何局域网通信,android局域网怎么通信
- Typora中插入分页符
- “逃离北上广”——你以为回到小城市就很幸福了么?
- UI设计公司面试时会提哪些问题?
- 51单片机定时器/计数器
- 计算机机械硬盘寿命,机械硬盘的寿命
- SimpleFOC调参3-PID参数整定攻略
- 如何进行系统的架构设计?
- 爬虫 403 增加header和代理ip也没用?有可能是cloudflare在搞事情
- Exchange控制台错误:WinRM客户端已将请求发送到HTTP服务器
- 数字图像处理八:图像分割
热门文章
- Oracle放大招:MySQL 即将支持 Hash Join
- 警告:ORA-00600 2252 错误正在SCN问题下不断爆发
- 手绘流程图,教你WSL2与Docker容器无缝互相迁移
- 七夕赶上服务器架构升级,女朋友的约会怎么办
- AI论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构VSR
- 不同数据库模式下DATE类型的行为解析
- 如何通过一个SDK轻松搞定人脸识别,拯救初入职场的程序猿
- activate-power-mode,让你在Python编码中,感受炫酷的书写特效!
- 编程建立一通讯簿C语言,C语言编程问题用C语言编个学生通讯录管理系统,功能有:①创建通讯 爱问知识人...
- cmake 构建路径_基于CMake构建系统的MLIR Example扩展