与防火墙类似的功能,Oracle 提供限制与允许特定的IP或主机名通过Oracle Net来访问数据库。这个功能由sqlnet.ora配置文件来实
现。该文件通常$ORACLE_HOME/network/admin/ 目录下,与tnsnames.ora以及listener.ora位于同一路径。用法也比较简单。通过监听器的
限制,实现轻量级访问限制,比在数据库内部通过触发器进行限制效率要高。cd $ORACLE_HOME/network/admin/
vi sqlnet.ora
tcp.validnode_checking = yes
#tcp.invited_nodes=() #允许访问的IP列表或主机名,用逗号分隔
tcp.excluded_nodes=() #限制访问的IP列表或主机名,用逗号分隔
说明:
不能同时使用tcp.invited_nodes和tcp.excluded_nodes
只能指定具体的IP地址,不能指定IP段
只能限制TCP协议
需要重启监听生效:lsnrctl stop
示例:
&vi sqlnet.ora# sqlnet.ora Network Configuration File: /g01/grid/asm/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /g01/grid
tcp.validnode_checking = yes
tcp.excluded_nodes = (xxx.100.xxx.94)
&lsnrctl stop
&lsnrctl start
#find /var/tmp/ -name *.log -exec rm -fr
#chfs -a size=+2G /var
#chfs -a size=+1024M /var