【问题标题】:DB2 tablespace state last changetimeDB2 表空间状态上次更改时间
【发布时间】:2017-10-13 14:26:56
【问题描述】:

是否有任何 db2 命令或 SQL 查询会显示上次将表空间更改为当前状态的时间?

【问题讨论】:

  • 看看这是否有帮助...不确定...stackoverflow.com/questions/26122543/…
  • 哪个 Db2 版本/平台?
  • 改变什么——空间中的数据还是空间定义?
  • 表空间也可以分区,所以我不确定这个问题是否可以回答。
  • 相当肯定你必须查看文件系统

标签: sql db2 tablespace


【解决方案1】:

如果您对跟踪 DB2 LUW 中表(任何表,但在您的情况下是表空间系统表的状态字段)中的字段何时更改感兴趣,您可以使用 CCD 复制来完成此操作。这将创建一个表,其中包含对表的所有更改的行级审计。

详情:https://www.ibm.com/support/knowledgecenter/en/SSTRGZ_11.4.0/com.ibm.swg.im.iis.repl.qrepl.doc/topics/iiyrqsubcccdtgts.html


另一种选择是向表中添加触发器,以使用您需要的时间戳数据更新外部表。


如果您有兴趣从 shell 跟踪 LUW 中的表空间何时发生任何变化,您可以使用

db2look -d <dbname> -l

查找表空间详细信息。寻找类似的行

USING (FILE '<file and path>' ...

然后您可以查看该位置的文件系统,了解上次更改的时间。

【讨论】:

  • 好吧,你也可以在 Windows 上这样做,但文件修改时间戳与表空间 state 完全不相关。
  • @mustaccio -- 我明白你的意思,我认为状态不是用来指代特定字段,而是指文件的状态。尽管有人反对这可能对 OP 有帮助,但我会留下答案。
  • 不,不是。 表空间状态 具有特定含义,您的答案似乎没有解决它。和复制?
  • @mustaccio -- 是的,状态是表空间系统元表中的一个字段。如果您在该表上进行 CCD 复制,那么当字段更改时,您将对时间戳进行审计。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-18
  • 1970-01-01
  • 2012-01-15
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多