2011-02-28 118 views
0

我們通過Pro * C與DB進行交互。我們希望通過Pro * C查找花費時間最長的查詢。如何通過Pro * C殺死長時間運行的查詢?

有沒有辦法在Pro * C中查找長時間運行的查詢?

+0

什麼是「Pro * C」?你能給這個程序的網站鏈接嗎?你的db是什麼 – osgx 2011-02-28 19:58:00

+1

Pro * C是嵌入式oracle的預處理器。它允許直接在C代碼中編寫SQL查詢。預處理器然後將其替換爲進行Oracle API調用所需的代碼。 – 2011-03-02 12:28:42

+0

這不是關於'C',而'pro'標籤真的沒有提到任何事情。標籤已更改。 – pmg 2011-03-02 12:35:16

回答

1

通過測試C以外的查詢,例如蟾蜍? 或者通過計算它們用定時器的正常C函數所花費的時間?

你的問題太模糊,無法給出具體的答案。

1

Pro * C程序應該可以通過程序列在V $ SESSION中很容易識別。我會走得更遠,並通過DBMS_APPLICATION_INFO明確設置MODULE,這將允許您追蹤V $ SQL中的單個SQL。

一旦儀器您的代碼,它變得更容易使用的診斷設施,如跟蹤,或者您可能與診斷支付任何額外或調整禮包

+0

well gary沒有任何可以使用的Pro * C或Oracle提供的特定功能或機制 我所看到的是,每個人都在談論'Ctrl + C'組合,這一切都是嚴格意義上的錯誤。沒有任何超時函數可用於在10秒後超時查詢並繼續進行查詢。 此外,我沒有理解你在回答中說的話。 如果可能,請告訴我一些可靠的解決方案。 – 2011-08-23 12:13:57

1

Oracle企業管理器可以讓你看看運行查詢,讓我們看看解釋計劃。

相關問題