#查看当前不为空的连接
select * from v$session where username is not null

#查看不同用户的连接数

select username,count(username) from v$session where username is not null group by username

#连接数

select count(*) from v$session

#并发连接数

Select count(*) from v$session where status='ACTIVE' 

#最大连接

show parameter processes

#修改连接

alter system set processes = value scope = spfile

#查询锁表
select a.owner,
       a.object_name,
       a.subobject_name,
       a.object_type,
       l.session_id,
       l.oracle_username,
       l.os_user_name,
       se.SID,
       se.SERIAL#
  from  all_objects a, gv$locked_object l,V$session se
where a.object_id = l.object_id
       and se.OSUSER = l.os_user_name
       and l.oracle_username = 'username'; 
 
#杀掉某session     
 Alter system kill session 'SID,SERIAL#'

#v$session字段说明

SADDR: session address

SID: session identifier,常用于连接其它列。

SERIAL#: sid 会重用,但是同一个sid被重用时,serial#会增加,不会重复。

AUDSID: audit session id。可以通过audsid查询当前session的sid。

select sid from gv$session where audsid=userenv('sessionid');

PADDR: process address,关联v$process的addr字段,可以通过这个字段查处当前session对应操作系统的那个进程的id。

USER#: session's user id。等于dba_users中的user_id。Oracle内部进程的user#为0。

USERNAME: session's username。等于dba_users中的username。Oracle内部进程的username为空。

COMMAND: session正在执行的SQL Id。1代表create table,3代表select。

TADDR: 当前的transaction address。可以用来关联v$transaction的addr字段。

LOCKWAIT: 可以通过这个字段查询出当前正在等待的锁的相关信息。sid & lockwait与v$lock中的sid & kaddr相对应。

STATUS: 用来判断session状态。Active:正执行SQL语句。Inactive:等待操作。Killed:被标注为删除。

SERVER: server type (dedicated or shared)

SCHEMA#: schema user id。Oracle内部进程的schema#为0。

SCHEMANAME: schema username。Oracle内部进程的schemaname为sys。

OSUSER: 客户端操作系统用户名。

PROCESS: 客户端process id。

MACHINE: 客户端machine name。

TERMINAL: 客户端执行的terminal name。

PROGRAM: 客户端应用程序。比如ORACLE.EXE (PMON)或者sqlplus.exe

TYPE: session type (background or user)

SQL_ADDRESS, SQL_HASH_VALUE, SQL_ID, SQL_CHILD_NUMBER: session正在执行的sql statement,和v$sql中的address, hash_value, sql_id, child_number相对应。

PREV_SQL_ADDR, PREV_HASH_VALUE, PREV_SQL_ID, PREV_CHILD_NUMBER: 上一次执行的sql statement。

MODULE, MODULE_HASH, ACTION, ACTION_HASH, CLIENT_INFO: 应用通过DBMS_APPLICATION_INFO设置的一些信息。

FIXED_TABLE_SEQUENCE: 当session完成一个user call后就会增加的一个数值,也就是说,如果session inactive,它就不会增加。因此可以根据此字段的值变化来监控某个时间点以来的session的性能情况。例如,一个小时以前,某个session 的FIXED_TABLE_SEQUENCE是10000,而现在是20000,则表明一个小时内其user call比较频繁,可以重点关注此session的performance statistics。

ROW_WAIT_OBJ#: 被锁定行所在table的object_id。和dba_objects中的object_id关联可以得到被锁定的table name。

ROW_WAIT_FILE#: 被锁定行所在的datafile id。和v$datafile中的file#关联可以得到datafile name。

ROW_WAIT_BLOCK#: Identifier for the block containing the row specified in ROW_WAIT_ROW#

ROW_WAIT_ROW#: session当前正在等待的被锁定的行。

LOGON_TIME: session logon time

v$process字段详解

ADDR: process address。可以和v$session的paddr字段关联。

PID: Oracle进程identifier。

SPID: 操作系统进程identifier。

USERNAME: 操作系统进程的用户名。并非Oracle用户名。

SERIAL#:: process serial number。

TERMINAL: 操作系统terminal identifier(e.g., computer name)。

PROGRAM: 进程正在执行的程序(e.g., ORACLE.EXE (ARC0)),和v$session中的program类似。

BACKGROUND: 1代表oracle background process,null代表normal process。

查看当前用户的sid和serial#:
select sid, serial#, status from v$session where audsid=userenv('sessionid');

查看当前用户的spid:
select spid from v$process p, v$session s where s.audsid=userenv('sessionid') and s.paddr=p.addr;
select spid from v$process p join v$session s on p.addr=s.paddr and s.audsid=userenv('sessionid');

查看当前用户的trace file路径:
select p.value || '/' || t.instance || '_ora_' || ltrim(to_char(p.spid,'fm99999')) || '.trc'
 from v$process p, v$session s, v$parameter p, v$thread t
 where p.addr = s.paddr and s.audsid = userenv('sessionid') and p.name = 'user_dump_dest';

