易截截图软件、单文件、免安装、纯绿色、仅160KB

如何抓到jdbc连接的所执行的sql语句

我们通常在定位数据库锁问题时,通常希望找到哪个进程发出了哪个语句,锁住了哪张表,一般我们通过查v$lock,然后找到sid,再到v$sesion里找到这个进程的hash_value或pre_hash_value,然后根据hash_value定位到具体的语句。
可是,我们发现,通过JDBC连接上来的进程,它的hash_value是0,所以我们就无法定位这个进程执行的语句了,不过在oracle 10g之后,在v$session里面多了个sql_id字段,我们可以通过这个字段来查具体语句。在9i及之前的版本就没办法了。开了个oracle服务请求,oracle工程师也没有给出答案。提供一下语句:
10g之后,可以:
col sess format a15;
SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess,
         id1, id2, lmode, request, type,block,ctime
    from V$LOCK
   WHERE (id1, id2, type) IN
             (SELECT id1, id2, type from V$LOCK WHERE request>0)
   ORDER BY id1, request;
  /
 select sql_text from v$sqlarea where sql_id in
(select sql_id from v$session where sid=&1);


相关文档:

浅谈SQL注入 当union遇上ntext数据类型

      在我们进行sql注入的过程中常常会用到union查询方法,大多数情况下使用union查询法可以让我们很快的知道目标的数据组织方式。然而当我们遇到ntext、text或image数据类型时,union查询就不太管用了。以sql server为例,在这种情况下会抛出如下错误:ntext 数据类型不能选为 DISTINCT,因为它 ......

mysql+php无法连接sql(已解决)

搞了很久。。终于发现原来是权限问题。。
2行命令搞定
grant all privileges on rogue.* to admin@localhost identified by 'admin' with grant option
grant all privileges on rogue.* to admin@'%' identified by 'admin' with grant option
经典了。。。
魔力私服网页端搞定咯~~ ......

SQL存储过程

示例
A. 使用带有复杂 SELECT 语句的简单过程
下面的存储过程从四个表的联接中返回所有作者(提供了姓名)、出版的书籍以及出版社。该存储过程不使用任何参数。
USE pubs
IF EXISTS (SELECT name from sysobjects
         WHERE name = 'au_info_all' AND type = 'P')
&nb ......

MySQL5.1内表转到MS SQL,表结构应如何设置?

# MySQL-Front 5.1  (Build 4.2)
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS */ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号