客戶端連接 Oracle 需安裝 Oracle Net 通訊層 (含於 Client 安裝),唯 Java Thin Driver 例外。本文詳述安裝、配置 (sqlnet.ora、tnsnames.ora)、伺服器端驗證與常見錯誤排查。
NAMES.DIRECTORY_PATH = (TNSNAMES, ...) -- 預設即可 # NAMES.DEFAULT_DOMAIN = your_domain -- 易導致 ORA-12154,建議註解
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db-server)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = orcl)))
lsnrctl status-- 9i/10g+ sqlplus "/ as sysdba" SQL> STARTUP -- 8i svrmgrl SVRMGR> CONNECT INTERNAL SVRMGR> STARTUP
| 錯誤 | 原因 | 解法 |
|---|---|---|
| ORA-12154 | TNS 別名解析失敗 | 檢查 tnsnames.ora 拼寫、sqlnet.ora NAMES.DEFAULT_DOMAIN、防火牆/主機名解析 |
| ORA-12514 | Listener 無該服務 | 檢查 listener.ora SID_LIST、資料庫動態註冊 (PMON)、SERVICE_NAME 拼寫 |
| ORA-12541 | Listener 未啟動 | lsnrctl start |
| ORA-01017 | 帳號/密碼錯誤 | 確認大小寫、密碼過期、Profile 限制 |
jdbc:oracle:thin:@//host:port/service_name // 或 jdbc:oracle:thin:@host:port:SID
系統性檢查「Client 配置 → 網路通達 → Listener → 資料庫實例 → 認證」,能快速定位 90% 連線問題。