当前位置:首页 » 编程语言 » 如何跟踪信用系统执行sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何跟踪信用系统执行sql

发布时间: 2022-06-28 17:16:49

❶ 如何跟踪sql SERVER 正在执行的语句

打开Microsoft SQL Server Management Studio , 在菜单栏有个工具(Tool), 里面有个事件追踪(SQL Server Profiler)。
打开sql server profiler, 连接数据库。弹出Trace Properties(跟踪属性), 选择事件(Events Selection),右下角选择Show All Columns(选择所有列), 点击列过滤(Columns Filters)按钮。在里面就有HostName 设置电脑的主机名.

❷ MySQL 如何追踪sql语句的执行

不知你是不是指这个:
用惯了微软的ms sql的事件探查器,一直也想在mysql中找到相应的这么一种工具:

修改my.cnf,在mysqld下添加log一行,
[mysqld]
log = /tmp/mysqld.sql
然后,重新启动mysql,tail -f /tmp/mysqld.sql,就可以实时看到myql服务器当前正在执行的语句了。

文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/20071129/89017.html

❸ oracle怎样开启sql跟踪

一.在系统级别上设置sql跟踪
该方法优点:可以跟踪所有的oracle的后台进程所执行的sql,包括系统后台进程和用户进程,并且可以跟踪所有的操作
缺点:跟踪所有的后台进程,跟踪信息量比较大
1.在sqlplus中以sys/ as sysdba身份登陆到数据库。
2.打开跟踪,在sqlplus中输入alter sysetem set events '10046 trace name context forever,level &level';
(其中&level可以输入1,4,8,12三个级别,不同的级别含有不同级别的信息)
3.然后到ArcMap或ArcCatalog中进行你想跟踪的操作
4.关闭跟踪,在sqlplus中输入alter systemm set events '10046 trace name context off';
5.查找你所跟踪的session的ID
A 修改时间格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.对使用sde服务的输入:select sid,logon_time from v$session where username=&username and program='gsrvr.exe';
C.对直连这种方式输入:select sid,logon_time from v$session where username=&username and program='ArcCatalog';
select sid,logon_time from v$session where username=&username and program='ArcMap';
(其中&username是程序登陆到数据库的用户名,如果返回多个结果,在根据登陆的时间确定具体的sid值)
6.执行以下的sql语句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = &SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_mp_dest') d
在输入sid后,即得到后台的跟踪文件。

