转帖 From https://yq.aliyun.com/ziliao/123360
create or replace trigger logon_ip_controlafter logon on databasedeclare ip STRING(30); user STRING(30);beginSELECT 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;/