当前位置: 首页 > news >正文

oracle 会话管理

会话管理
 
1:查看当前所有用户的会话(SESSION):
SELECT * FROM V S E S S I O N W H E R E U S E R N A M E I S N O T N U L L O R D E R B Y L O G O N T I M E , S I D ; 其中 O r a c l e 内部进程的 U S E R N A M E 为空  2 :查看当前用户的所有 S E S S I O N : S E L E C T ∗ F R O M V SESSION  WHERE USERNAME IS NOT NULL ORDER BY LOGON_TIME , SID; 其中Oracle内部进程的USERNAME为空   2:查看当前用户的所有SESSION: SELECT * FROM V SESSION WHEREUSERNAMEIS NOT NULLORDER BYLOGONTIME,SID;其中Oracle内部进程的USERNAME为空 2:查看当前用户的所有SESSIONSELECTFROMVSESSION
WHERE USERNAME = USER
ORDER BY LOGON_TIME, SID;
 
3:查看当前窗口/当前用户的会话信息
SELECT SID, SERIAL#, STATUS FROM V S E S S I O N W H E R E A U D S I D = U S E R E N V ( ′ S E S S I O N I D ′ ) ; 4 :查看所有 A C T I V E 会话 ( 活动会话 ) S E L E C T ∗ F R O M V SESSION WHERE AUDSID=USERENV('SESSIONID');   4:查看所有ACTIVE会话(活动会话) SELECT * FROM V SESSION WHEREAUDSID=USERENV(SESSIONID); 4:查看所有ACTIVE会话(活动会话)SELECTFROMVSESSION 
WHERE USERNAME IS NOT NULL AND STATUS=‘ACTIVE’
ORDER BY LOGON_TIME, SID;
 
5:查看当前会话的ID可以通过如下脚本:
SELECT * FROM VKaTeX parse error: Expected 'EOF', got '#' at position 66: …S.SID, S.SERIAL#̲ FROM VPROCESS P
INNER JOIN V$SESSION S ON P.ADDR = S.PADDR
WHERE S.AUDSID=USERENV(‘SESSIONID’);
 
6:查看数据库允许最大会话数
SQL> SHOW PARAMETER SESSIONS;
 
NAME                                 TYPE        VALUE


java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
sessions                             integer     225
shared_server_sessions               integer    
 
 
SQL> SELECT NAME, TYPE, VALUE FROM V P A R A M E T E R W H E R E N A M E L I K E ′ s e s s i o n N A M E T Y P E V A L U E − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − s e s s i o n s 3 225 s e s s i o n c a c h e d c u r s o r s 3 20 s e s s i o n m a x o p e n f i l e s 3 107 :查看曾经的最大会话数:  S Q L > S Q L > S E L E C T S E S S I O N S M A X , S E S S I O N S W A R N I N G , S E S S I O N S C U R R E N T , S E S S I O N S H I G H W A T E R 2 F R O M v PARAMETER WHERE NAME LIKE 'session%';   NAME                       TYPE                 VALUE ---------                 ----------             ----------- sessions                          3                225 session_cached_cursors            3                20 session_max_open_files            3                10 7:查看曾经的最大会话数:   SQL> SQL> SELECT SESSIONS_MAX,SESSIONS_WARNING,SESSIONS_CURRENT,SESSIONS_HIGHWATER    2  FROM v PARAMETER WHERENAMELIKE session NAME                      TYPE                VALUE                            sessions                         3               225sessioncachedcursors           3               20sessionmaxopenfiles           3               107:查看曾经的最大会话数: SQL>SQL>SELECTSESSIONSMAX,SESSIONSWARNING,SESSIONSCURRENT,SESSIONSHIGHWATER  2 FROMvlicense;
 
SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER


0                0              512                553
SESSIONS_HIGHWATER表示曾经的最大会话数512
 
8:查询那些应用的连接数此时是多少
SELECT  B.PROGRAM , COUNT(1)
FROM V P R O C E S S A , V PROCESS A, V PROCESSA,VSESSION B
WHERE A.ADDR = B.PADDR
      AND  B.USERNAME IS NOT NULL
GROUP BY B.PROGRAM;
 
会话状态:
会话有ACTIVE、INACTIVE、KILLED、CACHED、SNIPED五个状态,一般比较常见的有ACTIVE、INACTIVE、KILLED三个状态。
 
ACTIVE   :处于此状态的会话,表示正在执行,处于活动状态。
INACTIVE :处于此状态的会话表示不是正在执行的
KILLED   :处于此状态的会话,表示出现了错误或进程被杀掉,正在回滚,当然,这个状态的会话也占用系统资源的。还有一点就是,    KILLED的状态一般会持续较长时间,如果你想快速杀掉回话,可以参考我以前的一篇文章ORACLE快速彻底Kill掉的会话
CACHED   : Session temporarily cached for use by OracleXA
SNIPED   : Session inactive, waiting on the client。 标记为SNIPED的进程被释放有两种条件:
         1、相关的terminal再一次试图登录及执行sql
         2、手动的在操作系统后台kill掉相应的spid
