列出 DB2 Warehouse on Cloud 中 SQL 条语句的历史记录

List History of SQL Statements in DB2 Warehouse on Cloud

不确定这是否可行,但有没有办法,最好是 SQL 查询,我可以 运行 作为管理员,找出哪些 SQL 语句在一段时间内由哪些用户执行,他们花了多长时间 运行。

您要求的通常称为 "audit"。您可以在云实例中启用 Db2 审计工具,例如

create audit policy exec_policy categories execute status both error type normal;
audit database using policy exec_policy;

您不能将语句执行审计仅限于查询; DML 和 DDL 语句也将被捕获。

然后您将定期将审计记录从日志移动到审计表中:

call audit.update()

和select数据:

select * from audit.execute

您会找到更多详细信息 in the manual

请注意,审计具有一定的性能影响,因为每个审计事件都是同步记录的。

显然,您不能及时返回并捕获已经完成的事件。只会记录启用审核后发生的事件。

您可以创建或使用现有的 event monitor for activities
在其表格中收集了具有大量性能指标的已完成 SQL 语句的信息。
您可以为整个数据库、特定 WLM 对象(工作负载、服务 类)甚至特定会话收集此类信息。