数据库层面上限制ip访问oracle数据库
1,修改sqlnet.ora文件
文件位于$ORACLE_HOME/network/admin目录下面,需要添加:
tcp.validnode_checking=yes
tcp.invited_nodes=(ip1,ip2..)#允许访问的ip,也可以是主机名
tcp.excluded_nodes=(ip1,ip2..)#禁止访问的ip,也可以是主机名
修改之后需要重新启动监听器。
2,利用触发器来限制
create or replace trigger refuse_logon
after logon on database
begin
if ora_client_ip_address='ip' or ora_client_ip_address='ip'
then
raise_application_error(-number,'该用户拒绝登陆',false);
--number表示提示的错误号,分号直接的是提示的拒绝登陆后的信息
end if;
end;