一个记录客户端session ip的触发器
作者 cyr1974
CREATE OR REPLACE TRIGGER record_ip_logon_trigger
AFTER LOGON ON DATABASE
DECLARE
v_user_identifier VARCHAR2 (64);
BEGIN
SELECT SYS_CONTEXT ('USERENV', 'OS_USER')
|| ':'
|| SYS_CONTEXT ('USERENV', 'IP_ADDRESS')
INTO v_user_identifier
FROM DUAL;
AFTER LOGON ON DATABASE
DECLARE
v_user_identifier VARCHAR2 (64);
BEGIN
SELECT SYS_CONTEXT ('USERENV', 'OS_USER')
|| ':'
|| SYS_CONTEXT ('USERENV', 'IP_ADDRESS')
INTO v_user_identifier
FROM DUAL;
DBMS_SESSION.set_identifier (v_user_identifier);
END;
/
这样在v$session里的client_identifier列里,可以直接看到session ip地址,以便我们在作进一步处理
通过创建一个触发器,可以在v$session的client_identifier列中记录客户端的IP地址,便于后续的数据处理。
89

被折叠的 条评论
为什么被折叠?



