从客户端 跟踪SQL到oracle。。

本文介绍了一种从客户端跟踪SQL到Oracle数据库的方法。通过使用Oracle提供的动态视图如v$transaction、v$session等,结合操作系统命令如netstat和任务管理工具,可以定位到具体的SQL语句及其执行状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

col table_name format ax;

从客户端 跟踪SQL到oracle。。

首先准备以下工具

Oracle client:sqlplus

Oracle server: 10g

OS command:netstat

Oracle dynamic Views:

v$transaction;

v$session;

v$sql;

v$process;

 

SQL> select addr,ses_addr from v$transaction;

ADDR         SES_ADDR
--------        --------
BD72B664  BF4E77E4

SQL> select saddr,sid,paddr,prev_sql_addr,username,status from v$session where saddr = 'BF4E77E4';

SADDR           SID         PADDR    PREV_SQL      USERNAME             STATUS
--------          ----------   --------      --------          -------------------- ----------------
BF4E77E4        144    BF31BCF4  B623C21C         ZYJG                 INACTIVE

 

SQL> select addr,spid from v$process where addr = 'BF31BCF4';

ADDR         SPID
--------       ------------------------------------------------

BF31BCF4  4172

 

接下来就查看和SPID相同的进程号

DOS下:C:/Users/Administrator>tasklist /fi "PID eq 4172"

linux下:ps -ef | grep 4172

             netstat -anp | more  然后找pid为4172的进程。

就可以查看到对应的进程。

 

SQL> select sql_text,address from v$sql where address = 'B623C21C';

SQL_TEXT                                                                     ADDRESS
-------------------------------------------------------------     ---------------------------
insert into john_test values (3,'222')                         B623C21C

 

参考图片:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值