我是新的oracle,现在我正在变得疯狂以下情况.我在一个oracle 11g数据库上工作,很多时候我用sql开发者运行一个查询,这个在5/6秒内被正确执行,其他的时候,相同的查询需要执行300/400秒.有一些工具来调试当查询使用300/400秒时发生的情况?
更新1
这是我的sql开发者屏幕截图的问题似乎是直接路径读取temp
更新2
report
更新3
report2
任何建议?
尝试设置跟踪.任何用户正在经历延迟的用户
作为sys:
作为sys:
GRANT ALTER SESSION TO USER;
当用户执行跟踪时:
ALTER SESSION SET EVENTS '10046 trace name context forever,level 8'; ALTER SESSION SET TRACEFILE_IDENTIFIER = "MY_TEST_SESSION";
ALTER SESSION SET EVENTS '10046 trace name context off';
当系统找出保存跟踪文件的位置时:
show parameter background_dump_dest;
转到该目录并查找包含MY_TEST_SESSION的.trc / .trm文件.例如ORCL_ora_29772_MY_TEST_SESSION.trc.
之后tkprof那些文件.在linux中
tkprof ORCL_ora_29772_MY_TEST_SESSION.trc output=ORCL_ora_29772_MY_TEST_SESSION.tkprof explain=user/password sys=no
阅读tkprof文件,它将显示给定语句的等待时间.
有关TKPROF读取this的更多信息.有关启用/禁用跟踪读取this的更多信息.