这几天我查了大量资料发现有三种解决方法1. 设置Oracle的init.ora中设置oracle_trace_enable = true然后....后面知道给我讲讲,我看不懂
2. 有些资料中说用select * from v$sqlText 可以取出执行过的SQL但我看了,都是....#$^@&*%$@ 看不懂的SQL语句,怎么样处理才能得到正常的SQL语句呢?3. 还有人说用Sniffer Pro (一个网管用的网络数据包分析工具)用这个来截获应用程序向Oracle发送的SQL(不会吧....)有知道的吗,指点一下?必有重谢哦 hehe^^
2. 有些资料中说用select * from v$sqlText 可以取出执行过的SQL但我看了,都是....#$^@&*%$@ 看不懂的SQL语句,怎么样处理才能得到正常的SQL语句呢?3. 还有人说用Sniffer Pro (一个网管用的网络数据包分析工具)用这个来截获应用程序向Oracle发送的SQL(不会吧....)有知道的吗,指点一下?必有重谢哦 hehe^^
解决方案 »
- 求oralce问题,出现指定项与恢复目录中的任何归档日志均不匹配
- 先把表建好了,再用Hibernate映射。主键手动添加该怎么映射。
- 一个sql语句的优化问题
- update max value
- 那里有oracle817 for linux or for unixware 下载
- 求助达人,redhat 9 下oracle91,如何创建数据库实例(50分
- 大家有读过ITPUB刚出的《Oracle数据库性能优化》?
- spatial 对象问题
- sql server图片字段迁移到oracle无法使用~~高手救火
- 如何让一个函数返回一个记录集中的一个字段的串,具体如下:
- 这个问题谁能解决! 谢谢,oracle9i驱动的问题。
- 求助:关于错误Error while trying to retrieve text for error ORA-12154
把
init.ora
中的
1.SQL_TRACE=TRUE;
2.ALTER SESSION SET SQL_TRACE=TRUE
3.
SVRMGR> SELECT sid, serial#, osuser
2> FROM v$session
3> WHERE osuser = 'jausten';SID SERIAL# OSUSER
---------- ---------- ---------------
8 12 jausten
dbms_system.set_sql_trace_in_session(8,12,true)
最后
然后用ORACEL\BIN\TKPROF.EXE工具分析
*.trc有人是这样说的但我从2开始就不明白怎么操作了
我在init.ora文件中就找不到SQL_TRACE=TRUE这么一句
---------
春困秋乏夏打盹,睡不醒的冬三月 ^^!
select * from v$sqlText 可以取出执行过的SQL
select address,piece,sqltext from v$sqlText group by address,piece
对于每个address所有的sqltext是一个完整的语句
需要从新启动数据库。
blob类型存到oracle里面
1\在init.ora中添加:SQL_TRACE=TRUE;
注意如此操作前要仔细些,因为这样会产生大量的TRACE文件;
2\以某个用户登记ORACLE
执行:
ALTER SESSION SET SQL_TRACE=TRUE
3.执行一些SQL语句
4.用ORACEL\BIN\TKPROF.EXE工具分析 TRACE文件应该是UDUMP目录下的某个ORAXXXXX文件;
5,在生成的OUTPUTFILE中就可以看到一些SQL语句了,就是你刚才执行的SQL.
执行:
ALTER SESSION SET SQL_TRACE=TRUE在那里执行?? ^^! 我可是Oracle菜鸟在SQLplus里执行?
对,用sqlplus 登录,直接执行就可以了.如果是如你所说的,那就不应该设置SQL_TRACE=TRUE;因为会影响数据库效率;用system身份登录,用下面的SQL语句,可以实现你的需要吧:
select a.username,a.machine,a.logon_time,decode(b.piece,'0','首行'),b.sql_text
from v$session a,v$sqltext b
where a.sql_address = b.address
order by a.logon_time,b.address,b.piece
综合一下
2.ALTER SESSION SET SQL_TRACE=TRUE
3.
SVRMGR> SELECT sid, serial#, osuser
2> FROM v$session
3> WHERE osuser = 'scott';SID SERIAL# OSUSER
---------- ---------- ---------------
8 12 scott
dbms_system.set_sql_trace_in_session(8,12,true)
TKPROF DLSUN12_JANE_FG_SVRMGR_007.TRC OUTPUTA.PRF EXPLAIN=SCOTT/TIGER TABLE=SCOTT.TEMP_PLAN_TABLE_A INSERT=c:\STOREA.SQL SYS=NO SORT=(EXECPU,FCHCPU)c:\STOREA.SQL 这个脚本就是结果
综合一下
2.ALTER SESSION SET SQL_TRACE=TRUE
3.
SVRMGR> SELECT sid, serial#, osuser
2> FROM v$session
3> WHERE osuser = 'scott';SID SERIAL# OSUSER
---------- ---------- ---------------
8 12 scott
dbms_system.set_sql_trace_in_session(8,12,true)
TKPROF DLSUN12_JANE_FG_SVRMGR_007.TRC OUTPUTA.PRF EXPLAIN=SCOTT/TIGER TABLE=SCOTT.TEMP_PLAN_TABLE_A INSERT=c:\STOREA.SQL SYS=NO SORT=(EXECPU,FCHCPU)c:\STOREA.SQL 嘻嘻嘻嘻^^