[20210803]如何驗證.txt

lfree發表於2021-08-03

[20210803]如何驗證.txt

--//http://blog.itpub.net/267265/viewspace-2784877/=>[20210803]使用那個shared pool latch(補充).txt
--//我當時的測試是透過產生許多檔案驗證是否正確,嘗試是否可以透過指令碼完成,學習bash shell程式設計.

# egrep "HEAP DUMP|KGLH0\^|SQLA\^" /u01/app/oracle/diag/rdbms/ywdb/ywdb1/trace/ywdb1_ora_3733_0002.trc >| aa.txt
# egrep "HEAP DUMP|ds=0x" aa.txt >| bb.txt

--//複製bb.txt 到測試環境驗證.

$ cat c1.sh
#! /bin/bash
sed -n '/HEAP DUMP heap name="sga heap(1/,/HEAP DUMP heap name="sga heap(2/p' bb.txt | grep -v "HEAP DUMP" | sed '1,$s/^.*\^//;1,$s/\".*$//' | tr 'a-z' 'A-Z' | tr -d " " | sort | uniq | xargs -IQ echo Q % 20000 % 7 +1 | sed  '1iibase=16' | bc -q | uniq -c

--//太長了,修改如下:
$ cat c1.sh
#! /bin/bash
sed -n "/sga heap($1/,/sga heap($2/p" bb.txt | grep -v "HEAP DUMP" | sed '1,$s/^.*\^//;1,$s/\".*$//' | tr 'a-z' 'A-Z' | tr -d " " | sort | uniq | xargs -IQ echo Q % 20000 % 7 +1 | sed  '1iibase=16' | bc -q | uniq -c

$ chmod 750 c1.sh

$ paste -d" " <(seq 7) <(seq 2 1 8) | xargs -IQ echo ./c1.sh Q | bash
   1877 1
   1854 2
   1694 3
   1845 4
   2002 5
   1635 6
   1654 7

--//OK,完全正確.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2784934/,如需轉載,請註明出處,否則將追究法律責任。

相關文章