位於 $ORACLE_HOME/network/admin:
NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)),類似 Linux nsswitch.conf。/etc/hosts。僅當 sqlnet.ora 包含 TNSNAMES 時生效。執行 sqlplus sys/oracle@orcl 時:
sqlnet.ora 解析順序,假設為 TNSNAMES。tnsnames.ora 找 orcl 記錄,取得 HOST、PORT、SERVICE_NAME。sqlplus / as sysdba: OS 認證,不需 Listener。sqlplus sys/oracle: 本機 Bequeath 連線,不需 Listener。sqlplus sys/oracle@orcl: 網路連線,**需 Listener 正常**。Sys/密碼檔驗證用戶不需資料庫 Open;一般用戶需資料庫 Open。
lsnrctl status/start/stop/services: 檢視 Listener 狀態與服務。tnsping orcl: 驗證客戶端 sqlnet.ora/tnsnames.ora 及 Listener 連通性。SQL> show sga / SELECT open_mode FROM v$database;: 確認 Instance/Database 狀態。修改 listener.ora 設定 GLOBAL_DBNAME,sqlnet.ora 設 NAMES.DIRECTORY_PATH=(HOSTNAME),客戶端直接 sqlplus sys/oracle@hostname 連線,免維護 tnsnames.ora。前提是 DNS/hosts 能正確解析主機名。