当前位置:首页 > 行业动态 > 正文

db2查看正在执行的sql语句

db2查看正在执行的sql语句的方法是使用db2pd -db -locks命令,这将显示当前数据库中锁定的对象以及相关的SQL语句。

在DB2中,可以通过查询系统视图和动态性能视图来查看正在运行的SQL语句,以下是详细的步骤:

1. 查询系统视图

DB2数据库中有一个名为SYSIBMADM.SNAP_GET_SQL的系统视图,可以用于获取当前正在运行的SQL语句,要查询此视图,请执行以下SQL语句:

SELECT * FROM SYSIBMADM.SNAP_GET_SQL;

这将返回一个表格,其中包含有关正在运行的SQL语句的信息,如SQL ID、应用程序ID、用户ID、开始时间等。

2. 查询动态性能视图

DB2还提供了一组动态性能视图(DPV),用于监视和诊断数据库的性能问题,要查看正在运行的SQL语句,可以使用SYSPROC.MON_CURREL_STMT动态性能视图,执行以下SQL语句:

SELECT * FROM SYSPROC.MON_CURREL_STMT;

这将返回一个表格,其中包含有关正在运行的SQL语句的信息,如SQL ID、计划哈希值、锁等待时间等。

相关问题与解答

问题1:如何在DB2中查看最近执行过的SQL语句?

答案:要查看最近执行过的SQL语句,可以查询SYSIBMADM.SNAP_GET_STATEMENTS系统视图,执行以下SQL语句:

SELECT * FROM SYSIBMADM.SNAP_GET_STATEMENTS;

这将返回一个表格,其中包含有关最近执行过的SQL语句的信息,如SQL ID、应用程序ID、用户ID、执行次数等。

问题2:如何在DB2中查看某个特定用户的正在运行的SQL语句?

答案:要查看某个特定用户的正在运行的SQL语句,可以在查询SYSIBMADM.SNAP_GET_SQLSYSPROC.MON_CURREL_STMT时添加筛选条件,要查看用户ID为100的用户正在运行的SQL语句,可以执行以下SQL语句:

SELECT * FROM SYSIBMADM.SNAP_GET_SQL WHERE USR_ID = 100;

或者

SELECT * FROM SYSPROC.MON_CURREL_STMT WHERE USR_ID = 100;

这将返回一个表格,其中包含有关该特定用户的正在运行的SQL语句的信息。

0