获取每周表空间增长的脚本

获取每周表空间增长的脚本

我们每周都会得到数据库表空间报告,我只想知道如何在比较上周和本周后生成报告。

请找到以下示例文件。

上周报告:

Tab                          Page             Num     Total      Used     Free  Percent
 Id TableSpace Name   Type   Size     State   Cont    Pages     Pages     Pages    Used
--- ---------------   ----   -----  --------  ----  ------- --------- --------- -------
  0 SYSCATSPACE        SMS   4096     0x0000    1     96511         -         -       -
  1 SYSTOOLSPACE       SMS   4096     0x0000    1       257         -         -       -
  2 USERSPACE1         SMS   4096     0x0000    8  36419005         -         -       -
  3 TSD03              DMS   4096     0x0000    6   7614640   5632000   1980928   73.96
  4 TSI03              DMS   4096     0x0000    5   5999664   5607680    389888   93.46
  5 TSD02              DMS   4096     0x0000    3   2266080   2155264    109568   95.10
  6 TSI02              DMS   4096     0x0000    3   2555904   2396928    158592   93.78
  7 TS08               DMS   4096     0x0000    6  44703680  37979328   6724160   84.95
  8 TS10               DMS   4096     0x0000    1   3248576   1375872   1872672   42.35
  9 TSD04              DMS   4096     0x0000    4    163840    151738     12094   92.61
 10 TSI04              DMS   4096     0x0000    2     67584     28960     38620   42.85
 11 TSD05              DMS   4096     0x0000    3   1572864   1448960    123136   92.12
 12 TSI05              DMS   4096     0x0000    3   1310720    963328    346624   73.49

本周报告:

Tab                          Page             Num     Total      Used     Free  Percent
 Id TableSpace Name   Type   Size     State   Cont    Pages     Pages     Pages    Used
--- ---------------   ----   -----  --------  ----  ------- --------- --------- -------
  0 SYSCATSPACE        SMS   4096     0x0000    1     96511         -         -       -
  1 SYSTOOLSPACE       SMS   4096     0x0000    1       257         -         -       -
  2 USERSPACE1         SMS   4096     0x0000    8  36342895         -         -       -
  3 TSD03              DMS   4096     0x0000    6   7614640   5620224   1992704   73.80
  4 TSI03              DMS   4096     0x0000    5   5999664   5592320    405248   93.21
  5 TSD02              DMS   4096     0x0000    3   2266080   2150912    113920   94.91
  6 TSI02              DMS   4096     0x0000    3   2555904   2393472    162048   93.64
  7 TS08               DMS   4096     0x0000    6  44703680  37881632   6821856   84.73
  8 TS10               DMS   4096     0x0000    1   3248576   1367008   1881536   42.08
  9 TSD04              DMS   4096     0x0000    4    163840    151362     12470   92.38
 10 TSI04              DMS   4096     0x0000    2     67584     28886     38694   42.74
 11 TSD05              DMS   4096     0x0000    3   1572864   1448704    123392   92.10
 12 TSI05              DMS   4096     0x0000    3   1310720    963072    346880   73.47

所需的报告(仅标题):

Tab                          Page             Num     Total      Used     Free  Last_weekPercent  New_week Percent   Difference (or) Growth
 Id TableSpace Name   Type   Size     State   Cont    Pages     Pages     Pages    Used            Used

答案1

快速解决方案:

perl -lane '1..eof?$p[$F[0]]=$F[9]:print$_,sprintf("%8s%8.2f",$p[$F[0]],$F[9]-$p[$F[0]])' this_weeks_report last_weeks_report

输出:

Tab                          Page             Num     Total      Used     Free  Percent       -    0.00
 Id TableSpace Name   Type   Size     State   Cont    Pages     Pages     Pages    Used       -    0.00
--- ---------------   ----   -----  --------  ----  ------- --------- --------- -------       -    0.00
  0 SYSCATSPACE        SMS   4096     0x0000    1     96511         -         -       -       -    0.00
  1 SYSTOOLSPACE       SMS   4096     0x0000    1       257         -         -       -       -    0.00
  2 USERSPACE1         SMS   4096     0x0000    8  36342895         -         -       -       -    0.00
  3 TSD03              DMS   4096     0x0000    6   7614640   5620224   1992704   73.80   73.96   -0.16
  4 TSI03              DMS   4096     0x0000    5   5999664   5592320    405248   93.21   93.46   -0.25
  5 TSD02              DMS   4096     0x0000    3   2266080   2150912    113920   94.91   95.10   -0.19
  6 TSI02              DMS   4096     0x0000    3   2555904   2393472    162048   93.64   93.78   -0.14
  7 TS08               DMS   4096     0x0000    6  44703680  37881632   6821856   84.73   84.95   -0.22
  8 TS10               DMS   4096     0x0000    1   3248576   1367008   1881536   42.08   42.35   -0.27
  9 TSD04              DMS   4096     0x0000    4    163840    151362     12470   92.38   92.61   -0.23
 10 TSI04              DMS   4096     0x0000    2     67584     28886     38694   42.74   42.85   -0.11
 11 TSD05              DMS   4096     0x0000    3   1572864   1448704    123392   92.10   92.12   -0.02
 12 TSI05              DMS   4096     0x0000    3   1310720    963072    346880   73.47   73.49   -0.02

评论:

这不处理标题。为此,您最好将一行代码扩展为一个完整的脚本,您可以在其中更轻松地微调输出并添加更多功能以满足您的需求。

相关内容