`

登录触发器中(或过程中)获得当前会话的id v$mystat

阅读更多
如何在登录触发器中获得当前会话的id???  
   
  1.登录触发器中使用UserEnv('SESSIONID')出错  
  2.登录触发器中不能使用v$session,v$mystat,(用户甚至有dba权限阿)  
  3.只有当前用户名是不够的,因为同一个用户可能同时又多个连接。  
  4.如果采用Dbms_session.UNIQUE_SESSION_ID获得唯一序号,可如何和v$session中的当前会话记录对应起来,获得连接客户端的信息。  
   
  其实我的目的是,相为当前回话获得一个唯一标示,和当前连接客户端的信息,以便在以后的操作中使用。  
  谢谢各位关注   :)
触发器, session, 用户, 权限, 连接



---------------------------

create global temporary table usertype_temp2(SessionID integer,userid integer,  usertype integer) on Commit delete Rows ;
--方式一
insert into usertype_temp2  select sid,1,1 from v$mystat where rownum =1;
insert into usertype_temp2  select sid,2,2 from v$mystat where rownum =1;
insert into usertype_temp2  select sid,3,3 from v$mystat where rownum =1;

update usertype_temp2 set sessionid=(select sid from v$mystat where rownum =1)

--方式二 建立触发器

create or replace trigger usertype_temp2_t
before insert on usertype_temp2
for each row
begin
  select sid into :new.sessionid from v$mystat where rownum =1;
end;

--如果在建立触发器的时候提示找不到v$mystat 则是权限的问题
insert into usertype_temp2(userid,usertype) values(1,1);
insert into usertype_temp2(userid,usertype) values(2,2);
insert into usertype_temp2(userid,usertype) values(3,4);




--解决方案:

USER01@HUIYI>create or replace procedure t1 is
  2   l_sid number;
  3   l_serial number;
  4  begin
  5    select sid,serial# into l_sid,l_serial from sys.v_$session where audsid = userenv('sessionid');
  6    dbms_output.put_line(l_sid);
  7  end;
  8  /

警告: 建立的程序含有編譯錯誤.

USER01@HUIYI>show error
PROCEDURE T1 發生錯誤:

LINE/COL ERROR
-------- -----------------------------------------------------------------
5/3      PL/SQL: SQL Statement ignored
5/51     PL/SQL: ORA-00942: 表格或視觀表不存在

SYS@HUIYI>grant select on sys.v_$session to user01;

順利授權.

USER01@HUIYI>create or replace procedure t1 is
  2    l_sid number;
  3    l_serial number;
  4  begin
  5    select sid,serial# into l_sid,l_serial from sys.v_$session where audsid = userenv('sessionid');
  6    dbms_output.put_line(l_sid);
  7  end;
  8  /

已建立程序.

USER01@HUIYI>exec t1();
11

PL/SQL 程序順利完成.
分享到:
评论

相关推荐

    mystat使用方法

    oracle 的mystat使用方法,非常好用哦!不看后悔哦!

    oracle查看会话锁定的所有对象代码分享

    where session_id=(select sid from V$mystat where rownum=1) /(注:owner 列是所锁定对象的所有者) 您可能感兴趣的文章:ORACLE 查询被锁住的对象,并结束其会话的方法解析Oracle数据库中的对象集合schemaORACLE ...

    非常好用的sql语句(日常整理)

    1. /* 得到trace文件路径和名称 */ SELECT d.VALUE || '/' || LOWER (RTRIM (i.INSTANCE... FROM v$mystat m, v$session s, v$process p WHERE m.statistic# = 1 AND s.SID = m.SID AND p.addr = s.paddr) p, (SE

    如何定位Oracle数据库被锁阻塞会话的根源?

    首先再次明确下,数据库因为要同时保证数据的并发性... 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 update; ID N

    MyStat302Package

    MyStat302包装 MyStat302Package的目标是...安装您可以使用以下行安装MyStat302Package软件包: install.packages( " MyStat302Package " )例子这是一个基本示例,向您展示如何解决一个常见问题: library( MyStat...

    阿江酷站访问统计系统 V 2.2 正 式 版 041121

    1) 登录时必须删除站点ID中的数字才能以超级管理员的身份进入控制台。 2) 如果第五步时忘记了选择“压缩后立即启动”,则安装好后一切正常,但 是不计数。解决办法是重做第五步。 3) 安放嵌入代码的时候只放了...

    啊江统计系统v2.2

    阿江酷站访问统计系统 V 2.2 正 式 版 041121 ==================================== <br>感谢您选用阿江统计V2.2,该版本在速度、功能、稳定性和资源占用等方 面都得到了巨大的提升。希望新的版本能...

    Oracle 主要配置文件介绍

    系统级的环境变量一般在/etc/profile 文件中定义 在 CAMS 系统 与数据库 相关的环境变量就定义在/etc/profile 文件中 如下所示 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/...

    阿江统计2.2商业版

    1) 登录时必须删除站点ID中的数字才能以超级管理员的身份进入控制台。 2) 如果第五步时忘记了选择“压缩后立即启动”,则安装好后一切正常,但 是不计数。解决办法是重做第五步。 3) 安放嵌入代码的时候只放了...

    Webpack:构建webpack项目(来自MyStat的任务)

    Webpack:构建webpack项目(来自MyStat的任务)

    总浏览量统计插件for dvbbs7.0 sp2

    (如果你的服务器不支持fso,你可以手动更改config.asp中的文件,仅最后一项更改无效,但这不会影响到系统的使用。) 3.在你要统计的页面加入如下代码: 共有7种调用方式:(在服务器上浏览show.asp...

    流量统计源码 自己统计

    <script src="http://www.smcsj.com/annex/mystat/mystat.asp?style=no"> 关于删除历史的解释,系统会把每个访问的IP都记录下来,但为了系统效率,我们只记录3天内的详细IP 为了方便大家整合到自己的站里,我没有...

    仿cnzz.,51la网站统计源代码

    <script src="http://www.smcsj.com/annex/mystat/mystat.asp?style=no"> 关于删除历史的解释,系统会把每个访问的IP都记录下来,但为了系统效率,我们只记录3天内的详细IP 为了方便大家整合到自己的站里,我没有...

    企业产品发布管理系统

    //////////////////////////////////////// 企业产品发布管理系统使用说明 //////////////////////////////////////// 数据库联接文件: conn.asp; ...你的网址/system/mystat.asp"></script>

Global site tag (gtag.js) - Google Analytics