주간 테이블스페이스 증가에 대한 스크립트 받기

주간 테이블스페이스 증가에 대한 스크립트 받기

매주 데이터베이스 테이블스페이스 보고서를 받고 있는데 지난주와 이번주를 비교한 후 보고서를 생성하는 방법을 알고 싶습니다.

다음 샘플 파일을 찾으십시오.

지난 주 보고서:

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

논평:

헤더는 처리하지 않습니다. 이렇게 하려면 한 줄의 코드를 완전한 스크립트로 확장하는 것이 좋습니다. 그러면 출력을 더 쉽게 미세 조정하고 필요에 맞게 더 많은 기능을 추가할 수 있습니다.

관련 정보