【问题标题】:How to get SQL executed or transaction history on a Table (AS400) DB2 for IBM i如何在表 (AS400) DB2 for IBM i 上获取 SQL 执行或事务历史记录
【发布时间】:2015-04-28 06:38:54
【问题描述】:

我的数据库(AS400-DB2)中有一个问题,在我们的一张表中,所有行都被删除了。我不知道用户执行的是程序还是 SQL。据我所知,它发生在凌晨 3 点左右。我当时确实检查了任何预定的工作。

我们设法从备份中取回数据,但我想调查是什么删除了记录或哪些用户。

在物理表上的 as400 上是否有任何日志来检查在指定表上执行了哪些 SQL 以及何时执行?这将帮助我确定是什么原因造成的。

我尝试检查 I systems navigator 但找不到任何日志...有没有办法使用 i system navigator 或绿屏获取表格上的跨国数据?如果我能得到在时间轴中执行的 SQL。

任何帮助将不胜感激。

【问题讨论】:

  • 可能更适合服务器故障...
  • 最好是参考期刊的表格。不管是 SQL 还是原生 I/O,一切都记录在日志中。如果没有使用日志,系统会认为跟踪并不重要。
  • 感谢您的 cmets.. 我会创建一个期刊

标签: sql db2 ibm-midrange


【解决方案1】:

没有提到时间是如何推断\确定的,但由于缺乏日志记录,我建议一个好的方法是立即收集有关文件和成员的信息; DSPOBJD 用于 *SERVICE 和 *FULL,DSPFD 用于 *ALL、DMPOBJ,甚至可能是目录中表的行的副本 [包括 SYSTABLES 的 ALTEREDTS 列的 LAST_ALTERED_TIMESTAMP 或 QADBXREF 中的基于字段 DBXATS ]。收集这些,几乎只有在任何其他活动之前完成才值得[特别是。在任何恢复活动之前],可以帮助确定事件的时间,并可能暗示事件是什么;大多数时间戳仅反映针对对象的最新活动 [而不是作为历史日志],因此任何恢复活动都可能导致任何反映先前事件\活动的时间戳丢失。

即使没有该文件的日志并且计划缓存中没有任何内容,也可能存在 [尽管不太可能] 活动的 SQL 监视器。 iNav GUI 中的某处也应该可以看到活动监视器。我不确定在之前的时间范围内可能处于活动状态的监视器的可见性。

同样,尽管缺少日志记录,但可能有一些系统级对象或用户审计有效,事件被作为命令字符串或作为对 file.member 的操作进行跟踪;结合推断的时间,可以审查从之前到之后的所有审计记录。

虽然计划的作业中可能没有任何内容,但自那时起的历史日志 (DSPLOG) 可能会显示已结束的作业,或者在此之前 [可能很快] 会显示已开始的作业,这些作业更有可能已经负责任的。根据我的经验,工作的名称通常可能具有指示性;例如,作业的名称作为文件的名称,可能只是由于 PDM 提交了请求。可以查看任何假脱机 [或其他仍然可用的] 作业日志,以便可能参考文件和/或成员名称;可能是 CLRPFM 请求的完成消息。

如果操作可能来自程序,则文件可以记录为引用对象,这样 DSPPGMREF 的输出可能会显示具有引用的程序,并且任何作为 SQL 程序的 [服务] 程序都可以嵌入使用 PRTSQLINF 显示的 SQL 语句;可以审查最后用于这些程序的可能匹配项。注意:模块和程序源也可以搜索,但无法知道它们被编译成什么名称,或者如果只是为了绑定而临时创建它们可能已经绑定了什么。

【讨论】:

    【解决方案2】:

    使用 System i Navigator,展开数据库。右键单击您的系统数据库。选择 SQL 计划缓存 -> 显示语句。从这里,您可以根据各种条件进行过滤。

    【讨论】:

    • 谢谢,但是这里找不到所有执行的sql 好像是暂时存放在SQL Plan Cache这里
    【解决方案3】:

    这不是万无一失的,但通常可以为我节省一些时间。使用 System i Navigator,右键单击表并选择 Index Advisor。如果幸运的话,建议使用一个或多个索引。如果是这样,请按上次建议的日期排序,然后右键单击具有最新日期的索引并选择 Show Statements... 在该对话框中,按日期排序以帮助缩小范围或仅滚动语句以找到您'感兴趣。右键单击它并选择使用 SQL 语句,然后就可以了。

    【讨论】:

      猜你喜欢
      • 2015-06-05
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 2018-09-12
      相关资源
      最近更新 更多