已知spid,查看当前正在执行或最近一次执行的语句:
select /*+ ordered */ sql_text from v$sqltext sql
 where (sql.hash_value, sql.address) in (
   select decode(sql_hash_value, 0, prev_hash_value, sql_hash_value), decode(sql_hash_value, 0, prev_sql_addr, sql_address)
   from v$session s where s.paddr = (select addr from v$process p where p.spid = to_number('&pid')))
 order by piece asc;

查看锁和等待:
col user_name format a10
col owner format a10
col object_name format a15
col sid format 999999
col serial# format 999999
col spid format a6
select /*+ rule */ lpad(' ', decode(l.xidusn, 0, 3, 0)) || l.oracle_username user_name,
 o.owner, o.object_name, o.object_type, s.sid, s.serial#, p.spid
 from v$locked_object l, dba_objects o, v$session s, v$process p
 where l.object_id = o.object_id and l.session_id = s.sid and s.paddr = p.addr
 order by o.object_id, xidusn desc;

【ORACLE】ORACLE session(会话)管理的更多相关文章

  1. session会话管理

    session会话和cookie一起被称为会话跟踪技术,主要通过保存在服务器端的session数据和客户端浏览器的cookie数据共同完成用户访问服务器的足迹记录. 1. 什么是会话 会话sessio ...

  2. .net用SQL Server进行session会话管理

    保存在内存中的session经常由于dll的变动导致丢失.有一种方法可以长期保存session,那就是session的SqlServer模式. ASP.NET允许将会话数据存储到一个数据库服务器中,方 ...

  3. 第二章 Session会话管理

    采用网址重写的缺点: 在有些Web浏览器中,URL限制为2000个字符. 仅当有链接要插入值时,值才能转换成后面的资源.此外,要把值添加到静态页面的链接中,可不是一件容易的事情. 网址重写必须在服务器 ...

  4. JavaWeb中Session会话管理,理解Http无状态处理机制

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512955067434271246/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...

  5. session会话管理,与过滤器使用,访问控制

    1 用户登录,是否注册用户,在登录处理页面进行用户验证,创建session保存用户名和密码 2否,进入用户注册页面 3是,系统保存该用户的登录信息 4进入要访问的页面 5用户直接访问某个页面, 6系统 ...

  6. 4.会话管理(Session)

    1.会话管理的概念和基本原理: 会话管理概念: 会话的实现过程: 2.使用Cookie.隐藏域.URL重写实现会话管理 创建并向客户端发送Cookie; 从客户端读取Cookies Cookie的方法 ...

  7. 分布式Tomcat session会话Sticky Sessions问题

    分布式session会话Sticky Sessions - tomcat_baby的专栏 - CSDN博客https://blog.csdn.net/tomcat_baby/article/detai ...

  8. JavaWeb中Cookie会话管理,理解Http无状态处理机制

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512995108961387015/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...

  9. oracle调优 浅析“会话管理开销”

    调优之浅析"会话管理开销"   [简单介绍]        在调优的过程中,对于会话的管理是比較普遍的问题,由于维护会话的开销相对是比較高的. [过程表现例如以下]         ...

  10. SQL Server与Oracle对比学习:权限管理(一)

    http://blog.csdn.net/weiwenhp/article/details/8093661 我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博 ...

随机推荐

  1. Tomcat的windows10集群搭建(一台电脑同时运行多个tomcat配置方法)

    配置方法(好久不配置了,忘记了,今天还是总结下吧): 1.官网下载tomcat ,我下载了tomcat6.0和tomcat7.0(以便区分) 官网地址:http://tomcat.apache.org ...

  2. Apache配置伪静态

    Apache配置伪静态 注意:本文中关于Apache的配置修改,一定要记得重启Apache服务 伪静态的实现有多种方法,比如通过获取path_info信息使用php逻辑来达到伪静态,使用Apache提 ...

  3. “undefined JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析

    如果编译时,报如下所示错误:../../third-party/hadoop/lib/libhdfs.a(jni_helper.c.o): In function `getGlobalJNIEnv': ...

  4. MFC中的DLL、LIb文件的创建、使用

     动态链接库Dynamic-Linked Lib 的创建与使用 动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软 ...

  5. CGLIB实现动态代理

    JDK动态代理和CGLIB字节码生成的区别? * JDK动态代理只能对实现了接口的类生成代理,而不能针对类 * CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法   因为是继承 ...

  6. 疑难杂症--SQL SERVER 18056的错误

    朋友遇到一个很棘手的问题,查看服务器日志,报以下错误: ::,spid296,未知,错误: ,严重性: ,状态: . ::,spid495,未知, The client was unable < ...

  7. 使用jdbc的方式访问kylin cube的数据

    使用jdbc的方式访问kylin cube的数据 引用kylin相关的jar包 <dependency> <groupId>org.apache.kylin</group ...

  8. jenkins-cli命令使用总结

    jenkins-cli命令使用总结 1.在jenkins中查看Jenkins CLI的相关说明 jenkins-->系统管理-->Jenkins CLI:如下图 下载:jenkins-cl ...

  9. Dockerfile文件参数详解

    参考: https://www.jianshu.com/p/e4b31ca37043 https://blog.csdn.net/u010246789/article/details/54139168 ...

  10. SQLServer 语句相关

     --查询两行张表不同的数据 --相同数据 select tel_no from a intersect select tel_no from b --不同数据 select tel_no from ...