`
kiddwyl
  • 浏览: 403436 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从 v$session 视图获取客户端 IP 地址

 
阅读更多
    缺省从 v$session 中不能直接获得客户端 IP,可以在数据库中创建一个追踪客户端IP地址的触发器:

create or replace trigger on_logon_trigger after logon on database
begin
    dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
end;
/

现在就可以在 V$SESSION 视图的 CLIENT_INFO 列中看到新登录的客户端IP地址了。

col sid for 9999
col serial# for 999999
col username for a15
col program for a20
col machine for a30
col client_info for a15

select sid,serial#,username,program,machine,client_info
from v$session
where username is not null
order by username,program,machine;
分享到:
评论

相关推荐

    oracle_v$session_v$session_wait用途详解

    Oracle 数据库提供了大量的动态性能视图(Dynamic Performance Views),其中 `V$SESSION` 和 `V$SESSION_WAIT` 是两个非常重要的视图,它们能够帮助数据库管理员深入了解当前会话的状态以及等待事件的信息。...

    DBA常用SQL语句

    ### DBA常用SQL语句详解 #### 一、查看表空间的名称及大小 这条SQL语句用于查询Oracle数据库中的所有表空间及其总大小。它通过`dba_tablespaces`和`...通常可以通过`v$session`视图结合其他视图来查询客户端IP地址。

    SQL_最实用的学习资料没有之一

    - `SYS_CONTEXT('USERENV', 'IP_ADDRESS')`: 获取客户端的IP地址。 此命令返回客户端连接到数据库时使用的IP地址。 **10. 创建追踪客户端IP地址的触发器** - **语法:** ```sql SQL> CREATE OR REPLACE TRIGGER...

    优化常用脚本.txt

    - **解释:**此命令用于获取当前连接到数据库的客户端IP地址。 2. **创建触发器记录登录客户端IP地址:** - **SQL命令:** ```sql SQL>create or replace trigger on_logon_trigger after logon on database ...

    oracle常用sql语句

    ### Oracle常用SQL语句知识点详解 #### 一、查看表空间的名称及大小 通过以下SQL语句可以查询Oracle数据库中各个表空间的名称及其占用的空间...1. **`sys_context()`**:函数,用于获取用户环境变量中的客户端IP地址。

    Oracle应用常见傻瓜问题 1000问

    可以使用`V$SESSION`视图来查看当前连接的信息,包括客户端地址等。例如: ```sql SELECT s.sid, s.serial#, s.username, s.osuser, s.machine FROM v$session s; ``` #### 10. 使用什么语句查询字段? 要查询表中...

    ORACLE常用問題1000問

    - 可以通过查询`v$session`视图来获取当前活跃的用户列表: ```sql select username from v$session; ``` ### 获取数据库的SID 19. **获取数据库的SID** - 可以直接查询`v$database`视图来获取数据库的SID: ...

    OPC+UA客户端访问与服务端测试(C#)

    首先,OPC UA客户端是连接到OPC UA服务器以获取或设置数据的应用程序。在C#中,可以使用.NET框架的OPC UA库,如OPCFoundation.NETStandard.Opc.Ua,来创建客户端。客户端通常需要完成以下步骤: 1. **配置连接**:...

    ORACLE常用傻瓜问题1000问

    - 该命令可以帮助我们获取当前会话的客户端IP地址。 以上内容覆盖了Oracle数据库从安装到日常管理的多个方面,希望能对您有所帮助。对于Oracle数据库的学习者和管理员来说,熟练掌握这些基础知识是非常重要的。

    servlet+cookie和Session

    例如,可以使用`getParameter()`方法获取请求参数,`getRemoteAddr()`获取客户端IP,`getUserAgent()`获取用户代理信息。此外,`HttpServletRequest`还提供了诸如`getSession()`方法,用于创建或获取HttpSession对象...

    创建监控表的DML的触发器-0422

    此方案的核心在于利用Oracle数据库中的系统视图,如`v$session`、`v$sql`、`v$cursor`等来获取修改操作的相关信息。 #### 准备工作 首先,需要确保具有足够的权限来执行以下步骤。例如,可以使用SYSDBA权限连接...

    ORACLE之常用FAQ V1.0(整理)

    - **解答:** 获取客户端 IP 地址可以通过 V$SESSION 动态性能视图中的 CLIENT_ADDRESS 列来实现。例如: ```sql SELECT s.client_address FROM v$session s WHERE s.sid = SYS_CONTEXT('USERENV', 'SID'); ```...

    SQL语句实现查询SQL Server服务器名称和IP地址

    如果由于安全原因无法使用`xp_cmdshell`,你可以查询`SYS.DM_EXEC_CONNECTIONS`视图来获取当前连接的IP地址。这将返回SQL Server实例的本地网络地址(`LOCAL_NET_ADDRESS`)和客户端的IP地址(`CLIENT_NET_ADDRESS`...

    oracle傻瓜问题1000问

    要查看用户登录Oracle数据库时使用的客户端地址,可以查询V$SESSION视图中的`CLIENT_INFO`或`CLIENT_HOST`列。例如: ``` SELECT username, client_host FROM v$session WHERE username = '用户名'; ``` ### 10. ...

    (word完整版)Oracle11G日常维护手册.doc

    - 客户端tnsnames:tnsnames.ora文件在客户端定义了如何连接到数据库的服务名,包括主机名、端口号和SID,方便用户通过服务名而非直接IP地址和端口连接数据库。 - 检查Oracle Listener:使用`lsnrctl status`命令...

    oracle语句大全

    - 通过SQL Plus命令`sqlplus '/AS SYSDBA'`登录到Oracle实例后,可以通过查询`v$version`视图来查看当前Oracle版本的详细信息,包括位数信息。例如,对于Oracle 9i,可以看到其版本号和所支持的功能选项。 #### 二...

    php面试题(完整版整理)

    5. 获取客户端IP和服务器IP: ```php $_SERVER["REMOTE_ADDR"]; // 获取客户端IP getenv("REMOTE_ADDR"); // 同样获取客户端IP ``` 6. `error_reporting`函数:用于设置错误报告级别,控制PHP在运行时报告何种错误...

    JAVA程序员面试题

    getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字 getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字 getServletPath():获取客户端所请求的脚本文件...

Global site tag (gtag.js) - Google Analytics