文件位于$ORACLE_HOME/network/admin/sqlnet.ora

我的电脑上是D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora

 

 想通过

sqlplus "/as sysdba"

登录时,应该这样设置:

SQLNET.AUTHENTICATION_SERVICES=(NTS)

上面这样是操作系统认证。

 

如果想通过

sqlplus sys/manager@orcl as sysdba

登录

那么,设置成上面或者下面都可以。

SQLNET.AUTHENTICATION_SERVICES=(none)

总结:

  1. 在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者 ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。
  2. 在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;设置为其他任何值都不能使用OS认证。

 

sqlnet.ora完整内容:

# sqlnet.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

注意:不要把NTS写成TNS,本人因为看到下面一行有TNS,于是写错了,导致一直连不上,后来仔细研究才发现是这里的问题。