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

Ubuntu 安裝 Oracle Client 10g/11g/12c/19c 完整指南:環境準備、亂碼解決、驗證測試

     編輯:Oracle 資料庫基礎

前置環境準備

  • JDK 1.5+ (10g/11g) 或 JDK 8+ (12c/19c)
  • 安裝包:linux.x64_11gR2_client.zip 或對應版本
  • 系統依賴套件:
    sudo apt-get update
    sudo apt-get install -y alien binutils build-essential cpp-4.4 gcc-4.4 gcc-4.4-base \
      libaio1 libaio-dev libstdc++6 libstdc++6-4.4-dev make ksh libmotif4 \
      libxp6 libxtst6 rpm sysstat unixodbc unixodbc-dev

安裝流程關鍵步驟與坑點解決

1. 解壓並啟動安裝器

unzip linux.x64_11gR2_client.zip
cd client
./runInstaller

2. 作業系統檢查失敗解決

錯誤:Checking operating system version: Must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2 - Failed

解決:

sudo vi /etc/redhat-release
# 內容修改為:
CentOS release 4.4 (Final)
# 或 Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

3. 安裝介面中文亂碼解決

原因:缺少中文字型 zysong.ttf

# 方案:複製任意中文字型並重命名
sudo cp /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf /usr/share/fonts/zh_CN/TrueType/zysong.ttf
# 若目錄不存在需建立
sudo mkdir -p /usr/share/fonts/zh_CN/TrueType/

4. 安裝類型選擇

  • Instant Client:輕量 (70MB)、無安裝器、解壓即用、適合應用伺服器
  • Administrator:完整工具 (sqlplus, exp/imp, rman, netca 等)、約 848MB
  • Runtime:僅執行庫、無管理工具

建議開發/管理機選 Administrator,生產應用機選 Instant Client。

5. 安裝過程常見錯誤處理

錯誤解決
RMAN 相關錯誤Ignore 略過,不影響 Client 功能
root.sh 執行找不到 /bin/awksudo ln -s /usr/bin/awk /bin/awk
權限不足確認安裝用戶屬於 oinstall/dba 群組

6. NetCA 配置本地服務名稱

安裝結束自動啟動 Net Configuration Assistant,配置 tnsnames.ora:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA = (SERVICE_NAME = ORCL))
  )

注意:10g+ 區分 SERVICE_NAME 與 SID,RAC 環境必須用 SERVICE_NAME。

環境變數配置 (關鍵)

# ~/.bashrc 或 /etc/profile.d/oracle.sh
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/client_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"  # 解決中文亂碼核心設定
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

# 立即生效
source ~/.bashrc

驗證測試

# 1. 基本連線測試
sqlplus scott/tiger@ORCL

# 2. 字元集測試
sqlplus -v
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET%';

# 3. OEM/工具啟動 (需圖形介面)
oemapp console
# 若中文亂碼:確認 NLS_LANG 設定、字型安裝

# 4. 測試 SQL*Loader、Data Pump 等工具
sqlldr --help
expdp --help

Instant Client 快速部署 (無安裝器)

# 1. 下載基本套件 + SQL*Plus 套件 + SDK 套件
# basic: instantclient-basic-linux.x64-19.12.0.0.0dbru.zip
# sqlplus: instantclient-sqlplus-linux.x64-19.12.0.0.0dbru.zip
# sdk: instantclient-sdk-linux.x64-19.12.0.0.0dbru.zip

# 2. 解壓至同一目錄
mkdir -p /opt/oracle/instantclient_19_12
unzip *.zip -d /opt/oracle/instantclient_19_12

# 3. 建立連結
cd /opt/oracle/instantclient_19_12
ln -s libclntsh.so.19.1 libclntsh.so
ln -s libocci.so.19.1 libocci.so

# 4. 環境變數
export ORACLE_HOME=/opt/oracle/instantclient_19_12
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=/opt/oracle/network/admin  # 建立目錄放 tnsnames.ora

# 5. 測試
sqlplus scott/tiger@ORCL

常見問題快速排查

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象原因解決
ORA-12154: TNS:could not resolvetnsnames.ora 路徑/內容錯誤檢查 TNS_ADMIN、tnsnames.ora 格式、SERVICE_NAME
ORA-12541: TNS:no listenerListener 未啟動/防火牆伺服器端 lsnrctl status、防火牆 1521
中文顯示亂碼/問號NLS_LANG 未設或字元集不匹配設定 NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8
sqlplus: error while loading shared librariesLD_LIBRARY_PATH 未含 Oracle libexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH