【发布时间】:2014-12-10 13:59:26
【问题描述】:
有没有办法在 Netezza 中返回客户端 IP 地址?在 Oracle 中,我们运行下面的查询。
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
谢谢
【问题讨论】:
标签: netezza
有没有办法在 Netezza 中返回客户端 IP 地址?在 Oracle 中,我们运行下面的查询。
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
谢谢
【问题讨论】:
标签: netezza
此查询可以为您提供有关 current_session 所需的所有信息。
select client_ip
from _v_session_detail
where session_id= CURRENT_SID
【讨论】:
如果您不尝试将其作为表中的列访问,则可以使用“显示会话”来提供该信息。
SYSTEM.ADMIN(ADMIN)=> SYSTEM.ADMIN(ADMIN)=> show session;
SESSION_ID | PID | USERNAME | DBNAME | SCHEMA | TYPE | CONNECT_TIME | SESSION_STATE_NAME | SQLTEXT | PRIORITY_NAME | CLIENT_PID | CLIENT_IP | CLIENT_OS_USERNAME
------------+-------+----------+--------+--------+------+---------------------+--------------------+--------------+---------------+------------+-----------+--------------------
16228 | 10272 | ADMIN | SYSTEM | ADMIN | sql | 2014-12-10 10:56:48 | active | show session | normal | 10271 | 127.0.0.1 |
(1 row)
您还可以查询 _v_session,它会报告您可以查看/授权查看的会话,但不一定告诉您哪一个是您的。对于非管理员用户,这通常只是您的会话,因此应该很容易分辨。
SYSTEM.ADMIN(ADMIN)=> select * from _v_session;
ID | PID | USERNAME | DBNAME | TYPE | CONNTIME | STATUS | COMMAND | PRIORITY | CID | IPADDR | CLIENT_OS_USERNAME
-------+-------+----------+--------+------+---------------------+--------+--------------------------+----------+-------+-----------+--------------------
16228 | 10272 | ADMIN | SYSTEM | sql | 2014-12-10 10:56:48 | active | select * from _v_session | 3 | 10271 | 127.0.0.1 |
(1 row)
如果您只需要有关您正在调用查询的特定会话的信息,那么这可以解决问题。
SYSTEM.ADMIN(ADMIN)=> select * from _v_session where id = current_sid;
ID | PID | USERNAME | DBNAME | TYPE | CONNTIME | STATUS | COMMAND | PRIORITY | CID | IPADDR | CLIENT_OS_USERNAME
-------+-------+----------+--------+------+---------------------+--------+-------------------------------------------------+----------+-------+-----------+--------------------
16837 | 22310 | ADMIN | SYSTEM | sql | 2014-12-10 19:06:21 | active | select * from _v_session where id = current_sid | 3 | 22309 | 127.0.0.1 |
(1 row)
我应该注意,您在此处查找的内容已经被查询历史数据库跟踪,该数据库很可能已经在您的系统上进行了配置。
【讨论】: