tcp.invited_nodes,验证可以工作,不过不支持IP段,只能一个一个设置IP地址,烦 还可以用登陆触发器 create or replace trigger logon_test after logon on database declare n_count number ; begin select count(*) into n_count from (select sys_context('userenv','ip_address') ip from dual) where ip like '192.168.1.%' ; if n_count=0 then raise_application_error(-20001,'error ip'); end if; end; / 注意: 数据库触发器对DBA权限的人是不处理的
例如:protocol.ora
tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.1.100)
这样只有192.168.1.100才能通过SQL*NET访问oracle server,其他host通过SQL*NET对oracle server的访问都会被拒绝。
又例如:protocol.ora
tcp.validnode_checking=yes
tcp.excluded_nodes=(192.168.1.100)
这样192.168.1.100通过SQL*NET对oracle server的访问就会被拒绝,而其他host则可以访问oracle server。
还可以用登陆触发器
create or replace trigger logon_test after logon on database
declare
n_count number ;
begin
select count(*) into n_count from (select sys_context('userenv','ip_address') ip from dual)
where ip like '192.168.1.%' ;
if n_count=0 then
raise_application_error(-20001,'error ip');
end if;
end;
/
注意: 数据库触发器对DBA权限的人是不处理的