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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/80362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python开发后端InfluxDB数据库测试接口

1、使用PyCharm创建一个Python项目wzClear 2、新建package包wzInfluxdb和wzConfig包,如上图所示,新建一个DB.json配置文件并添加influxdb配置信息,DB.json为统一配置文件 {"influxdbV1": {"url": "http://192.168.0…

采用LLaMa-Factory对QWen大模型实现微调(效果很好)

前言 LLaMA-factory是一个非常有用的开源框架。关于利用llama-factory实现大模型的微调,研究了有一个多月了,终于相对成功的微调了一个QWen的大模型。其中的曲折愿和大家分享! 一、源码的下载 在github上的网址: GitHub - hiyou…

深入理解深度Q网络DQN:基于python从零实现

DQN是什么玩意儿? 深度Q网络(DQN)是深度强化学习领域里一个超厉害的算法。它把Q学习和深度神经网络巧妙地结合在了一起,专门用来搞定那些状态空间维度特别高、特别复杂的难题。它展示了用函数近似来学习价值函数的超能力&#xf…

机械物理:水力发电站工作原理是什么?

水利发电站的工作原理是将水的势能转化为电能,主要依赖水体的重力作用与能量转换设备。以下是其核心步骤和组成部分的详细解释: 1. 蓄水与势能积累 水坝与水库:通过建造水坝拦截河流,形成水库蓄水。水位升高后,水体的…

[面试]SoC验证工程师面试常见问题(五)TLM通信篇

SoC验证工程师面试常见问题(五) 摘要:UVM (Universal Verification Methodology) 中的 TLM (Transaction Level Modeling) 通信是一种用于在验证组件之间传递事务(Transaction)的高层次抽象机制。它通过端口(Port)和导出(Export)实现组件间的解耦通信,避免了信…

CAD属性图框值与Excel联动(CAD块属性导出Excel、excel更新CAD块属性)——CAD c#二次开发

CAD插件实现块属性值与excel的互动,效果如下: 加载dll插件(CAD 命令行输入netload ,运行xx即可导出Excel,运行xx1即可根据excel更新dwg块属性值。) 部分代码如下 // 4. 开启事务更新CAD数据using (Transact…

【数据挖掘】Apriori算法

Apriori算法是经典的关联规则挖掘算法,用于从事务型数据库中发现频繁项集和强关联规则,特别常用于购物篮分析等场景。 🧠 核心思想(Apriori原则) 一个项集是频繁的,前提是它的所有子集也必须是频繁的。 即&…

单链表设计与实现

01. 单链表简介 在数据结构中,单链表的实现可以分为 带头结点 和 不带头结点 两种方式,这里我们讨论第二种方式。 头结点:链表第一个节点不存实际数据,仅作为辅助节点指向首元节点(第一个数据节点)。头指…

【论文阅读】——Articulate AnyMesh: Open-Vocabulary 3D Articulated Objects Modeling

文章目录 摘要一、介绍二、相关工作2.1. 铰接对象建模2.2. 部件感知3D生成 三、方法3.1. 概述3.2. 通过VLM助手进行可移动部件分割3.3. 通过几何感知视觉提示的发音估计3.4. 通过随机关节状态进行细化 四、实验4.1. 定量实验发音估计设置: 4.2. 应用程序 五、结论六、思考 摘要…

Zookeeper单机版安装部署

目录 1.1、概述1.2、系统环境1.3、部署流程1.3.1、下载安装包1.3.2、解压文件1.3.3、创建数据目录和日志目录1.3.4、配置ZooKeeper1.3.5、启动ZooKeeper服务1.3.6、连接和验证 1.4、Zookeeper服务管理命令1.4.1、启动Zookeeper服务1.4.2、停止Zookeeper服务1.4.3、查看Zookeepe…

在 Elasticsearch 中删除文档中的某个字段

作者:来自 Elastic Kofi Bartlett 探索在 Elasticsearch 中删除文档字段的方法。 更多有关 Elasticsearch 文档的操作,请详细阅读文章 “开始使用 Elasticsearch (1)”。 想获得 Elastic 认证?查看下一期 Elasticsear…

元数据和主数据

元数据和主数据是数据管理中的两个关键概念,其核心区别如下: 1. 定义与本质 元数据(Metadata) “关于数据的数据”,用于描述数据的属性、结构、来源、用途等上下文信息。 示例:数据库表的字段名称、数据类型…

java的Stream流处理

Java Stream 流处理详解 Stream 是 Java 8 引入的一个强大的数据处理抽象,它允许你以声明式方式处理数据集合(类似于 SQL 语句),支持并行操作,提高了代码的可读性和处理效率。 一、Stream 的核心概念 1. 什么是 Str…

llama-Factory不宜直接挂接Ollama的大模型

前言 llama-Factory尝试使用Ollama本地安装的大模型。 一、在Ollama中安装QWen 安装qwen:0.5b 安装完成了: 同理安装qwen2.5:0.5b 安装完毕后,再用ollama list进行查看: 我们在chatbox中进行查看: 说明这两个大模型,…

基于WSL用MSVC编译ffmpeg7.1

在windows平台编译FFmpeg,网上的大部分资料都是推荐用msys2mingw进行编译。在win10平台,我们可以采用另一种方式,即wslmsvc 实现window平台的ffmpeg编译。 下面将以vs2022ubuntu22.04 为例,介绍此方法 0、前期准备 安装vs2022 &…

vue3+vite项目引入tailwindcss

从2025年1月tailwindcss4.0发布开始使用tailwindcss比之前简化很多 1,安装 yarn add tailwindcss tailwindcss/vite2,配置vite.config.js import tailwindcss from tailwindcss/vite;...plugins: [tailwindcss(),...] ...3,在主css文件顶部添加 注意一定是css文件,不能是sc…

蓝牙RFCOMM协议概述

RFCOMM概述 概念 RFCOMM 协议提供了对 L2CAP 协议上的串行端口的模拟。该协议基于 ETSI 标准 GSM 07.10。 RFCOMM 采用与 TS07.10 相同的字节序列方式。所有二进制数字都按照从低位到高位的顺序,从左至右读。 两个使用RFCOMM通信的蓝牙设备可以打开多个仿真串行端…

[工具]B站缓存工具箱 (By 郭逍遥)

📌 项目简介 B站缓存工具箱是一个多功能的B站缓存工具,包含视频下载、缓存重载、文件合并及系统设置四大核心功能。基于yutto开发,采用图形化界面操作,极大简化B站资源获取与管理流程。 工具可以直接将原本缓存的视频读取&#…

算法训练营第十三天|226.翻转二叉树、101. 对称二叉树、 104.二叉树的最大深度、111.二叉树的最小深度

递归 递归三部曲: 1.确定参数和返回值2.确定终止条件3.确定单层逻辑 226.翻转二叉树 题目 思路与解法 第一想法: 递归,对每个结点进行反转 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, le…

sunset:Solstice靶场

sunset:Solstice https://www.vulnhub.com/entry/sunset-solstice,499/ 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182,靶场IP192.168.23.244 3&#xff…