IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

系统目录中所需的表统计信息


IBM大型机论坛 -> DB2
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月8日,星期五3:03 pm
引用回复

您好专家,

我需要您的以下帮助。
我需要每天生成一个报告,该报告将具有过去24小时(从午夜到午夜)在DB2表中被插入,更新,删除的行数。

是否有任何系统目录表可以维护有关每天针对特定表执行的上述操作的信息?

我不需要自上次重组以来的总体统计信息,但希望每天提供最近24小时的统计信息。我需要为20个以上的表生成相同的内容。请提出建议。

谢谢 ,
阿马尔吉特
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月8日星期五4:34 pm
引用回复

-sysibm.systablespacestats中的数据是自上次reorg / runstats起的数字。您可能必须记住自上次运行以来的那些数字,然后计算差值。
-也许某些日志分析器工具可能会产生这种结果。
-在表上定义的触发器是一个(昂贵的)选项。
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月8日,星期五7:16 pm
引用回复

盖伊 写道:
-sysibm.systablespacestats中的数据是自上次reorg / runstats起的数字。您可能必须记住自上次运行以来的那些数字,然后计算差值。
-也许某些日志分析器工具可能会产生这种结果。
-在表上定义的触发器是一个(昂贵的)选项。


你好,盖伊,

感谢你的快速回复。
我确实尝试从SYSIBM.SYSTABLESPACESTATS表中获取数据。

STATSINSERTS,STATSUPDATES和STATSDELETES列包含
计数。但是计数是针对整个数据库的,而不是针对特定表的。所需的表映射到不同的数据库,并且单个数据库包含多个表。

是否有任何目录表可以提供表的特定统计信息?
请提出建议。谢谢。
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月8日,星期五7:31 pm
引用回复

systablespacestats是每个database.tablespace。
如果您遵循“最佳实践”,则每个表空间应仅包含1个表,因此数字与1个表相关。
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月8日,星期五8:45 pm
引用回复

盖伊 写道:
systablespacestats是每个database.tablespace。
如果您遵循“最佳实践”,则每个表空间应仅包含1个表,因此数字与1个表相关。


非常感谢先生。我知道了。问候
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月8日,星期五8:53 pm
引用回复

别客气
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月15日,星期五,下午5:22
引用回复

你好,盖伊,

再次有疑问...
我运行了以下查询:

SELECT NAME,COUNT(NAME)作为COUNT,SUM(STATSINSERTS)作为INSERT,SUM(STATSDELETES)作为DELETE,SUM(STATSUPDATES)作为SYSIBM.SYSTABLESPACESTATS的更新名称
('TS1','TS2','TS3',...'TS15')按UR分组的名称:

当我从昨天的结果中扣除昨天的结果之前的一天时,我对某些表空间的计数为负。请检查以下内容:

NAMECOUNTINSERTDELETEUPDATE
TS116 2 0 21551
TS21 0 0 0
TS316 556 0 8216
TS4271 120039 0 6375602
TS5270-1534487 0 -1356191
TS6340 868836 0 3424005
TS7270 216277 0 0
TS8340 1927304 0 0
TS916 7566 1457 35183
TS10270-4619517-6215989-13660807
TS11270 -201650 -980518 0

TS1216 71259 0 0
TS1316 223571 0
TS14270 270100 0 51656
TS1516 18 0 17

同样,当我从今天的SUBSTRACT昨天的结果时,
再次我对某些表空间负计数。请检查以下内容:

NAMECOUNTINSERTDELETEUPDATE
TS1161014733
TS21000
TS31647008668
TS42712670004635251
TS52704095330375481
TS63404068702690323
TS727023776100
TS8340132998800
TS9165882687629258
TS102707411997636162082946
TS11270-111410-1091040

TS12165484700
TS1316441109080
TS14270149010011834
TS151614013

多行显示表空间具有多个分区。所以我选择所有分区的总和,并与前一天的结果进行比较。
请建议如何处理-ve count,因为我想每天我们应该以递增顺序进行计数。

谢谢。
阿马尔吉特
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月15日,星期五,下午5:58
引用回复

数字是自上次RUNSTATS起的数字。
因此,当runstats运行时,数字将重置为零。
您可以在STATSLASTTIME列中进行检查。
如果与昨天的STATSLASTTIME不同,那么您的号码将被重设。
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月15日,星期五,下午6:38
引用回复

盖伊 写道:
数字是自上次RUNSTATS起的数字。
因此,当runstats运行时,数字将重置为零。
您可以在STATSLASTTIME列中进行检查。
如果与昨天的STATSLASTTIME不同,那么您的号码将被重设。


