Jdc*_*dcc 4 sap trace rdbms sybase-ase
如果有任何Sybase ASE专家,我想知道是否有办法让Sybase跟踪它收到的所有查询.
我目前有一个程序运行,通常在启动后7小时后开始显示一些奇怪的行为.我想知道Sybase目前正在做什么,以便我可以解决这个问题.
我正在使用Sybase ASE 15.5.由于一些奇怪的原因,我的监控服务器无法启动.
是的,有几种方法可以跟踪 Sybase收到的所有查询.
但是,根据您的问题的第二部分,正如我所理解的那样,您需要(1)了解您的查询正在做什么(2)在其他活动spid的上下文中监视您的活动spid并且...如果这还不够,然后(3)监控服务器; 没有跟踪和所有查询.因此,我将介绍并推迟响应Sybase中可用的跟踪元素.
您与ASE的连接是服务器进程ID或spid.
SET SHOWPLAN ON并将NOEXEC设置为ON,然后执行查询.这将使您能够非常清楚地了解SQL实际上在做什么.这是一个基本要求,每个开发人员都应该熟悉,并且在测试之前需要.只要感觉查询速度很慢,请始终检查正在执行的I/O:SET STATISTICS IO ON.
sp_who的; SP_LOCK; 并观察你的spid滴答,挂起,等待锁定,阻塞,其他spid持有它等等.这是每个开发人员应该一直使用的基本设置.
sp_sysmon监视(整个)服务器.它可以以两种方式使用:作为持续监控工具,例如,获取整整一小时的统计数据,这是服务器配置更改的基础; 并作为快照,例如.在进程运行时以及不运行时抓住服务器的5分钟snapsot,并检查差异.通常,这适用于有经验的DBA,而不是开发人员,您需要sa_role.
这些都在手册中,包括在线和PDF.
七个小时是很长的时间,所以你必须使用光标或类似的,并处理单行而不是集合.检查7小时标记的常规夜间批量作业(转储,更新统计数据,重新排序); 其中一些持有表锁.当然,如果服务器在Windoze上运行,那么从内存泄漏到内部的所有奇怪的事情都是标准的票价; 每周至少弹起盒子.
随着处理负担的顺序,你应该时刻关注您的事务日志和tempdb的使用情况.