二. 在session级别上设置跟踪
该方法只适用于跟踪登陆数据后所进行的一系列的操作,比如跟踪在ArcCatalog中创建一个Dataset,FeatureClass等的操作
1.在sqlplus中以sys / as sysdba身份登陆到数据库
2.查找你所要跟踪的session的sid和serial#
A 修改时间格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.对使用sde服务的输入:select sid,serial#,logon_time from v$session where username=&username and program='gsrvr.exe';
C.对直连这种方式输入:select sid,serial#,logon_time from v$session where username=&username and program='ArcCatalog';
select sid,serial#,logon_time from v$session where username=&username and program='ArcMap';
(其中&username是程序登陆到数据库的用户名,如果返回多个结果,在根据登陆的时间确定具体的sid和serial#的值)
3.开始跟踪,输入exec dbms_support.start_trace_in_session(&sid,&serial#,true,true).(如果系统没有安装dbms_support包,可以执行$ORACLE_HOME\rdbms\admin\dbmssupp.sql进行安装)
4.然后到ArcMap或ArcCatalog中进行你想跟踪的操作
5.结束跟踪exec dbms_support.stop_trace_in_session(&sid,&serial#);
6.执行以下的sql语句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = &SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_mp_dest') d
在输入sid后,即得到后台的跟踪文件。

三. 在Aix系统下跟踪消耗内存的session的办法
1.在Aix系统上执行export TERM=vt100
2.执行topas命令,确定最占cpu资源的process的进程号
3,然后利用select a.sid,b.serial# from v$session a,v$process b where a.paddr=b.addr and b.spid=&spid;
4.确定sid和serial#后利用二方法进行跟踪。

❹ 如何跟踪一个WEB应用程序后台执行SQL语句

用以下的sql可以查询出当前session中正在运行的sql信息:
SELECT S.MODULE, SQL_TEXT, SN.OSUSER, SN.MACHINE, S.EXECUTIONS
FROM SYS.V_$SQL S, SYS.ALL_USERS U, V$SESSION SN
WHERE S.PARSING_USER_ID = U.USER_ID
AND UPPER(U.USERNAME) IN ('USERNAME')
AND (UPPER(S.MODULE) = 'APP.EXE')
AND SN.sql_hash_value = S.hash_value
AND SN.sql_address = S.address
ORDER BY S.LAST_LOAD_TIME

❺ Oracle 数据库如何跟踪SQL语句

没用,只想从后台数据库看对这个数据库执行的sql问题补充:unika_ly12 写道 那你直接查询 v$sqltext 和 v$session 好了 首先,你要以dba身份登陆数据库。 第二,为某个用户开启sql跟踪。那个用户就是你要跟踪的、正在执行sql语句的那个用户。命令如下: execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 其中参数的意义是,sid-会话id,serial#-序列号,这两个参数可以从v$session中得到。 第三,上面的命令执行成功之后数据库就自动对该用户所发出的所有sql语句进行跟踪,并把结果写在用户跟踪文件里。用户跟踪文件存放在数据库服务器上,路径请参考init.ora文件中的ump参数值。文件名为ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系统进程编号,这个编号可以从v$process和v$session两个表通过关联的方式查询得到。当然你也可以简单的查看一下哪个trc文件的日期最新,哪个文件就是你要的结果了。 首先,你要以dba身份登陆数据库。 第二,为某个用户开启sql跟踪。那个用户就是你要跟踪的、正在执行sql语句的那个用户。命令如下: execute dbms_system.set_sql_trace_in_session(sid,serial#,true) 其中参数的意义是,sid-会话id,serial#-序列号,这两个参数可以从v$session中得到。 第三,上面的命令执行成功之后数据库就自动对该用户所发出的所有sql语句进行跟踪,并把结果写在用户跟踪文件里。用户跟踪文件存放在数据库服务器上,路径请参考init.ora文件中的ump参数值。文件名为ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系统进程编号,这个编号可以从v$process和v$session两个表通过关联的方式查询得到。当然你也可以简单的查看一下哪个trc文件的日期最新,哪个文件就是你要的结果了。

❻ 如何通过跟踪客户端程序发出的sql的方法来优化SQL

1. 识别要跟踪的客户端程序到数据库的连接(后面都用session代替),主要找出能唯一识别一个session的sid与serial#。
2. 设定相应的参数,如打开时间开关(可以知道一个sql执行了多长时间),存放跟踪数据的文件的位置、最大值。
3. 启动跟踪功能。
4. 让系统运行一段时间,以便可以收集到跟踪数据。
5. 关闭跟踪功能。
6. 格式化跟踪数据,得到我们易于理解的跟踪结果。
http://blog.csdn.net/yu422560654/article/details/44121027

❼ 如何跟踪mysql执行的sql语句

其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可。

开启mysql的日志log方法:

windows环境下的配置方法:

我使用的版本:Version: 5.0.37-community-nt-log (MySQL Community Edition (GPL))
找到my.ini,我的是在“G:\Program Files (x86)\MySQL\MySQL Server 5.0”目录下,
找到[mysqld],在下面添加:

log=存放日志的路径/my.log

❽ SQL2008如何跟踪某台电脑的执行语句

1、选择要操作的数据库。

❾ 怎么跟踪应用程序执行的SQL语句

---跟踪
开始--程序--MS SQLSERVER
--事件探察器(SQL Profiler)
--文件
--新建--跟踪...
--设置要跟踪的服务器的信息(连接服务器)--确定
--设置跟踪的项目...
--然后数据库的调用情况就会显示出来

在跟踪项目设置中,如果不熟悉的话,一般用默认设置
筛选项目有几个可以注意一下:

1.DatabaseName 同于你要检测的数据库名
2.Error 同于错误,如果经常出现某个编号的错误,则针对此错误号
3.Seccess 同于0,失败,1,成功,如果是排错,就过滤掉成功的处理