可以从v$session这个动态试图中获得当前会话的计算机名称(machine)字段,但是如果不是dba权限的用户查看该表需要对数据库的参数进行调整,是一个O7_dictionary_accessiblity,将该参数设为True(alter system set O7_dictionary_accessiblity=true;),这样就可以了

解决方案 »

  1.   

    那我那个insert语句该如何写呢? 我们原先的应用为一个b/s应用
      

  2.   

    SYS_CONTEXT('USERENV','IP_ADDRESS')
    可以获得客户端的IP
      

  3.   

    select
              SYS_CONTEXT('USERENV','TERMINAL') terminal,
              SYS_CONTEXT('USERENV','LANGUAGE') language,
              SYS_CONTEXT('USERENV','SESSIONID') sessionid,
              SYS_CONTEXT('USERENV','INSTANCE') instance,
              SYS_CONTEXT('USERENV','ENTRYID') entryid,
              SYS_CONTEXT('USERENV','ISDBA') isdba,
              SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory,
              SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency,
              SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar,
              SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format,
              SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language,
              SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,
              SYS_CONTEXT('USERENV','CURRENT_USER') current_user,
              SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid,
              SYS_CONTEXT('USERENV','SESSION_USER') session_user,
              SYS_CONTEXT('USERENV','SESSION_USERID') session_userid,
              SYS_CONTEXT('USERENV','PROXY_USER') proxy_user,
              SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid,
              SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain,
              SYS_CONTEXT('USERENV','DB_NAME') db_name,
              SYS_CONTEXT('USERENV','HOST') host,
              SYS_CONTEXT('USERENV','OS_USER') os_user,
              SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name,
              SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,
              SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol,
              SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id,
              SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,
              SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE')
    authentication_type,
              SYS_CONTEXT('USERENV','AUTHENTICATION_DATA')
    authentication_data
       from dual
    /就是使用SQL语句就可以查出来,有很多信息都可以从上面的语句获得
      

  4.   


    1、监察应用有无bug
    2、应用端最好有操作日志
      

  5.   

    飘的方法可行,既然在IE中能获得ip地址,那么你应该也能获得,不过如果人家不通过ie访问连接的话,那就不清楚了,可以考虑在系统表下作触发器,记录每个登录用户的连接信息