通过Oracle数据库的触发器实现,例如:TEST为测试账号、绑定的IP为:10.142.244.30
CREATE OR REPLACE TRIGoracle账号GER sys.trg_work_log
AFTER LOGON ON DATABASE
declare
v_program_name varchar2(200);
v_username varchar2(100);
v_ip varchar2(18);
v_error varchar2(1000);
begin
select username,program,SYS_CONTEXT('USERENV','IP_ADDRESS')
into v_username,v_program_name,v_ip
from sys.v_$session where AUDSID = SYS_CONTEXT('USERENV', 'SESSIONID');
if (upper(v_username)='TEST') then
if (UPPER(v_program_name) = 'SQLPLUS.EXE') then
if (v_ip = ('10.142.244.30')) then
RAISE_APPLICATION_ERROR(-20001,'You are not allowed to connect to the database,err01');
end if;
ELSE
RAISE_APPLICATION_ERROR(-20001,'不能使用sqlplus登陸');
end if;
else
RAISE_APPLICATION_ERROR(-20001,'You are not allowed to connect to the database');
end if;
END ;
/
文章归档
- 2021年11月 (79)
- 2021年10月 (102)
- 2021年9月 (77)
- 2021年8月 (97)
- 2021年7月 (94)
- 2021年6月 (92)
- 2021年5月 (72)
- 2021年4月 (114)
- 2021年3月 (91)
- 2021年2月 (84)
- 2021年1月 (94)
- 2020年12月 (94)
- 2020年11月 (83)
- 2020年10月 (90)
- 2020年9月 (84)
- 2020年8月 (101)
- 2020年7月 (100)
- 2020年6月 (85)
- 2020年5月 (97)
- 2020年4月 (93)
- 2020年3月 (99)
- 2020年2月 (79)
- 2020年1月 (102)
- 2019年12月 (87)
- 2019年11月 (106)
- 2019年10月 (100)
- 2019年9月 (102)
- 2019年8月 (88)
- 2019年7月 (90)
- 2019年6月 (94)
- 2019年5月 (99)
- 2019年4月 (97)
- 2019年3月 (86)
- 2019年2月 (90)
- 2019年1月 (94)
- 2018年12月 (116)
- 2018年11月 (9)