文件定位
$ORACLE_HOME/network/admin/sqlnet.ora(服務端與客戶端均有),文本格式,控制客戶端連接行為。
兩大核心參數
# 指定認證服務
SQLNET.AUTHENTICATION_SERVICES = (NTS)
# 指定客戶端名稱解析順序
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
1. SQLNET.AUTHENTICATION_SERVICES
| 值 | 含義 |
| NONE | 禁止 OS 認證,必須提供用戶名/密碼 |
| ALL | 允許所有認證方式 |
| NTS | 允許本地 OS 用戶認證(Windows 域/本地用戶) |
生產常用 NTS(Windows)或 NONE(Linux,強制密碼登入)。
2. NAMES.DIRECTORY_PATH
客戶端解析 @db_alias 的順序:
- TNSNAMES:優先查
tnsnames.ora 別名定義;
- EZCONNECT:易連接語法
user/pwd@host:port/service_name,無需 tnsnames.ora;
- HOSTNAME:將別名作為主機名進行 DNS 解析(舊版默認)。
建議顯式配置 (TNSNAMES, EZCONNECT),避免不必要的 DNS 查詢。
EZCONNECT 示例
sqlplus scott/tiger@192.168.1.100:1521/orcl
-- 等效於 tnsnames.ora 中定義的別名
總結
sqlnet.ora 是連接層「交通規則」;
- 認證方式決定「誰能進門」;
- 名稱解析順序決定「怎麼找到門」。
- 上一篇文章: Oracle 數據庫啟動原理:三階段流程與自動啟動機制
- 下一篇文章: Oracle 監聽配置全攻略:listener.ora、tnsnames.ora、sqlnet.ora 三劍合璧
Copyright ©
程式碼之家 All Rights Reserved