查看当前会话的session ID 有如下三种方法:
1. v$mystat视图
SQL> desc v$mystat
NameNull? Type
------------------------------------------------- --------------
SIDNUMBER
STATISTIC# NUMBER
VALUENUMBER
SQL> select sid from v$mystat where rownum=1;
SID
----------
19
2. 使用userenv(‘sid’) 直接获取
这种方法只能在oracle10g以后可以使用。
SQL> select userenv('sid') from dual;
USERENV('SID')
--------------
19
3. 结合 userenv('sessionid') 与 v$session 视图
userenv('sessionid') 返回的是session audit id.其对应v$session 的audsid字段。
这在之前的blog中有说明。
OracleSYS.AUDSES$ 序列 说明
http://blog.csdn.net/tianlesoftware/article/details/7239890
在session 连接到数据库的时候,会从SYS.AUDSES$序列中获取一个audid 分配给session。
SQL> select sid from v$session where audsid=userenv('sessionid');
SID
----------
19
25
469
--这里返回了3个值,我们直接查看userenv('sessionid') 值:
SQL> select userenv('sessionid') from dual;
USERENV('SESSIONID')
--------------------
4294967295
在之前的AUDSES$的blog中提到:
对于internal用户(’/as sysoper’ 和 ‘/as sysdba’)和后台进程,其对应的AUDID 为0.
在Oracle 10g中,如果AUDID的值为0,表明是internal 用户,如果AUDID 值是4294967295,那么就表明是用SYS 用户直接连接的。
我们这里返回三个结果是把所有SYS 用户的session都返回了,所以这种方法有时的准确性并不高。
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Email: tianlesoftware@gmail.com
Skype: tianlesoftware
Blog: http://www.tianlesoftware.com
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----
DBA1 群:62697716(满); DBA2 群:62697977(满)DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929 DBA5群: 142216823
DBA6 群:158654907 DBA7 群:172855474 DBA总群:104207940
分享到:
相关推荐
OPTION=’SESSIONID’为当前会话标识符. OPTION=’ENTRYID’返回可审计的会话标识符. OPTION=’LANG’返回会话语言名称的ISO简记. OPTION=’INSTANCE’返回当前的实例. OPTION=’terminal’返回...
代码如下:select session_id sid, owner, name, type, mode_held... 您可能感兴趣的文章:ORACLE 查询被锁住的对象,并结束其会话的方法解析Oracle数据库中的对象集合schemaORACLE 常用的SQL语法和数据对象Oracle使用PL/
先查看哪些表被锁住了 select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid and sid in( select a.SESSION_ID from v$locked_object a,dba_objects b ...
今天碰到一个问题,有一张表不能操作,很可能是被锁了,首先想到的是kill session,于是执行了下列的脚本找到是哪个session有问题: 查看表是否被锁 SELECT /*+ rule*/ a.sid, b.owner, object_name, object_type ...
1、查找出被锁对象的会话ID和序列号 执行如下SQL: -- 查询出被锁对象,并提供 kill 脚本 SELECT S.SID, S.MACHINE, O.OBJECT_NAME, L.ORACLE_USERNAME, L.LOCKED_MODE, S.OSUSESR, 'ALTER SYSTEM KILL SESSION ''...
显示当前会话所具有的权限 select * from session_privs 显示指定用户所具有的系统权限 select * from dba_sys_privs 显示特权用户 select * from v$pwfile_users 查看名称包含log字符的表 ...
//根据用户分组会话 select t.USERNAME,count(*) from v$session t group by t.USERNAME //查找某一用户正在执行的sql_id值 select * from v$session t where t.USERNAME = 'BUDGET' and t.SQL_ID is not null //...
Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...
connect-session-knex是通过库由PostgreSQL,MySQL,MariaDB,MSSQL,Oracle或SQLite3支持的存储。 安装 $ npm install connect-session-knex 历史 参见 用法 选件\ntablename='sessions'要使用的表名。 默认为...
实验环境:Oracle 10.2.0.5 单实例 会话1、模拟业务操作: SQL> select sid from v$mystat where rownum=1; SID ———- 144 SQL> show user USER is "JINGYU" SQL> select * from t1 where id=1 for ...
如下所示 忽略以#开头的注释部分 : cams:/u01/app/oracle/product/8.1.7:Y 其中 cams 为实例 ID /u01/app/oracle/product/8.1.7为 ORACLE_HOME目 录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例...
Oracle 最常用的命令 1.登陆系统用户 :sqlplus 然后输入系统用户名和密码 登陆别的用户 : conn 用户名/密码; 2.创建表空间 create tablespace 空间名 datafile 'c:\空间名' size 15M --表空间的存放路径,...
ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...
1、 查看当前被解锁的对象 示例: 将表aa加锁 执行 select * from aa for update; 方式一:通过SQL查询 select ‘alter system kill session ‘,””||trim(t2.sid)||’,’||trim(t2.serial#)||”’;’ from v$...
你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性. 如果...
PGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA区总和即为...
第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...
vs.SID 会话id, vs.SERIAL# 会话SERIAL, vp.SPID 系统进程号, vs.USERNAME 用户名, vs.PROGRAM 应用程序, vs.STATUS 状态, vq.SQL_TEXT 执行的SQL from v$process vp, v$session vs, v$sqlarea vq where...
0、数据库参数属性col PROPERTY_NAME ... 1、求当前会话的SID,SERIAL#SELECT Sid, Serial# FROM V$sessionWHERE Audsid = Sys_Context('USERENV', 'SESSIONID'); 2、查询session的OS进程IDSELECT p.Spid "OS Thread",
SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from ....