在 oracle 中,可以通過以下方法查詢存儲過程執行記錄時間:使用 dbms_profiler 包獲取執行統計信息。使用 v$profiler 視圖獲取正在執行的 sql 語句和 pl/sql 單元的統計信息。使用 oracle 監視器查看會話事件歷史記錄中的相關事件。使用 audit 插件審核存儲過程執行并獲取審核文件中的信息。
如何查詢 Oracle 中存儲過程執行記錄時間
在 Oracle 中,您可以通過以下方法查詢存儲過程執行記錄時間:
1. 使用 DBMS_PROFILER 包
DBMS_PROFILER 包提供了查看存儲過程執行統計信息的功能,包括執行時間。要使用此包:
<code class="sql">BEGIN -- 開始剖析 DBMS_PROFILER.START_PROFILING; -- 執行您的存儲過程 -- ... -- 結束剖析并獲取結果 DBMS_PROFILER.END_PROFILING; END;</code>
登錄后復制
結果將存儲在 DBMS_PROFILER.RESULTS 表中,您可以查詢該表以獲取存儲過程的執行時間:
<code class="sql">SELECT * FROM DBMS_PROFILER.RESULTS WHERE OBJECT_TYPE = 'PROCEDURE' AND OBJECT_NAME = '您的存儲過程名稱';</code>
登錄后復制
2. 使用 V$PROFILER 視圖
V$PROFILER 視圖提供有關當前運行或最近運行的會話中正在執行的 SQL 語句和 PL/SQL 單元的統計信息。要使用此視圖:
<code class="sql">SELECT * FROM V$PROFILER WHERE OBJECT_TYPE = 'PROCEDURE' AND OBJECT_NAME = '您的存儲過程名稱';</code>
登錄后復制
3. 使用 Oracle 監視器
Oracle 監視器是一個圖形用戶界面 (GUI),它允許您查看有關數據庫性能的各種統計信息,包括存儲過程執行時間。要使用 Oracle 監視器:
啟動 Oracle 監視器并連接到您的數據庫。
展開“會話”面板并選擇執行存儲過程的會話。
在“事件歷史記錄”選項卡中,查找與您的存儲過程執行相關的事件。
4. 使用 AUDIT 插件
AUDIT 插件可讓您審核數據庫中的活動,包括存儲過程的執行。要使用 AUDIT 插件:
<code class="sql">-- 啟用 AUDIT 插件 ALTER SYSTEM SET AUDIT_TRAIL='DB' SCOPE=SPFILE; -- 啟用存儲過程審核 AUDIT EXECUTE ON PROCEDURE BY PUBLIC; -- 執行您的存儲過程 -- ... -- 禁用存儲過程審核 AUDIT EXECUTE ON PROCEDURE BY PUBLIC REVOKE; -- 禁用 AUDIT 插件 ALTER SYSTEM SET AUDIT_TRAIL='NONE' SCOPE=SPFILE;</code>
登錄后復制
您可以在審核文件中找到有關存儲過程執行時間的信息。