2017-07-27 38 views
0

如果我想捕獲/監視/記錄/保存我們開發的應用程序的本地SQL命令,那麼這些技術是什麼?我們有Oracle數據庫。 我已經嘗試了SQL Developer/Tools/Monitor會話函數,但它不包含我們應用程序的SQL語句。實時SQL監視器功能只包含一部分所需的命令和大量無用的條目......。如何在服務器級別收集應用程序的SQL命令?

實際上我想: - 「開啓」跟蹤功能(例如SQL開發人員或SQL * Plus) - 啓動應用程序,並嘗試與實際數據的一些功能(如慢查詢) - 一旦因爲我認爲我有足夠的測量:「關閉」跟蹤功能和...。 - 開始分析/調整SQL命令(例如使用SQL Developer /解釋計劃等)

+1

這個問題是廣泛用於於是,我投票將其關閉。本主題的文檔中有一整章,請參見性能調優指南中的[8執行應用程序跟蹤](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#TGSQL794)。有一些例子說明如何啓用跟蹤,如何收集和分析跟蹤文件等。 – krokodilko

回答

0

1)您可以隨時使用指定時間AWR報告,以瞭解哪些查詢是在給定時間內的數據庫運行。

運行awr報告使用;

@$ORACLE_HOME/rdbms/admin/awrrpt.sql 

AWR捕獲頂部的SQL,但你可以增加在awr中捕獲的SQL數。

2)數據庫級跟蹤可以捕獲所有sqls運行,執行計劃&其他統計。您可以手動啓動&停止跟蹤。一旦跟蹤停止,您可以使用tkprof生成可讀文件。跟蹤總是會導致性能超過空間開銷,但在我的經驗中並不大。

  • ABHI
相關問題