首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 資料庫連線全攻略:服務架構、連線模式、PL/SQL Developer 設定實務

     編輯:Oracle 教學

Oracle 服務架構與關鍵 Windows 服務

Oracle 安裝完成後會在作業系統註冊多項服務,理解各服務職能是連線故障排除的基礎。

服務名稱功能描述啟動建議
OracleService資料庫核心執行個體服務(SGA、背景程序)自動/手動(視資源而定)
OracleTNSListener網路監聽器,接收客戶端連線請求並轉派自動(遠端連線必須)
OracleDBConsoleEnterprise Manager Database Console 管理介面手動(需 Web 管理時啟動)
OracleJobScheduler排程工作執行服務自動
OracleiSQL*Plus舊版 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

SQL*Plus 連線模式詳解

1. 本地連線(Bequeath Protocol)

客戶端與資料庫同機,不經 Listener,直接生成專用伺服器程序。依賴 ORACLE_SID 與 ORACLE_HOME 環境變數。

C:\> sqlplus /nolog
SQL> CONN / AS SYSDBA          -- OS 驗證,需屬於 ORA_DBA 群組
SQL> CONN system/password      -- 資料庫帳號驗證

2. 遠端/網路連線(TNS/Listener)

需 Listener 服務運行,客戶端透過服務名稱或 SID 連線。

C:\> sqlplus user/pass@db_service_name
C:\> sqlplus user/pass@//host:port/service_name   -- EZCONNECT 易連線語法

3. 進階連線選項

連線模式權限層級適用角色典型操作
Normal一般使用者開發人員、分析師查詢、開發、測試、DML
SYSDBA系統管理員DBA啟停庫、備份恢復、參數調整、建立使用者
SYSOPER系統操作員運維人員啟停庫、備份恢復、資料檔管理(無法查詢使用者資料)


連線設定步驟

  1. Tools → Preferences → Connection
  2. Oracle Home:選擇正確的 Client Home 路徑
  3. OCI Library:指向 oci.dll(通常在 $ORACLE_HOME/bin)
  4. Database:輸入 TNS 服務名稱或 EZCONNECT 字串
  5. User/Password:輸入帳號密碼
  6. Connection Type:選擇 Normal/SYSDBA/SYSOPER
  7. 測試連線 → 確定

常見連線問題排查

最佳實踐建議

  1. 使用連線池:應用層配置連線池(如 HikariCP、DBCP),減少頻繁建立連線開銷。
  2. 設定連線逾時:SQLNET.OUTBOUND_CONNECT_TIMEOUT、SQLNET.RECV_TIMEOUT 避免長時間掛住。
  3. 啟用 Dead Connection Detection:SQLNET.EXPIRE_TIME=10 讓 Server 端偵測斷線 Client。
  4. 統一使用服務名稱:而非 SID,支援 RAC、Data Guard 切換。
  5. 最小權限原則:開發帳號僅授 CONNECT, RESOURCE;避免日常使用 SYSDBA。

總結

掌握 Oracle 服務架構、SQL*Plus 多種連線模式、PL/SQL Developer 正確設定,並建立標準化連線故障排查流程,是 DBA 與開發人員的基本功。善用 EZCONNECT 簡化設定,配合連線池與逾時參數,能構建穩健高效的資料庫存取層。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
錯誤代碼原因解決方向
ORA-12154: TNS:could not resolvetnsnames.ora 設定錯誤或找不到檢查 TNS_ADMIN、tnsnames.ora 語法、服務名稱拼寫
ORA-12541: TNS:no listenerListener 未啟動或 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;