Oracle怎么查看存储过程的执行计划
时间: 2023-12-21 18:10:03 浏览: 168
ORACLE数据库查看执行计划的方法
5星 · 资源好评率100%
要查看Oracle存储过程的执行计划,可以按照以下步骤进行:
1. 使用Oracle SQL Developer或SQL*Plus等工具登录到Oracle数据库。
2. 切换到包含存储过程的数据库模式。
3. 执行以下语句启用SQL跟踪:
```
ALTER SESSION SET SQL_TRACE = TRUE;
```
4. 执行存储过程,例如:
```
EXECUTE schema_name.procedure_name();
```
5. 停止SQL跟踪并将跟踪文件保存到指定的目录中:
```
ALTER SESSION SET SQL_TRACE = FALSE;
```
```
DECLARE
tracefile VARCHAR2(100);
BEGIN
tracefile := 'D:\trace\trace_' || to_char(SYSDATE,'YYYYMMDDHH24MISS') || '.trc';
DBMS_TRACE.SET_PLSQL_TRACE(DBMS_TRACE.TRACE_ENABLED_BODY_ACCOUNTING, TRUE);
DBMS_TRACE.SET_SQL_TRACE(TRUE);
DBMS_TRACE.SET_TRACE_FILE_NAME(tracefile);
schema_name.procedure_name();
DBMS_TRACE.SET_SQL_TRACE(FALSE);
END;
```
6. 使用TKPROF工具将跟踪文件转换为可读的执行计划报告,例如:
```
tkprof tracefile.trc outputfile.txt explain=username/password
```
其中,tracefile.trc为SQL跟踪文件的路径和文件名,outputfile.txt为生成的执行计划报告的路径和文件名,username和password为Oracle数据库的用户名和密码。
7. 打开生成的执行计划报告,查看存储过程的执行计划,分析其性能瓶颈并进行优化。
阅读全文