ITPub博客

首页 > 数据库 > Oracle > [20210803]如何验证.txt

[20210803]如何验证.txt

原创 Oracle 作者:lfree 时间:2021-08-03 11:39:24 0 删除 编辑

[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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7971267