查看和终止 Oracle 连接会话以及正在执行的 SQL 语句

查看和终止 Oracle 连接会话以及正在执行的 SQL 语句,第1张

概述介绍如何终止 Oracle 连接会话/进程和运行中的 SQL 语句,包括使用 GV$SESSION 和 GV$PROCESS 等视图查看会话和对应的系统进程信息,然后使用 ALTER SYSTEM KILL SESSION 或者 ALTER SYSTEM DISCONNECT SESSION 命令终止连接会话,或者利用 *** 作系统命令(kill、orakill)终止相应的进程;另外,也可以使用 ALTER SYSTEM CANCEL SQL 命令终止正在运行的 SQL 语句。


文章目录 查看当前连接的会话终止正在执行的 SQL 语句终止指定的连接会话通过 SQL 命令终止连接会话通过 *** 作系统命令终止连接会话总结

大家好,我是只谈技术不剪发的 Tony 老师。作为 DBA,有时候为了执行管理 *** 作需要终止当前的用户会话;当某个 sql 语句长时间运行并占用大量系统资源时,我们也可能需要手动终止正在执行的语句。因此,今天我们来讨论一下如何查看和终止 Oracle 的连接会话,以及正在执行的 sql 语句。

查看当前连接的会话

Oracle 系统视图 V$SESSION 和对应的 GV$SESSION(全局视图主要用于 RAC 环境)提供了当前所有会话的相关信息。例如:

select inst_ID, sID, serial#,username,       status, server, program, sql_IDfrom gv$sessionwhere type != 'BACKGROUND'and username is not nulland nvl(osuser,'x') <> 'SYstem';INST_ID|SID|SERIAL#|USERname|STATUS  |SERVER   |PROGRAM                                 |sql_ID       |-------|---|-------|--------|--------|---------|----------------------------------------|-------------|      1|143|   9323|TONY    |ACTIVE  |DEDICATED|DBeaver 7.1.3 - sqlEditor <Script-2.sql>|9b1bawv3upw70|      1|265|  24368|TONY    |INACTIVE|DEDICATED|DBeaver 7.1.3 - Main                    |3fnstj6ydy4xk|      1|399|  16226|TONY    |INACTIVE|DEDICATED|sqlplus@sqlhost (TNS V1-V3)             |             |

以上查询只返回了用户的连接会话,不包括后台进程的连接会话。其中,

inst_ID 是会话所在的实例 ID;sID 是会话标识符,serial# 是会话序列号,两者唯一确定实例中的会话;username 是连接数据库的用户;status 是会话的状态,例如 ACTIVE、INACTIVE、KILLED 等;server 是服务器的类型,例如 DEDICATED、SHARED 等;program 是会话客户端的应用程序名;sql_ID 是正在执行的 sql 语句 ID。

总结

以上是内存溢出为你收集整理的查看和终止 Oracle 连接会话以及正在执行的 SQL 语句全部内容,希望文章能够帮你解决查看和终止 Oracle 连接会话以及正在执行的 SQL 语句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存