谢谢x_xy(sunny),不知道v$sessin中的SADDR,PADDR记录的是什么信息呢?

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/816/816385.xml?temp=.3292353
    说的比较清楚。
      

  2.   

    http://www.itpub.net/showthread.php?s=&threadid=39503&highlight=ORA02085
      

  3.   

    可以做一个触发器
    用以下的方式可以監控登入登出的用戶:
    創建如下的兩張表:
    create table login_log            --    登入登出信息表
    (
        session_id int not null,    --    sessionid
        login_on_time  date,        --    登入時間    
        login_off_time  date,        --    登出時間    
        user_in_db    varchar2(30),    --    登入的db user
        machine    varchar2(20),       --    機器名
        ip_address varchar2(20),    --    ip地址
        run_program varchar2(20)    --    以何程序登入
    );create table allow_user            --    網域用戶表
    (
        ip_address varchar2(20),        --    ip地址
        login_user_name nvarchar2(20)   --    操作者姓名
    );創建如下的兩個觸發器:
    create or replace trigger login_on_info        --    紀錄登入信息的觸發器
    after logon on database 
    Begin 
        insert into login_log(session_id,login_on_time,login_off_time,user_in_db,machine,ip_address,run_program)
        select AUDSID,sysdate,null,sys.login_user,machine,SYS_CONTEXT('USERENV','IP_ADDRESS'),program
        from v$session where AUDSID = USERENV('SESSIONID');  --當前SESSION
    END;create or replace trigger login_off_info    --    紀錄登出信息的觸發器
    before logoff on database 
    Begin
        update login_log set  login_off_time = sysdate
        where session_id = USERENV('SESSIONID');    --當前SESSION    
    exception
        when others then
            null;
    END;
      

  4.   

    你好ttjd(ttjd) ,我就是看了这个帖子拿到数据库上实验,环境为oracle 8.0.6, 系统提示SYS_CONTEXT,USERENV非法,我估计可能8.0.6不支持这些函数.我想知道在v$session中有SADDR和PADDR到底代表什么.
      

  5.   

    bluecetacean(蓝鲸) :好象是竹之草写的吧.
      

  6.   

    我是用sys.client_ip_address取得用户的ip的
    你可以试一下