linux下sqlnet.ora默认是不创建的,如果需要修改sqlnet.ora文件的相关参数,需要创建该文件;创建后sqlnet.ora位于$ORACLE_HOME/network/admin目录。
创建sqlnet.ora有两种方式:
1.netca创建
2.netmgr
3.手工创建
netca
netca=>Naming Methods configuration=>Local Naming(添加)=>下一步直到完成。
netmgr
netmgr=>Local=>Profile=>添加TNSNAMES、HOSTNAME、EZCONNECT
手工
vi sqlnet.ora
#添加如下内容
NAMES.DIRECTORY_PATH= (TNSNAMES)
SQLNET.AUTHENTICATION_SERVICES= ALL
SQLNET.AUTHENTICATION_SERVICES参数有三个可选值:
1.NONE,不进行任何设置,表示使用ORACLE默认验证模式
SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL> conn u_plsql
Enter password:
Connected.
SQL> conn u_plsql@bolan
Enter password:
Connected.
2.ALL,表示不仅接受OS身份验证模式,也接受密码认证方式
SQL> conn /as sysdba
Connected.
SQL> conn u_plsql
Enter password:
Connected.
SQL> conn u_plsql@bolan
Enter password:
Connected.
注:此处在第二次测试的时候,使用conn u_plsql@bolan没有通过
SQL> conn u_plsql@bolan
Enter password:
ERROR:
ORA-12641: Authentication service failed to initialize
3.NTS,是ORACLE默认验证模式,表示只接受密码认证方式
SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL> conn u_plsql
Enter password:
Connected.
SQL> conn u_plsql@bolan
Enter password:
Connected.
通过sqlnet.ora文件限制IP访问
#编辑sqlnet.ora文件
vi sqlnet.ora
#添加以下内容
#1.开启IP限制功能
tcp.validnode_checking=yes
#2.允许访问数据库的IP地址列表
tcp.invited_nodes=(192.168.14.3)
#3.禁止访问数据库的IP地址列表
tcp.excluded_nodes=(192.168.14.1)
#重启监听
lsnrctl stop
lsnrctl start
#或
lsnrctl reload
备注:编辑sqlnet.ora文件时,步骤1必须填写,步骤2和步骤3可以只写其中任意一条命令,如果步骤2和步骤3添加同一IP地址,以步骤2为准。同时需要注意的是不能禁止数据库所在服务器的IP地址(即步骤2中必须包含数据库服务器的IP,步骤3中不能添加数据库服务器的IP)