首页 > 数据库 >【ORACLE】查看正在运行的的SQL

【ORACLE】查看正在运行的的SQL

时间:2024-03-18 16:56:31浏览次数:25  
标签:object 查看 SQL session sid ORACLE serial id

1、查看 Oracle 正在执行的 sql 语句

SELECT b.sid oracleID,
b.username 用户名,
b.serial#,
paddr,
sql_text 正在执行的SQL,
b.machine 计算机名称
FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value

1.1、杀死进程

ALTER system KILL SESSION '{ORACLEID},{SERIAL#}';

1.2、若利用步骤2命令kill一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os级别再kill相应的进程(线程)。

1)首先通过执行下面SQL获得PID:

SELECT spid, osuser, s.program
FROM v$session s, v$process p
WHERE s.paddr=p.addr AND s.sid={ORACLEID};

2)在OS上kill这个进程:

-- pid: 获取到的spid
$ kill -9 {pid}

2、查询当前用户正在执行的SQL

SELECT l.session_id sid,
s.serial#,
l.locked_mode 锁模式,
l.oracle_username 登录用户,
l.os_user_name 机器用户名,
s.machine 机器名,
s.terminal 终端用户名,
o.object_name 被锁对象名,
s.logon_time 登录数据库时间
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#;

3、查询当前被锁的表

SELECT l.session_id sid,
s.serial#,
l.locked_mode 锁模式,
l.oracle_username 登录用户,
l.os_user_name 机器用户名,
s.machine 机器名,
s.terminal 终端用户名,
o.object_name 被锁对象名,
s.logon_time 登录数据库时间
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#;

3.1、解除锁命令

alter system kill session 'sid,serial#'

转自:https://blog.csdn.net/weixin_42326851/article/details/133169406

标签:object,查看,SQL,session,sid,ORACLE,serial,id
From: https://www.cnblogs.com/tk-bolg/p/18080871

相关文章

  • Python3 使用 sqlcipher 来增强本地数据的安全性
    使用sqlcipher来增强本地数据的安全性本文是基于系列文章PyQt5+SQLAlchemy做登录注册页的补充,并不单独放在系列文中,主要讲的是,使用sqlcipher来保存本地密码,这比直接使用SQLite更安全关于sqlcipher,官方介绍原文如下:SQLCipherisastandaloneforkoftheSQLitedata......
  • 使用BenchmarkSQL压测openGauss
    使用BenchmarkSQL压测openGauss安装配置JDK官方网站下载JDK:https://www.oracle.com/technetwork/java/javase/downloads/index.html配置JDK环境解压到JDK到指定路径。#解压到JDK到指定路径tar-xvfjdk-8u231-linux-x64.tar.gz-C/usr/local#配置系统环境变......
  • Oracle 之:spool 导出 与 sqlldr 导入
    说明,内容均来自AlfredZhao的https://www.cnblogs.com/jyzhao/p/4819884.html(感谢分享),以下仅记录个人操作过程中的关键说明:一.使用sqlplus导出查询结果:1.准备脚本call.sql如果只需要单纯的导出excel或csv,可以PL/SQL中进行查询导出再另存为。这里只是尝试一下sql......
  • 【黑马MySQL】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
    前言大家好吖,欢迎来到YY滴MySQL系列,热烈欢迎!本章主要内容面向接触过C++Linux的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!YY的《C++》专栏YY的《C++11》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易......
  • MySQL补充:数据库的三大范式
    什么是范式?范式是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。每个范式,都是用来规定某种结构或数据要求——后一范式都是在前一范式已经满足的情况用来“加强要求”最常用的三大范式第一范式(1NF):属性不可分割,即每个属性都是不可分割的原子项。(实体的属性即表中......
  • SQL中的COUNT函数:深入理解COUNT(*)、COUNT(1)和COUNT(字段)的异同与应用
    SQL中的COUNT函数是一个非常强大的聚合函数,它可以用来统计表中满足特定条件的行数。COUNT函数有三种不同的用法:COUNT(*)、COUNT(1)和COUNT(字段),每种用法都有其特定的用途和性能考虑。COUNT(*)COUNT(*)用于统计表中的所有行,不论这些行的值是否为NULL。当你想要得到表中总行数时,......
  • 【SQL】1907. 按分类统计薪水(IF语句;CASE 语句;UNION)
    前述知识点回顾:casewhenthenelseendMysql:条件判断函数-CASEWHEN、IF、IFNULL详解题目描述leetcode题目:1907.按分类统计薪水1.写法一:if语句select'LowSalary'ascategory,sum(if(income<20000,1,0))asaccounts_countfromAccountsuni......
  • java八股——mysql数据库
    上一篇传送门:点我JVM是java面试八股中的一个重难点,本文仅是部分问题,SQL语句、主从复制以及数据库锁等知识点还未涉及,后续会进行修改补充。数据库三大范式是什么?第一范式:每个字段都不可以再被拆分;第二范式:在第一范式的基础上,有主键,并且主键之外的其他字段完全依赖于主键,......
  • Node+Vue毕设少儿编程教育系统(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在当今信息化社会,编程教育逐渐成为儿童素质教育的重要组成部分。越来越多的家长认识到从小培养孩子的计算机思维和编程能力对其未来学习和职业发展的重要性......
  • Node+Vue毕设设备管理系统(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着企业规模的不断扩大和设备数量的激增,设备管理已经成为组织运营中的一个核心环节。高效、精确的设备管理系统对于确保设备的正常运行、降低维护成本、提......