文章目录 查看当前连接的会话终止正在执行的 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 语句所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)