在 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 监视器:
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>
您可以在审核文件中找到有关存储过程执行时间的信息。
以上是oracle查询存储过程执行记录时间怎么查的详细内容。更多信息请关注PHP中文网其他相关文章!