修改配置文件sqlnet.ora, 加入
#开启对ip地址的检查
tcp.validnode_checking=yes
#允许访问的ip
tcp.invited_nodes=(10.0.0.158)
#禁止访问的ip
ip.excluded_nodes=(10.0.0.30)
要注意几点:
1、tcp.invited_nodes与tcp.excluded_nodes都存在时,以tcp.invited_nodes为主
2、修改之后,一定要重起监听(lsnrctl reload)才能生效,而不需要重新启动数据库
3、只适用于TCP/IP协议
4. 不能限制IP段的访问,可使用trigger也解决。
例:登陆触发器
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权限的人是不处理的
阅读(1516) | 评论(0) | 转发(0) |