`
除了你无可取代
  • 浏览: 148109 次
  • 性别: Icon_minigender_1
  • 来自: 悲鸣洞穴
社区版块
存档分类
最新评论

plsql session

 
阅读更多
V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:
SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明这个session没有执行任何SQL语句。 PREV_HASH_VALUE和PREV_ADDRESS两列用来鉴别被session执行的上一条语句。

注意:当使用SQL*Plus进行选择时,确认你重定义的列宽不小于11以便看到完整的数值。

STATUS:这列用来判断session状态是:
Achtive:正执行SQL语句(waiting for/using a resource)
Inactive:等待操作(即等待需要执行的SQL语句)
Killed:被标注为删除

下列各列提供session的信息,可被用于当一个或多个combination未知时找到session。

Session信息
SID:SESSION标识,常用于连接其它列
SERIAL#:如果某个SID又被其它的session使用的话则此数值自增加(当一个 SESSION结束,另一个SESSION开始并使用了同一个SID)。
AUDSID:审查session ID唯一性,确认它通常也用于当寻找并行查询模式
USERNAME:当前session在oracle中的用户名。

Client信息
数据库session被一个运行在数据库服务器上或从中间服务器甚至桌面通过SQL*Net连接到数据库的客户端进程启动,下列各列提供这个客户端的信息
OSUSER:客户端操作系统用户名
MACHINE:客户端执行的机器
TERMINAL:客户端运行的终端
PROCESS:客户端进程的ID
PROGRAM:客户端执行的客户端程序
要显示用户所连接PC的 TERMINAL、OSUSER,需在该PC的ORACLE.INI或Windows中设置关键字TERMINAL,USERNAME。

Application信息
调用DBMS_APPLICATION_INFO包以设置一些信息区分用户。这将显示下列各列。
CLIENT_INFO:DBMS_APPLICATION_INFO中设置
ACTION:DBMS_APPLICATION_INFO中设置
MODULE:DBMS_APPLICATION_INFO中设置
下列V$SESSION列同样可能会被用到:
ROW_WAIT_OBJ#
ROW_WAIT_FILE#
ROW_WAIT_BLOCK#
ROW_WAIT_ROW#

V$SESSION中的连接列

Column View Joined Column(s)
SID V$SESSION_WAIT,,V$SESSTAT,,V$LOCK,V$SESSION_EVENT,V$OPEN_CURSOR SID
(SQL_HASH_VALUE, SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
(PREV_HASH_VALUE, PREV_SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
TADDR V$TRANSACTION ADDR
PADDR V$PROCESS ADDR


示例:
1.查找你的session信息
SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS
FROM V$SESSION WHERE audsid = userenv('SESSIONID');

2.当machine已知的情况下查找session
SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL
FROM V$SESSION
WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';

查找当前被某个指定session正在运行的sql语句。假设sessionID为100
select b.sql_text
from v$session a,v$sqlarea b
where a.sql_hash_value=b.hash_value and a.sid=100
寻找被指定session执行的SQL语句是一个公共需求,如果session是瓶颈的主要原因,那根据其当前在执行的语句可以查看session在做些什么。
分享到:
评论

相关推荐

    plsql_session.docx

    ### Oracle V$SESSION 视图详解与应用 #### 概述 在Oracle数据库管理中,理解和掌握`V$SESSION`视图是非常重要的。这个视图提供了关于当前活动会话(session)的详细信息,包括用户的SID(会话标识符)、执行的SQL...

    PLSQL应用程序开发

    - **预编译功能**:支持指定条件下的最佳编译,即通过`ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL`命令调整编译级别,从而优化编译结果。 - **条件编译**:通过`$IF`指令进行条件编译,使得程序可以根据不同的环境配置...

    PLSQL及使用方法文档

    - **SQL*Plus设置**:如果你在SQL*Plus中遇到乱码,可以尝试使用"ALTER SESSION SET NLS_CHARACTERSET"命令来临时改变会话的字符集。 - **文件编码**:确保编辑的SQL脚本或PL/SQL程序文件使用正确的文本编码,如...

    PLSQL Developer 10.0.5.1710 中文版

    Session mode: Multi OCI Library: D:\app\instantclient_12_1\oci.dll Use OCI7: False Allow Multiple Connections: True Preference Files D:\PLSQL Developer\Preferences\Default\Default.ini C:\Users\...

    PLSQL 创建新用户删除用户及用户权限的开通

    PLSQL 创建新用户删除用户及用户权限的开通 PLSQL 是一种强大的编程语言,广泛应用于 Oracle 数据库管理中。在 PLSQL 中,用户管理是一个非常重要的方面,本文将介绍如何创建新用户、删除用户、授予用户权限、查询...

    PLSQL Development

    "Oracle连接"不仅限于物理连接的建立,还涉及到连接池的管理,例如使用Oracle的DBMS_SESSION包来管理会话,或者通过DBMS_POOL来控制连接池,优化资源使用。在高并发环境中,有效的连接管理和池化策略对于性能优化至...

    PLSQL安全版本

    10. **库函数与包的使用**:Oracle提供了许多内置的库函数和包,如DBMS_SESSION,DBMS_OUTPUT等,它们可以帮助提高安全性,例如设置会话属性或记录调试信息。 11. **网络安全**:虽然不是PLSQL直接涉及的部分,但...

    表提示不能执行,PLSQL Developer

    在使用PLSQL Developer工具进行数据库开发的过程中,可能会遇到“表提示不能执行”的问题。这通常是因为用户对某些表或视图没有足够的权限所导致的。本文将详细介绍这一问题及其解决方案。 ### 一、问题背景 #### ...

    plsql创建用户练习

    - **connect角色:**在Oracle中,`connect`通常指代一种预定义的角色,它包含了一系列基本的权限,如`CREATE SESSION`等,允许用户登录数据库并执行一些基础操作。 - **注意:**虽然在语法上使用了`grant connect ...

    PLSQL.Developer(X64) v11.0.5.1790 主程序+ v11中文包+keygen - 副本

    Command Window "Disconnect" command did nothing in Single/Dual Session Mode Update to null in a merge statement could show incorrect "comparison with null" hint Command Window BEAUTIFY command could ...

    Oracle及PLSQL 培训资料

    6. **性能优化**:Oracle提供了一系列工具和特性,如 Explain Plan、SQL Trace、AWR(Automatic Workload Repository)、ASH(Active Session History),用于诊断和改善SQL查询性能。 接下来,PL/SQL的学习要点...

    plsqldev14.0.0.1961x64多语言版+sn.rar

    64位版本的 PLSQL 正式版,只能运行在64位系统中,需要你安装 64 位的 Oracle 客户端。 安装请查看说明。 APRIL 17, 2020 - VERSION 14.0 RELEASED Built-in Version Control support for Git and Subversion ...

    通过Oracle客户端 使用PLSQL连接远程数据库

    ### 通过Oracle客户端使用PLSQL连接远程数据库 #### 一、安装Oracle客户端 要通过PL/SQL Developer连接远程Oracle数据库,第一步是确保已正确安装Oracle客户端。本文档假设您已经下载了Oracle Instant Client的...

    PLSQL常用方法汇总

    ### PLSQL常用方法汇总 #### 一、ORACLE的启动和关闭 在ORACLE数据库管理中,正确地启动和关闭数据库是非常重要的操作之一。这部分主要介绍了如何在单机和双机环境中启动或关闭ORACLE系统。 ##### 1. 在单机环境...

    Oracle PLSQL ProGramming 开发指南

    ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 0; ``` 或者针对特定的过程进行优化编译设置: ```sql ALTER PROCEDURE bigproc COMPILE PLSQL_OPTIMIZE_LEVEL = 0; ``` 再通过`ALTER PROCEDURE bigproc COMPILE ...

    PLSQL及乱码解决

    标题中的“PLSQL”指的是Oracle数据库中的Procedural Language/Structured Query Language,即PL/SQL,它是SQL语言的扩展,提供了过程式编程的功能,用于在Oracle数据库中编写存储过程、函数、触发器等。PL/SQL结合...

    PLSQL Developer 8.0.3.1510 中文注册版下载

    PLSQL Developer 8.0.3.1510 中文注册版下载 Enhancements in PL/SQL Developer 8.0.3 ====================================== * Fixed Access Violation when dragging & dropping an empty item in the Logon ...

    PLSQL中记录被另一个用户锁住的原因及处理方法.txt

    ### PLSQL中记录被另一个用户锁住的原因及处理方法 #### 背景与概念 在数据库管理系统(DBMS)中,多个用户或应用程序可能同时访问相同的数据资源。为了确保数据的一致性和完整性,数据库系统通常会采用锁机制来...

    PLSQL简明操作手册

    登出操作同样简便,通过Session菜单选择Log off即可断开与数据库的连接,再次登录则选择Logon,重新输入用户名与密码。 #### 数据库文件导入与管理 PLSQL Developer支持多种格式的数据库文件导入,包括DMP文件、...

Global site tag (gtag.js) - Google Analytics