目的,想知道,我的中间件向后台发送了那些sql语句。通过,v$session 发现 所有的username,osuser相同,terminal,program 为空,
通过logon_time 不容易锁定,因为在同一时间可能有很多用户访问 。请朋友们,帮忙,推荐个解决方案 .
解决方案 »
- 行级触发器和语句触发器
- 关于group by按某种格式显示
- Oracle pro*c windows下编译生成的问题。。高手请进喽。。
- 请教: 如何在Oracle服务器上监视当前服务器运行了哪些SQL语句。高分送
- 关于打开oracle数据库的问题
- 检测行记录是否存在
- exp导出时遇到不能识别的字符集错误,高手请进
- select into 语句中能否用子查询?
- oracle中系统表有哪些?
- 请问:在Oracle的SQLPlus Worksheet中,执行某个函数或存储过程的语句应该怎么写?
- 求助!!!关于ORA-24338:未执行语句句柄
- ubuntu instrall oracle11g error
具体的不记得了。
对于数据库来讲,他只知道这个请求是从哪个IP的客户端(机器名),哪个用户oracle用户发出的。
这样的话当然是同一个值。
我建议你在中间件向数据库发出请求之前留下log,这样便于管理和分析。
然后关联 v$sql 和 v$sqlarea就可以取
中间件,是成品 。
如果,可以配置log 我就不用去数据库找sql啦。
希望对你有帮助。@d:\oracle\ora92\rdbms\admin\prvtutil.plb
CREATE public SYNONYM DBMS_SYSTEM FOR SYS.DBMS_SYSTEM;
GRANT EXECUTE ON DBMS_SYSTEM TO public;
select sid,serial#,program... from v$session; 察看session情况
execute dbms_system.set_sql_trace_in_session ( SID, serial#, TRUE);针对某个SID打开sql_trace
或者ALTER SESSION SET SQL_TRACE TRUE 设定自己的sql_trace
当结束了SQL_trace以后,在udump目录下会出现一个*.trc文件,
可以使用tkprof 文件名.trc 想要解析成的目标文件名
然后打开可以查看SQL的执行计划
from v$session t1,v$sqltext t2
where t1.sql_address = t2.address