SQLNET.ORA 的常见用法
简介:
一、IP 黑白名单
相关参数
TCP.VALIDNODE_CHECKING = YES
使用这个参数来启用下边的两个参数。TCP.EXCLUDED_NODES = (list of IP addresses)
指定不允许访问oracle的节点,可以使用主机名或者IP地址 TCP.INVITED_NODES = (list of IP addresses)
指定允许访问db的客户端,他的优先级比TCP.EXCLUDED_NODES高。
一、IP 黑白名单
- 相关参数
- TCP.VALIDNODE_CHECKING = YES
使用这个参数来启用下边的两个参数。
- TCP.EXCLUDED_NODES = (list of IP addresses)
指定不允许访问oracle的节点,可以使用主机名或者IP地址
- TCP.INVITED_NODES = (list of IP addresses)
指定允许访问db的客户端,他的优先级比TCP.EXCLUDED_NODES高。
- 注意:
- excluded_nodes与invited_nodes为互斥方式,不可以同时使用
- 如果tcp.invited_nodes与tcp.excluded_nodes都存在,则tcp.invited_nodes优先
- 需要将本地地址,或者Cluster群集其他节点的地址都加入到允许列表,否则监听器可能无法启动
- 配置或修改之后,一定要重起监听或reload(lsnrctl reload listener)才能生效。
- 例子
tcp.invited_nodes = (192.168.1.192,192.168.1.193,192.168.1.194,192.168.2.*)
二、登录方式限定
- SQLNET.AUTHENTICATION_SERVICES= (NTS)
指定启动一个或多个认证服务none:no authentication methods, including Microsoft Windows native operating system authentication. When SQLNET.AUTHENTICATION_SERVICES is set to none, a valid user name and password can be used to access the database.
- all:所有的认证方式都支持
- beq:native operating system authentication for operating systems other than Microsoft Windows
- kerberos5:Kerberos authentication
- nts:Windows系统认证
- radius:Remote Authentication Dial-In User Service (RADIUS) authentication
- tcps:SSL authentication
- NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
指定client name解析方法的次序,默认是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname) tnsnames:客户端就会首先在tnsnames.ora文件中找orcl的记录(此处orcl为@后面的标记,由于不知道该如何具体称呼,所以此处用orcl代替,此处可能是库名,可能是tnsnames的名字,根据环境不同,所指的内容也不同)
- ldap(dictionary server):Set to resolve a database service name, net service name, or network service alias through a directory server.
- hostname/ezconnect:尝试把orcl当作一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例
- cds (分布式环境下):Set to resolve service information through an existing Network Information Service (NIS).
- nis (Network Information Service (NIS)
三、其它限制
- 时间限制
连接超时时间,即连接300秒没有活动自动断开连接。
sqlnet.expire_time = 300
- 版本限制
可以对客户端的版本进行限制,8代表必须是8i以上版本的客户端才允许连进来
- 12c以前版本(Version 9.2.0.8 to 11.2.0.4)
SQLNET_ALLOWED_LOGON_VERSION=8;
- 12c(默认只允许11g和12c客户端连进来)
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
四、Windows下的配置
- SQLNET.AUTHENTICATION_SERVICES 必须设置为NTS 或者ALL 才能使用OS 认证;不设置或者设置为其他任何值都不能使用OS 认证。
- 该用户必须属于OSDBA 组才能以sysdba 身份登录。这里的OSDBA 组在不同类型的操作系统上,名称会不一样。在unix 系统上名称为“dba ” ,而在windows 系统上名称则为“ORA_DBA ” 。
- 要保证 remote_login_passwordfile 参数 = EXCLUSIVE