iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何查看oracle当前session信息
  • 764
分享到

如何查看oracle当前session信息

2024-04-02 19:04:59 764人浏览 八月长安
摘要

       如何查看oracle当前session信息               &n

       如何查看oracle当前session信息                    

 
 

怎样查看Oracle当前的连接数呢?只需要用下面的sql语句查询一下就可以了。

#查看当前不为空的连接
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, v$locked_object l,V$session se
where a.object_id = l.object_id
       and se.OSUSER = l.os_user_name
       and l.oracle_username = 'mcczjzx';
 
#杀掉某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 v$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 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 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;


您可能感兴趣的文档:

--结束END--

本文标题: 如何查看oracle当前session信息

本文链接: https://www.lsjlt.com/news/42915.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ORACLE查看当前账号的相关信息
    关于Oracle数据库的账号,我们在维护数据库的时候,偶尔可能需要获取一些特殊信息。例如,账号的创建时间、账号的状态、账号的锁定时间.....。正常情况下,我们可以通过DBA_USE...
    99+
    2024-04-02
  • linux怎么查看当前版本信息
    在Linux系统中,可以通过以下命令查看当前版本信息:1. 使用lsb_release命令:```lsb_release -a```...
    99+
    2023-09-15
    linux
  • oracle如何查看当前用户
    在Oracle数据库中,要查看当前用户,可以使用以下SQL查询语句: SELECT USER FROM DUAL; 执行这...
    99+
    2024-04-12
    oracle
  • Linux下怎么查看当前版本信息
    这篇文章主要讲解了“Linux下怎么查看当前版本信息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下怎么查看当前版本信息”吧!Linux下如何查看版本信息, 包括位数、版本信息以及...
    99+
    2023-06-06
  • oracle如何查看当前实例名
    在Oracle数据库中,可以通过以下方式来查看当前实例名: 使用SQL查询语句查看当前实例名: SELECT INSTA...
    99+
    2024-04-20
    oracle
  • Linux怎么查看cpu当前的各种信息
    本篇内容主要讲解“Linux怎么查看cpu当前的各种信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux怎么查看cpu当前的各种信息”吧!Linux下如何查看CPU信息, 包括位数和多核...
    99+
    2023-06-16
  • 如何查看锁定的session信息脚本
    这篇文章将为大家详细讲解有关如何查看锁定的session信息脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。        &n...
    99+
    2024-04-02
  • oracle如何查看当前连接用户
    要查看当前连接到Oracle数据库的用户,可以使用以下命令:```sqlSELECT USERNAME FROM V$SES...
    99+
    2023-08-25
    oracle
  • oracle如何查看当前用户的表空间
    在Oracle数据库中,要查看当前用户的默认表空间,可以使用以下SQL查询: SELECT DEFAULT_TABLESPA...
    99+
    2024-05-13
    oracle
  • oracle如何查看dblink的详细信息
    可以通过以下步骤查看 oracle dblink 详细信息:查询 v$dblink 视图。查看查询结果,其中包括 dblink 名称、用户名、主机、sid、服务名和连接字符串等信息。使用...
    99+
    2024-05-13
    oracle
  • 如何查看oracle统计信息收集
    本篇内容主要讲解“如何查看oracle统计信息收集”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何查看oracle统计信息收集”吧!查看统计信息收集时间:al...
    99+
    2024-04-02
  • Oracle 12c如何查看CDB&PDBs信息
    这篇文章给大家分享的是有关Oracle 12c如何查看CDB&PDBs信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查看CDB&PDBs信息(SQL*PLUS...
    99+
    2024-04-02
  • mysql如何查看当前进程
    要查看当前MySQL进程,可以使用以下两种方法: 使用MySQL自带的SHOW PROCESSLIST命令。可以登录到MySQL控...
    99+
    2024-04-17
    mysql
  • linux如何查看当前用户
    这篇文章主要介绍了linux如何查看当前用户的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux如何查看当前用户文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-01-06
    linux
  • 如何查看Docker信息
    小编给大家分享一下如何查看Docker信息,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!查看Docker信息docker&nbs...
    99+
    2024-04-02
  • linux如何列出当前文件信息
    在 Linux 系统中,可以使用 `ls` 命令来列出当前文件夹中的文件信息。以下是一些常用的 `ls` 命令选项:- `ls`:列...
    99+
    2023-09-16
    linux
  • python查看如何查看版本信息
    问题如题,解决方案为编写脚本如下,运行。 #!/usr/bin/python import sys print sys.version print sys.version_info ...
    99+
    2023-01-31
    版本 信息 python
  • mysql当前连接数如何查看
    可以使用以下命令来查看当前连接数: SHOW STATUS WHERE `variable_name` = 'Th...
    99+
    2024-04-15
    mysql
  • oracle怎么查看当前pdb容器
    要更详细地查看当前的PDB容器,你可以使用以下步骤: 连接到Oracle数据库:使用SQL*Plus、SQL Developer或...
    99+
    2024-04-09
    oracle
  • mongodb如何查看当前所在库
    要在 MongoDB 中详细查看当前所在的数据库,您可以使用以下命令: db.getName() 这将返回当前所在的数据库名称。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作