转帖 From https://yq.aliyun.com/ziliao/123360
create or replace trigger logon_ip_control after logon on database declare ip STRING(30); user STRING(30); begin SELECT SYS_CONTEXT('USERENV','SESSION_USER') into user from dual; SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') into ip from dual; if user='system' THEN IF ip not in ('127.0.0.1','10.24.200.200') THEN raise_application_error(-20001,'User '||user||' is not allowed to connect from '||ip); END IF; END IF; end; /