ITPub博客

首页 > 自动化运维 > 大规模网络运维 > [20201002]Tcpdumpsql.txt

[20201002]Tcpdumpsql.txt

原创 大规模网络运维 作者:lfree 时间:2020-01-02 10:02:29 1 删除 编辑

[20201002]Tcpdumpsql.txt

--//一网友需要跟踪sql语句脚本,我以前写过一个(实际上改别人的代码):

# vi  /usr/local/bin/Tcpdumpsql
#! /bin/bash
/usr/sbin/tcpdump  -l -i eth0 -s 0 -A -nn src host $1 and dst port 1521 2>/dev/null |  tee -a /tmp/aa1 |sed -u -e  "s/^M/!/g;s/^E\.\..\{1,100\}//;s/\.*$//;s/^\.*//" | \
awk '{if (tolower($0) ~ "select" || tolower($0) ~ "update" ||  tolower($0) ~ "delete" ||tolower($0) ~ "alter" || tolower($0) ~ "insert" || $0 ~ "ORA-" ) {p=1;print} \
else if(p == 1 && $0 !~ "^[0-9][0-9]:") {print} else if ($0 ~ "^[0-9][0-9]:") {p=0}}'

--//简单说明一下:
--//-i eth0 可以根据需要接口名.可以通过ifconfig -a.tcpdump -D确定.
--//我已经不记得这个软件的出处,要我写真心写不出来,我自己甚至读不懂代码.^_^
--//我仅仅记得我修改许多地方,仅仅抓取select,update,insert,delete的语句.如果with开头的语句可能抓取不对.
--//^M表示0x0d.使用vim在windows下要使用ctrl+q ctrl+M输入.在linux下要使用ctrl+v ctrl+m输入.也就是copy and paste源代码后,
--//要自己修改^M为对应字符.

--//实际上toad自带一个SQL Tracker,使用它更加简单.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2671563/ ,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969378