您好,
是的,在某些方面,我们在STATSLASTTIME中具有最近的时间戳,而在相同的表空间中其余部分具有更旧的时间戳。
所以我需要进一步比较表空间内每个分区的时间戳,以得出结果。

如果STATSLASTTIME是昨天的,那么我需要按原样计算。

如果STATSLASTTIME比昨天晚,那么我需要计算与昨天的差额。

最后,需要对所有分区的结果求和,以获得一个表空间的总数。最后,可以从该值中减去该表空间的昨天结果计数,以获取一天所需的计数。

对于上述方法,是否有任何地方可以唯一标识表空间的每个部分的行?

如果我错过了什么请改正。

谢谢,
阿马尔吉特
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月15日,星期五,下午6:51
引用回复

也许名为“ PARTITION”的列?我不知道,这只是一个疯狂的猜测[/ sarcasm]

像这样的东西:
码:
选择A.DBNAME
     , A.NAME
     sum(如果a.statslasttime = b.statslasttime的情况,则a.statsinsert-b.statsinsert否则a.statsinsert结束)
从"SYSIBM".SYSTABLESPACESTATS A
加入我的历史记录表(A.DBNAME = b.dbname) and (a.name   = b.name) and (a。分区= b。分区)
哪里...
group by a.dbname, 一个名字
 



而且您必须了解,上次运行与runstats之间的所有插入/更新都将永远丢失。
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月15日,星期五,下午7:05
引用回复

盖伊 写道:
也许名为“ PARTITION”的列?我不知道,这只是一个疯狂的猜测[/ sarcasm]

像这样的东西:
码:
选择A.DBNAME
     , A.NAME
     sum(如果a.statslasttime = b.statslasttime的情况,则a.statsinsert-b.statsinsert否则a.statsinsert结束)
从"SYSIBM".SYSTABLESPACESTATS A
加入我的历史记录表(A.DBNAME = b.dbname) and (a.name   = b.name) and (a。分区= b。分区)
哪里...
group by a.dbname, 一个名字
 



而且您必须了解,上次运行与runstats之间的所有插入/更新都将永远丢失。





所以没有解决方案,因为您正确提到
“上次运行与runstats之间的所有插入/更新都将永远丢失” ...

谢谢,
阿马尔吉特
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月15日,星期五7:08 pm
引用回复

仅当您修改runstats-jobs以某种方式存储这些数字时,才在runstats之前
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月15日,星期五7:14 pm
引用回复

盖伊 写道:
仅当您修改runstats-jobs以某种方式存储这些数字时,才在runstats之前


您好,

让我看看我是否可以做到这一点,尽管我对此表示怀疑。
该PARTITION列不属于表 icon_smile.gif

无论如何,非常感谢您清除了此日志表上的许多疑问。

-amarjit
回到顶部
查看用户资料 发送私信
盖伊

高级会员


已加入:2009年8月11日
帖子:1281
地点:比利时

 发布 发表:2013年3月15日,星期五,下午8:02
引用回复

第28栏:分区
引用:
分区SMALLINT不为NULL
表空间内的数据集编号。此列用于将表空间中的数据集编号映射到其统计信息。对于分区表空间,此值对应于单个分区的分区号。对于未分区的表空间,此值为0。

pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_sysibmsystablespacestatstable.htm
pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_sysibmsystablespacestatstable.htm
回到顶部
查看用户资料 发送私信
阿玛吉特·辛格

新的用户


已加入:2013年3月8日
帖子:30
地点:印度

 发布 发表:2013年3月15日,星期五8:55 pm
引用回复

盖伊 写道:
第28栏:分区
引用:
分区SMALLINT不为NULL
表空间内的数据集编号。此列用于将表空间中的数据集编号映射到其统计信息。对于分区表空间,此值对应于单个分区的分区号。对于未分区的表空间,此值为0。

pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_sysibmsystablespacestatstable.htm
pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_sysibmsystablespacestatstable.htm


我的错...我错过了
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DB2

 


类似主题
话题 论坛 回覆
没有新帖 寻找大型机系统程序员 大型机工作 0
没有新帖 需要从表格读取重复的行... DB2 3
该主题已锁定:您无法编辑帖子或回复。 Control-M信息。 清单和REXX 1
没有新帖 如何在...中读取会计信息 COBOL程式设计 1
没有新帖 恢复VSAM时DFDSS消息ADR485E ... JCL和VSAM 5
搜索我们的论坛:


回到顶部