首页 > 数据库 > Oracle > [20210803]如何验证.txt
[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博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2784934/ ,如需转载,请注明出处,否则将追究法律责任。