今天开发反馈说,执行某个程序update的时候hang住,查看了一下是个小表,只有3000多行数据。第一反应是有锁,把该实例的所有session kill后,执行update还是hang住,单独执行了下where条件后面的select很快。于是觉得应该是在2节点上还有lock,于是执行查询:

select * from gv$lock where id1=383105;

SQL> select * from gv$lock where id1=383105;

INST_ID ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK

2 0000000110AF61B0 0000000110AF6210 1333 TM 383105 0 3 0 6819 2

果然,2节点上还有一个session持有锁。

连接到2节点,执行查询:

SQL> select sid,serial#,osuser from v$session where sid=1333;

SID SERIAL# OSUSER

1333 22559 6005821

alter system kill session ‘1333,22559‘;

杀了会话后,再查询,发现1333的session还存在:

SQL> select sid,osuser from v$session where sid=1333;

SID SERIAL# OSUSER

1333 22559 6005821

于是想从系统层kill,可是通过以下sql查询不到1333的spid

select p.pid,p.spid,s.sid,s.serial# from v$process p,v$session s where s.paddr=p.addr and s.sid=1333;

查询后发现,当在Oracle中kill session以后,Oracle只是简单的把相关session的paddr 指向同一个虚拟地址.此时v$process和v$session失去关联,进程就此中断。 然后Oracle就等待PMON去清除这些Session.所以通常等待一个被标记为Killed的Session退出需要花费很长的时间. 如果此时被Kill的process,重新尝试执行任务,那么马上会收到进程中断的提示,process退出,此时Oracle会立即启动PMON 来清除该session.这被作为一次异常中断处理.

根据以下sql找到之前的paddr:

select p.addr from v$process p where pid <> 1

minus

select s.paddr from v$session s;

07000107C8C050F8

07000107DCC19D88

根据v$process的addr找到spid:

select * from v$process where addr in (‘07000107C8C050F8‘,‘07000107DCC19D88‘);

然后找到系统进程号,杀掉就好了。由于部分过程没有保留下执行结果,就只有记录下sql了。

[email protected]:] ps -ef|grep 8847870

oracle 8847870 1 3 Aug 06 - 734:23 ora_pz99_CQRPT2

oracle 10420652 13107576 0 11:11:01 pts/1 0:00 grep 8847870

[[email protected]:] ps -ef|grep 14221746

oracle 12583324 13107576 0 11:11:22 pts/1 0:00 grep 14221746

oracle 14221746 1 0 08:16:07 - 0:04 oracleCQRPT2 (LOCAL=NO)

[[email protected]:] kill -9 14221746

[[email protected]:] ps -ef|grep 14221746

oracle 12583046 13107576 0 11:12:11 pts/1 0:00 grep 14221746

测试过程还可以查看另一文章:https://www.cnblogs.com/kerrycode/p/4034231.html

oracle批量清除会话,oracle快速彻底杀掉session相关推荐

  1. oracle批量清除会话,oracle快速彻底清理kill会话

    今天开发反馈说,执行某个程序update的时候hang住,查看了一下是个小表,只有3000多行数据.第一反应是有锁,把该实例的所有session kill后,执行update还是hang住,单独执行了 ...

  2. oracle批量查询更新,Oracle批量查询、删除、更新使用BULK COLLECT提高效率

    BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer用法笔记. 例1: 批量查询项目资金账户号为 & ...

  3. oracle批量建同义词,Oracle批量创建同义词

    一.介绍 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用 ...

  4. oracle批量插入优化,oracle批量插入优化方案

    今天听DBA说如果从一个表批量查询出一批数据之后批量插入另外一张表的优化方案: 1)不写归档日志: 2)采用独占 关于insert /*+ append */我们需要注意以下三点: a.非归档模式下, ...

  5. oracle 批量导入 数据,Oracle批量插入数据的三种方式【推荐】

    第一种: begin insert into tableName(column1, column2, column3...) values(value1,value2,value3...); inse ...

  6. oracle批量粘贴文本,ORACLE 快速批量导入文本数据到数据库(sqlldr工具)方法与分析...

    在实际生产环境中,常会碰到将一些如通过通讯接口传过来的数据(文本文件 txt)导入到数据库的某张表中.通常做法是使用ORACLE自带的包功能打开文件,将文件中的数据用LOOP循环一行行读入内存数组中, ...

  7. oracle批量复制,OracleCopier(Oracle数据复制工具)

    OracleCopier是一款简单方便的数据复制工具,帮助用户节省将数据从一个Oracle数据库传输到另一个数据库的时间,用户可以通过软件在Oracle数据库之间来回导数据了,十分方便. 基本简介 O ...

  8. oracle批量加载,Oracle教程:使用SQL*Loader高速批量数据加载工具

    Oracle教程:使用SQL*Loader高速批量数据加载工具 1.控制文件中包含要加载的数据 首先创建一张测试表 然后创建一个控制文件(其中包含被加载的数据) 然后在命令行执行加载 查看dept表 ...

  9. oracle批量构造数据,oracle批量构造数据方法 - rd_clp的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    1.一种是只要数据条数,至于里面内容可以是序列方式,另外可能几个表中相互 id的关联,那建议用存诸过程写. 表a(id,name)有学员的信息 表b(id,testid,subject,score)有 ...

最新文章

  1. python 函数递归一次增加一次变量_python3--函数(函数,全局变量和局部变量,递归函数)...
  2. 微软(中国)CTO韦青:人工智能是拿来用的,不是拿来炒的
  3. Spring 系列,第 3 部分: 进入 Spring MVC
  4. mac上面启用托盘放大效果的方法
  5. 洛谷P2426 删数
  6. webAPI token验证
  7. 每天CookBook之Python-047
  8. JDK自带的int值的sun.text.IntHashtable
  9. springboot基于javaweb的课堂考勤系统设计与实现毕业设计源码142335
  10. xx排排网数据加密(js逆向)
  11. Object slicing(对象切片)
  12. word打开总是安装解决方法
  13. Bash Shellshock(Bash远程代码执行)漏洞批量利用脚本
  14. html背景自动适应,css背景图片如何自适应?
  15. P4 学习笔记(1)-- P4程序的构成、基本组件
  16. Neural Voice Puppetry阅读笔记
  17. 数字逻辑综合工具实践-DC-08——静态时序分析(STA)
  18. ubuntu校准时间
  19. 腾讯云2022年双11大促活动云服务器配置及活动报价表汇总
  20. 产品经理常见5大面试问题(八)

热门文章

  1. 深信服终端检测响应平台EDR-远程命令执行漏洞
  2. 《图解HTTP》阅读总结(上)
  3. 智能睡眠监控APP开发有哪些好处?
  4. rufus 装windows11 系统 z790 msi 主板
  5. 注意力机制在深度推荐算法中的应用之AFM模型
  6. ffmpeg 有声视频合成背景音乐(合成多声音/合成多音轨)
  7. MICCAI 论文投稿须知翻译
  8. windows下配置公私钥
  9. docker挂载mysql会失败_Docker Mysql 挂载 /var/lib/mysql 后无法启动
  10. MCU 上电复位功能的使用注意点