关于会话信息
通过如下SQL你可以查询你的每个应用程序到底在等待什么,从而针对这些信息对数据库的性能进行调整。
COL USERNAME FOR A12;
COL PROGRAM  FOR A32;
COL EVENT    FOR A26;
SELECT S.USERNAME
      ,S.PROGRAM
      ,S.STATUS
      ,SE.EVENT
      ,SE.TOTAL_WAITS
      ,SE.TOTAL_TIMEOUTS
      ,SE.TIME_WAITED
      ,SE.AVERAGE_WAIT
FROM V S E S S I O N S , V SESSION S, V SESSIONS,VSESSION_EVENT SE
WHERE S.SID=SE.SID AND SE.EVENT NOT LIKE 'SQL
Net%’
  AND S.STATUS =‘ACTIVE’ AND S.USERNAME IS NOT NULL;
 
2.ORACLE中查询被锁的表并释放session
SELECT A.OWNER
  ,A.OBJECT_NAME
  ,B.XIDUSN
  ,B.XIDSLOT
  ,B.XIDSQN
  ,B.SESSION_ID
  ,B.ORACLE_USERNAME
  ,B.OS_USER_NAME
  ,B.PROCESS
  ,B.LOCKED_MODE
  ,C.MACHINE
  ,C.STATUS
  ,C.SERVER
  ,C.SID
  ,C.SERIAL#
  ,C.PROGRAM
FROM ALL_OBJECTS A,VKaTeX parse error: Expected group after '_' at position 23: …OBJECT B,SYS.GV_̲SESSION C
WHERE  A.OBJECT_ID = B.OBJECT_ID  AND B.PROCESS = C.PROCESS  ORDER BY 1,2;
 
3.查看占用系统IO较大的session
SELECT se.sid
      ,se.serial#
      ,pr.spid
      ,se.username
      ,se.status
      ,se.terminal
      ,se.program
      ,se.module
      ,se.sql_address
      ,st.event
      ,st.p1text
      ,si.physical_reads
      ,si.block_changes
FROM v s e s s i o n s e , v session se,v sessionse,vsession_wait st,v s e s s i o s i , v sess_io si,v sessiosi,vprocess pr
WHERE st.sid=se.sid  AND st.sid=si.sid
  AND se.paddr=pr.ADDR AND se.sid>6
  AND st.wait_time=0 AND st.event NOT LIKE ‘%SQL%’ 
  ORDER BY physical_reads DESC;
 
4.找出耗cpu较多的session
select a.sid
      ,spid
      ,status
      ,substr(a.program,1,40) prog
      ,a.terminal
      ,osuser
      ,value/60/100 value
from v s e s s i o n a , v session a,v sessiona,vprocess b,v$sesstat c
where c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr
   order by value desc

相关文章:

  • PyCharm软件下载和配置Python解释器
  • linux--------------Ext系列⽂件系统(下)
  • 【STM32开发】-单片机开发基础(以STM32F407为例)
  • 互联网大厂Java面试实战:从Spring Boot到微服务的技术问答与解析
  • redis数据结构-06(LRANGE、LINDEX、LSET、LREM)
  • MySql事务索引
  • AJAX 使用 和 HTTP
  • Linux服务器常用运维工具/命令
  • 同一个虚拟环境中conda和pip安装的文件存储位置解析
  • 四、Hive DDL表定义、数据类型、SerDe 与分隔符核心
  • E+H流量计通过Profibus DP主站转Modbus TCP网关与上位机轻松通讯
  • SQL 数据库监控:SQL语句监控工具与实践案例
  • 大模型在肾肿瘤诊疗全流程预测及方案制定中的应用研究
  • Hudi面试内容整理-如何在 Spark 中使用 Hudi?
  • 客服系统重构详细计划
  • 支持向量机的回归用法详解
  • 【网络分析工具】网络工具wireshark、TCPdump、iperf使用详解
  • 用户态到内核态:Linux信号传递的九重门(一)
  • 从代码学习深度学习 - 转置卷积 PyTorch版
  • 远程服务器pycharm运行tensorboard显示训练轮次图
  • 优化营商环境,服务上海“五个中心”建设,北外滩有何举措?
  • 极限拉扯上任巴西,安切洛蒂开启夏窗主帅大挪移?
  • 上海浦东机场1号、2号航站楼均推出国内出发安检24小时服务
  • 牛市早报|中美经贸高层会谈达成重要共识,取得实质性进展
  • 人民时评:莫让“假俗乱”讲解侵蚀“文博热”
  • 贵州省总工会党组成员、副主席梁伟接受审查调查