首页 > Linux操作系统 > Linux操作系统 > 数据库的登录限制该怎么实现?
想写一个触发器,根据机器名(有一个白名单表)作出判断,能不能让此用户登录,不知道该怎么写?
我写了一个可貌似没有任何作用,不知道哪里有问题。user_login是白名单表。
create or replace trigger restrict_login
after logon on database
BEGIN
for c in (select count(*) a
from v$session
WHERE sid = Sys_Context('USERENV', 'SID') and (program='plsqldev.exe' OR PROGRAM='sqlplus.exe')
AND machine IN (SELECT machine FROM user_login)) loop
if c.a = 0 then
raise_application_error(-20000, 'No access from sqlplus');
end if;
end loop;
end;
/
原来LOGON TRIGGER对于DBA用户无效。问题解决。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22034023/viewspace-687295/ ,如需转载,请注明出处,否则将追究法律责任。