我从V$sql 中可以看到以下语句。UPDATE "TB_REF_HEAT_HISTORY" SET "HEAT_ID"=:V00001,"ITEM_ID"=:V00002,"STRAND_NUMBER"=:V00003,"ID_FIRST_VALUE"=:V00004,"ID_LAST_VALUE"=:V00005 WHERE "HEAT_ID"=:V00006 AND "ITEM_ID"=:V00007 AND "STRAND_NUMBER"=:V00008 AND "ID_FIRST_VALUE"=:V00009 AND "ID_LAST_VALUE"=:V00010 AND "ROWID"=:V00011怎么全是变量,比如:V00001,:V00002之类的?有没有办法知道具体的值呢?
我从V$sql 中可以看到以下语句。UPDATE "TB_REF_HEAT_HISTORY" SET "HEAT_ID"=:V00001,"ITEM_ID"=:V00002,"STRAND_NUMBER"=:V00003,"ID_FIRST_VALUE"=:V00004,"ID_LAST_VALUE"=:V00005 WHERE "HEAT_ID"=:V00006 AND "ITEM_ID"=:V00007 AND "STRAND_NUMBER"=:V00008 AND "ID_FIRST_VALUE"=:V00009 AND "ID_LAST_VALUE"=:V00010 AND "ROWID"=:V00011怎么全是变量,比如:V00001,:V00002之类的?有没有办法知道具体的值呢?
这个怎么用呢?我在开始菜单中没找到logminer
--TRY IT
select user_name,sql_text
from v$open_cursor
where sid in (select sid from
(select sid,serial#
from v$session
where status='ACTIVE'))
能再帮忙看看吗?特别是SQL_TEXT字段的SQL语句,很多都只有半截
V$SQLTEXT 查询的是sga中被共享的sql_text,所以,如果外部传递进来的是变量,你查询出来的也是变量。
v$open_cursor 查询的是当前游标被解析的sql,并且,sql_text的类型,varchar2(60),所以看到半截并且不全。LZ可以尝试性的查询 v$sqlarea或v$sql 这两个视图里的信息比较全。
不过,也都有局限性。好像都是查询打开单个游标的语句,并且,字长1000,如果查询全部,要根据address和hash_value去匹配。
v$sqlarea中存储的是 in memory, parsed, and ready for execution SQL。
首先谢谢,意思是address或hash_value相同的,代表的是一句SQL?