列出云上DB2仓库中SQL语句的历史记录
不确定这是否可行,但是否有一种方法,最好是我可以作为管理员运行的SQL查询,来找出在一段时间内执行了哪些SQL语句,由哪些用户执行,以及它们运行了多长时间。您要求的通常称为“审计”。您可以在云实例中启用Db2审计功能,例如:列出云上DB2仓库中SQL语句的历史记录,sql,db2,ibm-cloud,db2-luw,audit-logging,Sql,Db2,Ibm Cloud,Db2 Luw,Audit Logging,不确定这是否可行,但是否有一种方法,最好是我可以作为管理员运行的SQL查询,来找出在一段时间内执行了哪些SQL语句,由哪些用户执行,以及它们运行了多长时间。您要求的通常称为“审计”。您可以在云实例中启用Db2审计功能,例如: create audit policy exec_policy categories execute status both error type normal; audit database using policy exec_policy; 不能将语句执行审核仅限于查
create audit policy exec_policy categories execute status both error type normal;
audit database using policy exec_policy;
不能将语句执行审核仅限于查询;DML和DDL语句也将被捕获
然后,您将定期将审核记录从日志移动到审核表中:
call audit.update()
并选择以下数据:
select * from audit.execute
你会发现更多的细节
请注意,审核具有一定的性能影响,因为每个审核事件都是同步记录的
显然,您无法回溯时间并捕获已经完成的事件。只有启用审核后发生的事件才会被记录。您要求的通常称为“审核”。您可以在云实例中启用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 * from audit.execute
你会发现更多的细节
请注意,审核具有一定的性能影响,因为每个审核事件都是同步记录的
显然,您无法回溯时间并捕获已经完成的事件。仅记录启用审核后发生的事件。您可以创建或使用现有事件。
包含大量性能指标的完整SQL语句的信息收集在其表中。
您可以为整个数据库、特定WLM对象(工作负载、服务类)甚至特定会话收集此类信息。您可以创建或使用现有的。
包含大量性能指标的完整SQL语句的信息收集在其表中。
您可以为整个数据库、特定WLM对象(工作负载、服务类)甚至特定会话收集此类信息。您运行的是哪个版本/类型的DB2?@MichaelS。我使用的是Type:enterpriseplan-singlenodei如果您只需要很短的时间,如果您的authid具有相关的授权,并且您的工作负载得到了适当的配置,MON_GET_ACTIVITY table函数是否可以帮助您?您正在运行哪种版本/类型的DB2?@MichaelS。我使用的是Type:enterpriseplan-singlenode如果您只在短时间内搜索,如果您的authid具有相关授权,并且您的工作负载得到了适当的配置,MON_GET_ACTIVITY table函数会帮助您吗?