的onstat -g sql和-g ses将给予您在会议和完整的语句+主机变量分析当前和最后一条语句(以当前的语句).
如果你有快速的语句运行,肯定你会错过很多.
这是一个例子:
$ onstat -g sql 170
IBM Informix Dynamic Server Version 11.70.FC6 -- On-Line -- Up 13:39:50 -- 529332 Kbytes
Sess SQL Current Iso Lock SQL ISAM F.E.
Id Stmt type Database Lvl Mode ERR ERR Vers Explain
170 SELECT sysmaster CR Not Wait 0 0 9.24 Off
Current statement name : slctcur
Current SQL statement (3) :
select t.tabname, c.colno, c.colname from systables t, syscolumns c
where t.tabid = c.tabid order by 1,2
Last parsed SQL statement :
select t.tabname, c.colno, c.colname from systables t, syscolumns c
where t.tabid = c.tabid order by 1,2
Run Code Online (Sandbox Code Playgroud)
如果要获取所有语句的历史记录,可用的最佳方法是使用"SQL TRACE"资源.哪个版本仅在版本11之后可用.
此跟踪使您可以将在instance/database/user/session中执行的所有语句保存到旋转缓冲区中(当它们填充时,开始覆盖它自己).
您可以使用命令onstat -g his或查询表来查看此跟踪sysmaster:syssqltrace.
以下是SQL TRACE的IBM手册参考
只是分享,这是我的"swissknife",以启用和跟踪某人...我只是更改一些参数,评论/取消我需要的东西,并使用informix执行.之后我开始用onstat/choose监视缓冲区......
select sysadmin:task('set sql tracing off') as sql from sysmaster:sysdual
union all select sysadmin:task("set sql user tracing off") from sysmaster:sysdual -- USER mode
union all select sysadmin:task("set sql user tracing clear") from sysmaster:sysdual -- USER mode
union all select sysadmin:task('set sql tracing user clear') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing database clear') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing session', 'clear') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing info') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing database list') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing user list') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing session list') from sysmaster:sysdual
--union all select sysadmin:task('set sql tracing database add','testdb') from sysmaster:sysdual
union all select sysadmin:task('set sql tracing user add','aviana') from sysmaster:sysdual
--union all select sysadmin:task('set sql tracing session','on', sid) from sysmaster:syssessions where username = 'cinacio' and (sid in (0) or pid in (0))
--union all select sysadmin:task('set sql user tracing on ', sid) from sysmaster:syssessions where username = 'cinacio' and (sid in (0) or pid in (0))
--union all select sysadmin:task('set sql user tracing on ', 354851) from sysmaster:sysdual
union all select sysadmin:task('set sql tracing on',150000,'4000b','high','user') from sysmaster:sysdual
;
Run Code Online (Sandbox Code Playgroud)
还有其他选项可以即兴创作:
set explain(informix特定声明).set explain on;语句)或使用命令激活onmode -Y <options>.从这个IIUG线程引用艺术:http://www.iiug.org/forums/ids/index.cgi/read/35708
SQL Power Tools - 来自SQL Power Tools,Inc, - http://www.sqlpower.com/ - 可以捕获100%通过TCP/IP发出的查询,然后加载到存储库(当前是SQL Server,但它们正在使用Informix存储库),GUI查看器可以从中显示,操作和报告.显示不是实时的,因为数据是以查询块的形式捕获到平面文件中并定期批量加载到存储库中.在服务器上使用网络嗅探器实用程序或对服务器本身几乎没有影响的单独盒子进行捕获.
iWatch - 来自Exact-Solutions,Inc. - www.exact-solutions.com - 可以捕获100%通过TCP/IP发出的查询,然后加载到专有存储库中.可以显示实时捕获.在服务器上使用网络嗅探器实用程序或对服务器影响非常小的嗅探器设备(对于非常高的事务率系统).
| 归档时间: |
|
| 查看次数: |
12898 次 |
| 最近记录: |