当前位置: 代码迷 >> Informix >> Linux 上安装的informix数据库 查看数据操作日志?
  详细解决方案

Linux 上安装的informix数据库 查看数据操作日志?

热度:3246   发布时间:2013-02-26 00:00:00.0
Linux 下安装的informix数据库 查看数据操作日志??
RT。
Linux 下安装的informix数据库 ,怎么查看数据操作日志?
例如一段时间内的所有sql语句?

或者,给个shell,能够实时显示表数据的变化。。

谢谢
------解决方案--------------------------------------------------------
可以通过如下shell 脚本来监控指定数据库当前SQL 情况
act_sql.sh 脚本如下:
#!/bin/csh
echo "-------- BEGIN! -----------"
foreach sid ( `onstat -g sql
------解决方案--------------------------------------------------------
grep -i -v vi
------解决方案--------------------------------------------------------
grep -i $1
------解决方案--------------------------------------------------------
awk '{print $1}'`)
foreach used_flag ( `onstat -g sql $sid
------解决方案--------------------------------------------------------
grep -i $2
------解决方案--------------------------------------------------------
wc -l
------解决方案--------------------------------------------------------
awk '{print $1}'`)
if $used_flag then
echo "onstat -g sql" $sid
onstat -g sql $sid
------解决方案--------------------------------------------------------
grep -i $2
endif
end
end
echo "-------- finish! -----------"
可以利用该脚本来完成如下一些SQL检索功能:
A. 指定表名是否有被访问:act_sql.sh demodb orders
#说明:demodb 为数据库名,orders为搜索表名
B. 列出当前所有正在执行的select (insert,update,delete)操作
act_sql.sh demodb select
act_sql.sh demodb delete
act_sql.sh demodb update
act_sql.sh demodb insert
------解决方案--------------------------------------------------------
引用:
能不能显示一个数据库里所有表的所有操作呢?

或者,不要一下就finish,一直打印可以不?

需要打开数据库审计功能才能做到,平常数据库的日志是不记录SQL操作的
------解决方案--------------------------------------------------------
通常都不记录所有sql操作,但需要的时候可进行实时监控
IDS的审计功能开启对资源耗费较大,而且在生成内容解释方面也不容易