select sys_context('userenv','ip_address') from dual;
触发器:用户登录时,记录IP地址
createorreplacetrigger on_login_trigger
after logon ondatabasebegin
dbms_application_info.set_client_info(sys_context('USERENV','IP_ADDRESS'));end;
查询ip与sql
select row_number() over (order bya.username, a.client_info, a.terminal) as id
, a.username, a.sid, a.serial# as serial_id, a.client_info, a.osuser, a.machine
, a.terminal, a.program, b.SQL_TEXT, logon_time, prev_exec_start
from v$session a, v$sql b
where a.username notin('DBSNMP','SYSMAN')
anda.sql_address = b.address(+)
order bya.username, a.client_info, a.terminal