首页 > 数据库 >ORACLE:集群oracle查看session的语句

ORACLE:集群oracle查看session的语句

时间:2023-10-14 15:33:05浏览次数:34  
标签:status alter ORACLE session kill oracle 节点 select

1.查看session可以把status改为ACTIVE和INACTIVE

v$session 和gv$session 只在RAC中区别明显,有g是全局的,rac的两个数据库中的内容,没有是但实例的数据库的,内容不全

rac么?  gv$开头视图是rac全局的,v$开头是本节点的

gv$session比v$session多一个字段而已: INST_ID

 

select machine ,count(*) from gv$session where logon_time < sysdate -1 and status ='INACTIVE' group by machine;

 

2.查看目前的session已经正在执行的sql

SELECT S.USERNAME,
S.SID,
S.SERIAL#,
S.INST_ID,
S.EVENT,
S.WAIT_CLASS,
S.SQL_EXEC_START,
S.LOGON_TIME,
S.ACTION,
SQ.SQL_TEXT,
S.MACHINE
FROM GV$SESSION S, GV$SQLAREA SQ
WHERE S.STATUS = 'ACTIVE'
AND S.USERNAME IS NOT NULL
AND S.SQL_ID = SQ.SQL_ID;

 

 

3.单节点生成批量kill session的sql

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd from v$session

where username is not null

and status = 'ACTIVE'

4.RAC架构生成批量kill session的sql

方法一、在节点一执行

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd from v$session

where username is not null

and status = 'ACTIVE'

生成的kill语句,在节点一服务器执行

在节点二执行

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd from v$session

where username is not null

and status = 'ACTIVE'

生成的kill语句,在节点二服务器执行

需要分别杀掉

方法二、在一个节点执行

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd
from gv$session
where username is not null and to_char(prev_exec_start,'yyyy-mm-dd hh24:mi:ss') < '2021-10-18 10:37:00' and status = 'INACTIVE'
and inst_id=1;

inst_id=1 指定节点,节点二可以用inst_id=2

生成的kill语句,在节点二服务器执行

 

 

生成删除指定时间点的KILL session语句

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd
from v$session
where username is not null and to_char(prev_exec_start,'yyyy-mm-dd hh24:mi:ss') < '2025-10-5 00:00:00' and status = 'INACTIVE'

 生成指定machine批量kill的语句

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd
from v$session
where username is not null and MACHINE like 'mes%' and status = 'INACTIVE'

4. 查看某个时间点的active session的数量

select 'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' cmd
from v$session
where username is not null and MACHINE like 'mes%' and status = 'INACTIVE'

 

5. Kill session的方法

ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
例如: ALTER SYSTEM KILL SESSION '5,3248';

标签:status,alter,ORACLE,session,kill,oracle,节点,select
From: https://www.cnblogs.com/samrv/p/17764226.html

相关文章

  • Docker配置Oracle
    1.下载镜像dockerpullregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g2.创建并启动容器默认启动方式dockerrun-itd-p1521:1521--nameoracle--restart=alwaysregistry.aliyuncs.com/helowin/oracle_11g持久化启动方式dockerrun-itd-p1521:1521-......
  • 16、oracle的游标open动态接收数组
    oracle的游标open动态接收数组使用实例:DECLARETYPECUR_MODEL_TYPEISREFCURSOR;C1CUR_MODEL_TYPE;V_TASK_CODEVARCHAR2(1000);V_DRAW_TYPEVARCHAR2(1000);BEGINFORCURIN(SELECTT.BIZ_CODE,T.BIZ_TYPE_IDFRO......
  • 杀死包含指定SQL片段的Oracle进程
    杀死包含指定SQL片段的Oracle进程一、Linux窗口A#切换登录用户su-oracle#以sa身份登录DB!sql--查询当前的DBsessionIDselectuserenv('sid')fromdual;输出:4054--查询当前DBsession的processIDSELECTspidFROMv$sessions,v$processpWHEREs.sid=4054......
  • Oracle索引之(b-tree、bitmap、聚集、非聚集)
    Oracle索引之(b-tree、bitmap、聚集、非聚集)一、B-TREE索引一个B树索引只有一个根节点,它实际就是位于树的最顶端的分支节点。可以用下图一来描述B树索引的结构。其中,B表示分支节点,而L表示叶子节点。对于分支节点块(包括根节点块)来说,其所包含的索引条目都是按照顺序排列的(缺省是......
  • 常见等待事件oracle
    概念描述在Oracle数据库中,等待事件是指在数据库操作过程中,进程因等待某些资源或条件而产生的等待状态。例如,当一个进程正在等待某种工作,或正在诊断和优化数据库时,就会出现等待事件。具体来说,当一个Oracle进程连接到数据库后,它将会经历一系列的等待事件,这些等待事件可以被分类为空闲......
  • 更改 ORACLE 用户的 expired 状态
    问题概述oracle中,经常用户的状态会变成locked,expired等状态,遇到这种情况,按照具体环境进行操作。首先,如果是locked状态,直接执行alteruserscottaccountunlock就可以了。但是如果变成expired状态,oracle本身是不提供解锁的语句的,因为账户过期,必须要用户更改密码,账户才能重新使用......
  • Oracle数据库迁移注意事项
    本文基于使用数据泵(datapump)迁移数据库时,特别需要注意的几点。1.sys下别其他用户调用的package,procedure等-场景:大型数据库中,都会有自定义的表分区管理procedure2.tnsnames.ora、listener.ora、sqlnet.ora的信息-场景:有些场景可能会使用oraclewallet,因......
  • Oracle 替换回车和换行
      --替换回车和换行updatedc_group_parametertsett.description=replace(replace(t.description,chr(10),''),chr(13),'')wheret.description<>replace(replace(t.description,chr(10),''),chr(13),'');--替换双引号......
  • Oracle Connect BY用法
     selectlevel fromdualconnectbylevel<=10;上例均可查询得到1..N的序列。SELECTA.*,REGEXP_SUBSTR(A.MATERIAL_ID,'[^,]+',1,LVL,'C')MATERIAL_NO--,REGEXP_COUNT(A.MATERIAL_ID,',')+1CNTFROMDWT_INPUT_LOTA,(SELECTLEVELLV......
  • Oracle数据库导入、导出详解
    Oracle11g数据库导入导出方式传统方式【exp(导出)和(imp)导入】数据泵方式【expdp导出和(impdp)导入】第三方工具【PL/sqlDevelpoer】一、什么是数据库导入导出?Oracle11g数据库的导入/导出,就是我们通常所说的Oracle数据的还原/备份。 数据库导入:把.dmp格式文件从本地导入到......