慢查詢我需要登錄查詢速度慢,比方說查詢,這需要超過3毫秒以上運行 應當登入 大部分的時間這些查詢SELECT 如何登錄他們的Oracle?如何登錄甲骨文
Q
如何登錄甲骨文
1
A
回答
2
如果您使用的是AWR,這將從ASH記錄下來,您只需要使用OEM或使用手寫SQL來挖掘它。
3ms確實非常快,Oracle在現代硬件上的響應時間是5-20ms,所有事情都考慮在內。
1
在應用程序代碼,你可以做這樣的事情:
v_start_time := dbms_utility.get_time();
-- Your query here
-- ...
v_end_time := dbms_utility.get_time();
if v_end_time - v_start_time > v_max_time then
insert into log_table ...;
end if;
dbms_utility.get_time返回秒1/100分之時間 - 所以你不能用這個3ms的準確性。您也許可以使用SYSTIMESTAMP。
實際上,我不會記錄任何花費不到半秒的查詢,你幾乎可以記錄所有的事情。
1
如果你想記錄緩慢的查詢,那麼託尼給出的解決方案是最好的解決方案。 但是,如果你不能修改你的應用程序的源代碼,你可以考慮安裝一個sql間諜。我從來沒有做過,但可以輕鬆完成。請注意,它會減慢您的應用程序的速度:如果您正在對生產服務器進行故障排查,那麼這不是一個好的解決方案。
恕我直言,最好的解決辦法不是記錄緩慢的查詢,而是找到它們(差別很小......))。 Oracle提供了大量工具來查找此類信息:
- AWR報告是我的首選工具。你會發現一個名爲「按時間排序的SQL」的段落,它基本上是你正在尋找的
- gridcontrol也給你這個信息,但我不知道這個工具太多。這是簡單的使用比AWR報告
- ,如果你不能夠訪問這些工具之一,你可以嘗試簡單的啓動在此計算器等崗位給出的SQL: Top 5 time-consuming SQL queries in Oracle
相關問題
- 1. 甲骨文 - 「記錄」不斷
- 2. 如何指望甲骨文
- 3. 如何與甲骨文
- 4. 甲骨文:如何權SQL
- 5. 如何與甲骨文11
- 6. 如何使甲骨文
- 7. 如何在SQL甲骨文
- 8. 如何驗證甲骨文
- 9. 如何讓甲骨文
- 10. 如何從甲骨文
- 11. 如何刪除甲骨文
- 12. 與甲骨文
- 13. 在甲骨文
- 14. 在甲骨文
- 15. 甲骨文
- 16. 甲骨文,REGEXP_LIKE
- 17. 在甲骨文
- 18. 在甲骨文
- 19. 在甲骨文
- 20. 在甲骨文
- 21. 在甲骨文
- 22. 與甲骨文
- 23. 在甲骨文
- 24. 甲骨文asp.net
- 25. 甲骨文:Listagg
- 26. 與甲骨文
- 27. 在甲骨文
- 28. sp_generate_inserts甲骨文
- 29. 在甲骨文
- 30. 在甲骨文
3ms的?哇,我會記錄所有我的查詢! – 2010-10-21 12:14:34