Oracle 安裝完成後會在作業系統註冊多項服務,理解各服務職能是連線故障排除的基礎。
| 服務名稱 | 功能描述 | 啟動建議 |
|---|---|---|
| OracleService | 資料庫核心執行個體服務(SGA、背景程序) | 自動/手動(視資源而定) |
| Oracle | 網路監聽器,接收客戶端連線請求並轉派 | 自動(遠端連線必須) |
| OracleDBConsole | Enterprise Manager Database Console 管理介面 | 手動(需 Web 管理時啟動) |
| OracleJobScheduler | 排程工作執行服務 | 自動 |
| Oracle | 舊版 Web 版 SQL*Plus(11g 後棄用) | 停用 |
@echo off REM === 啟動 Oracle 11g 服務 === echo 確定要啟動 Oracle 11g 服務嗎? pause net start OracleOraDb11g_home1TNSListener net start OracleServiceORCL net start OracleDBConsoleorcl echo 啟動完成,請確認有無錯誤。 pause @echo off REM === 停止 Oracle 11g 服務 === echo 確定要停止 Oracle 11g 服務嗎? pause net stop OracleDBConsoleorcl net stop OracleServiceORCL net stop OracleOraDb11g_home1TNSListener echo 停止完成,請確認有無錯誤。 pause
客戶端與資料庫同機,不經 Listener,直接生成專用伺服器程序。依賴 ORACLE_SID 與 ORACLE_HOME 環境變數。
C:\> sqlplus /nolog SQL> CONN / AS SYSDBA -- OS 驗證,需屬於 ORA_DBA 群組 SQL> CONN system/password -- 資料庫帳號驗證
需 Listener 服務運行,客戶端透過服務名稱或 SID 連線。
C:\> sqlplus user/pass@db_service_name C:\> sqlplus user/pass@//host:port/service_name -- EZCONNECT 易連線語法
連線模式 權限層級 適用角色 典型操作 Normal 一般使用者 開發人員、分析師 查詢、開發、測試、DML SYSDBA 系統管理員 DBA 啟停庫、備份恢復、參數調整、建立使用者 SYSOPER 系統操作員 運維人員 啟停庫、備份恢復、資料檔管理(無法查詢使用者資料) 連線設定步驟
- Tools → Preferences → Connection
- Oracle Home:選擇正確的 Client Home 路徑
- OCI Library:指向
oci.dll(通常在$ORACLE_HOME/bin)- Database:輸入 TNS 服務名稱或 EZCONNECT 字串
- User/Password:輸入帳號密碼
- Connection Type:選擇 Normal/SYSDBA/SYSOPER
- 測試連線 → 確定
常見連線問題排查
| 錯誤代碼 | 原因 | 解決方向 |
|---|---|---|
| ORA-12154: TNS:could not resolve | tnsnames.ora 設定錯誤或找不到 | 檢查 TNS_ADMIN、tnsnames.ora 語法、服務名稱拼寫 |
| ORA-12541: TNS:no listener | Listener 未啟動或 Port 錯誤 | 啟動 Listener、檢查 listener.ora、防火牆 Port 1521 |
| ORA-12514: TNS:listener does not currently know | 服務未向 Listener 註冊 | 檢查 SERVICE_NAME、LOCAL_LISTENER 參數、PMON 註冊狀態 |
| ORA-01017: invalid username/password | 帳號密碼錯誤、大小寫敏感 | 確認密碼、檢查 SEC_CASE_SENSITIVE_LOGON、Profile 密碼過期 |
| ORA-28000: the account is locked | 帳號被鎖定 | ALTER USER username ACCOUNT UNLOCK; |