Oracle 查看慢sql并关闭
时间: 2024-01-06 19:04:38 浏览: 85
要查看慢 SQL 并关闭,可以使用以下步骤:
1. 打开 SQL Developer 或 SQL*Plus,连接到目标数据库。
2. 运行以下 SQL 查询以查找慢 SQL:
```
SELECT *
FROM (
SELECT a.sql_id,
a.buffer_gets,
a.executions,
a.disk_reads,
a.elapsed_time / 1000000 elapsed_time
FROM v$sqlarea a
WHERE a.parsing_schema_name = '<schema_name>'
ORDER BY a.elapsed_time DESC
)
WHERE rownum <= 10;
```
注意:将 `<schema_name>` 替换为要检查的模式名称。
3. 选择一个或多个慢 SQL,使用以下 SQL 查询获取其完整 SQL 语句:
```
SELECT sql_fulltext
FROM v$sql
WHERE sql_id = '<sql_id>';
```
注意:将 `<sql_id>` 替换为要检查的 SQL ID。
4. 根据需要对 SQL 进行优化或关闭。如果要关闭 SQL,可以使用以下 SQL 命令:
```
ALTER SYSTEM KILL SESSION '<sid>,<serial#>';
```
注意:将 `<sid>` 和 `<serial#>` 替换为要关闭的会话的 SID 和序列号。
或者,您可以使用以下 SQL 命令杀死所有正在运行的 SQL:
```
ALTER SYSTEM KILL SESSION '<sid>,<serial#>' IMMEDIATE;
```
注意:这将立即终止正在运行的 SQL。请谨慎使用。
阅读全文