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
unzip linux.x64_11gR2_client.zip
cd client
./runInstaller
錯誤: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)
原因:缺少中文字型 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/
建議開發/管理機選 Administrator,生產應用機選 Instant Client。
| 錯誤 | 解決 |
|---|---|
| RMAN 相關錯誤 | Ignore 略過,不影響 Client 功能 |
| root.sh 執行找不到 /bin/awk | sudo ln -s /usr/bin/awk /bin/awk |
| 權限不足 | 確認安裝用戶屬於 oinstall/dba 群組 |
安裝結束自動啟動 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
# 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
| 現象 | 原因 | 解決 |
|---|---|---|
| ORA-12154: TNS:could not resolve | tnsnames.ora 路徑/內容錯誤 | 檢查 TNS_ADMIN、tnsnames.ora 格式、SERVICE_NAME |
| ORA-12541: TNS:no listener | Listener 未啟動/防火牆 | 伺服器端 lsnrctl status、防火牆 1521 |
| 中文顯示亂碼/問號 | NLS_LANG 未設或字元集不匹配 | 設定 NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 |
| sqlplus: error while loading shared libraries | LD_LIBRARY_PATH 未含 Oracle lib | export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH |