Oracle 11g 客戶端/服務端安裝與 PL/SQL Developer 連接配置是開發者入門必經之路,但「密碼策略」、「SCOTT 解鎖」、「Instant Client 64 位環境變量」三大坑常讓新手卡住半天。本文梳理標準化安裝配置全流程,附避坑清單與驗證腳本。
win64_11gR2_database_1of2.zip + 2of2.zip,解壓同目錄。tiger (經典默認)。
sqlplus scott/tiger@orcl
-- 或
sqlplus sys/password@orcl as sysdba
PL/SQL Developer 32 位版需 32 位 Oracle Client,64 位版需 64 位 Client。**最輕量方案:Instant Client 64 位 + 環境變量**。
instantclient-basic-windows.x64-11.2.0.4.0.zip 等。E:\instantclient_11_2 (路徑**無空格、無中文**)。| 變量名 | 變量值 (示例) | 說明 |
|---|---|---|
ORACLE_HOME | E:\instantclient_11_2 | Instant Client 根目錄 |
TNS_ADMIN | E:\instantclient_11_2 | tnsnames.ora 存放目錄 |
NLS_LANG | AMERICAN_AMERICA.ZHS16GBK | 客戶端字符集,**必須與數據庫一致**,否則中文亂碼 |
PATH | 在最前面添加 %ORACLE_HOME% | 優先加載 Instant Client DLL |
關鍵: 修改後**必須重啟電腦** (或至少重啟 Explorer 進程) 使環境變量生效。
在 %TNS_ADMIN% 下創建 tnsnames.ora:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
E:\instantclient_11_2E:\instantclient_11_2\oci.dllscott, Password: tiger, Database: orcl。| 報錯 | 原因 | 解決 |
|---|---|---|
| ORA-12154: TNS:could not resolve the connect identifier specified | tnsnames.ora 路徑錯誤/服務名拼寫錯/TNS_ADMIN 未生效 | 檢查 TNS_ADMIN 指向目錄、tnsnames.ora 格式、服務名大小寫 |
| ORA-12514: TNS:listener does not currently know of service requested | 服務名與數據庫實際不符 | 數據庫端 lsnrctl status 確認服務名,修正 tnsnames.ora |
| ORA-12560: TNS:protocol adapter error | 32/64 位不匹配 / ORACLE_HOME 指向錯誤 / 缺少 oci.dll | PL/SQL Developer 版本與 Instant Client 位數一致,OCI Library 路徑正確 |
| 中文亂碼/問號 | NLS_LANG 與數據庫字符集不一致 | 數據庫 SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET',客戶端 NLS_LANG 對齊 |
| ORA-28000: the account is locked | SCOTT 未解鎖/密碼過期 | 安裝時解鎖,或 ALTER USER SCOTT ACCOUNT UNLOCK IDENTIFIED BY tiger; |
SCOTT / TIGERSYS / CHANGE_ON_INSTALL (as sysdba)SYSTEM / MANAGERSYSMAN / OEM_TEMPAMERICAN_AMERICA.AL32UTF8,ZHS16GBK 庫用 AMERICAN_AMERICA.ZHS16GBK。按此流程操作,Oracle 11g + PL/SQL Developer 64 位連接配置成功率接近 100%。核心就三點:**位數匹配、環境變量生效、字符集對齊**。