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

Linux 5.4 安裝 Oracle 9i 完整實戰筆記:依賴套件、環境變數、圖形介面、補丁、常見錯誤與解決方案

     編輯:Oracle 資料庫基礎

在現代 Linux(RHEL/OEL 5/6/7、CentOS 5/6/7)上安裝已停止支援的 Oracle 9i (9.2.0.4) 需解決 glibc、libstdc++、X11 圖形庫、LD_ASSUME_KERNEL 等相容性問題。本文記錄完整安裝流程、關鍵補丁、環境變數設定、常見錯誤代碼與解決方案,供維護舊系統參考。

系統需求檢查

# 記憶體 ≥ 512MB
grep MemTotal /proc/meminfo
# 交換空間 ≥ 1GB (建議 2x RAM)
/sbin/swapon -s
# 核心版本
uname -r  # 2.6.18+ (RHEL5/OEL5)

關鍵依賴套件安裝(需 root)

# 32 位元相容性套件 (Oracle 9i 為 32-bit)
rpm -ivh compat-gcc-32-3.2.3-47.3.i386.rpm
rpm -ivh compat-gcc-32-c++-3.2.3-47.3.i386.rpm
rpm -ivh compat-libcwait-2.1-1.i386.rpm
rpm -ivh compat-libstdc++-33-3.2.3-47.3.i386.rpm
rpm -ivh glibc-devel-2.3.4-2.13.i386.rpm
rpm -ivh libaio-0.3.103-3.i386.rpm
rpm -ivh libaio-devel-0.3.103-3.i386.rpm
rpm -ivh sysstat-5.0.5-1.i386.rpm

# X11 圖形庫 (安裝程式需圖形介面)
rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
rpm -ivh libXtst-1.0.1-3.1.i386.rpm
rpm -ivh libXft-2.1.10-1.1.i386.rpm

Oracle 9i 專用補丁:p3006854_9204_Linux.zip

unzip p3006854_9204_Linux.zip
cd 3006854
./rhel3_pre_install.sh
# 輸出 "Patch has already been applied" 表示已套用或系統已相容

環境變數設定 (.bash_profile)

# Oracle 9i 專用:強制使用 LinuxThreads (非 NPTL)
# RHEL5/OEL5 核心 2.6.18 需設為 2.4.19
export LD_ASSUME_KERNEL=2.4.19

export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=udb
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin

# 圖形介面顯示設定
# 本機安裝:DISPLAY=:0.0
# 遠程安裝:DISPLAY=客戶端IP:0.0 (需 X Server 如 Xming/VcXsrv)
export DISPLAY=:0.0

關鍵:LD_ASSUME_KERNEL 必須與核心版本對應,錯誤值會導致 librt.so.1、libzip.so 載入失敗,引發 Unable to initialize threads、Could not create Java VM 等錯誤。

解壓安裝媒體 (cpio 格式)

cpio -idmv < ship_9204_Linux_disk1.cpio
cpio -idmv < ship_9204_Linux_disk2.cpio
cpio -idmv < ship_9204_Linux_disk3.cpio
# 產生 Disk1/ Disk2/ Disk3/ 目錄

啟動安裝程式 (必須在圖形介面)

cd Disk1
./runInstaller
# 必須在本機圖形終端機或遠程 X Server 下執行
# SSH 純文字模式會報 "Can't connect to X11 window server"

常見錯誤與解決方案對照表

錯誤訊息原因解決方案
libstdc++-libc6.1-1.so.2: cannot open shared object file缺少舊版 C++ 執行庫ln -s /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so /usr/lib/libstdc++-libc6.1-1.so.2 (視實際檔案調整)
libXp.so.6: cannot open shared object file缺少 X11 列印庫rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
Can't connect to X11 window server using 'local_host:0.0'DISPLAY 變數錯誤或無 X Server本機安裝設 DISPLAY=:0.0;遠程安裝啟動 Xming/VcXsrv 並設 DISPLAY=本機IP:0.0
symbol errno, version GLIBC_2.0 not defined in file libc.so.6LD_ASSUME_KERNEL 未設定或錯誤設定 export LD_ASSUME_KERNEL=2.4.19 (RHEL5/OEL5)
ORA-01031: insufficient privileges 建立 init.ora非 oracle 用戶建立檔案必須 su - oracle 後建立
Net Configuration Assistant / Database Configuration Assistant 失敗Java VM 無法啟動 (GLIBC/LD_ASSUME_KERNEL)修正 LD_ASSUME_KERNEL、確認 32-bit JRE 相容

安裝後配置助手失敗的應急方案

若 NetCA、DBCA、EMCA 因 Java 相容性失敗:

  1. 手動建立監聽器:$ORACLE_HOME/bin/netca /silent /responsefile $ORACLE_HOME/network/install/netca_typ.rsp
  2. 手動建立資料庫:使用 CREATE DATABASE 腳本或 dbca -silent -responseFile ...
  3. Enterprise Manager:9i 可選用 emctl start dbconsole (10g+),9i 通常用 oemapp 獨立主控台。

驗證安裝

sqlplus /nolog
CONN / AS SYSDBA
SELECT * FROM v$version;
-- 應顯示 Oracle9i Enterprise Edition Release 9.2.0.4.0

現代化替代建議

  • Oracle 9i 於 2007 年結束主流支援,2010 年結束延伸支援,不再接收安全更新。
  • 建議規劃遷移至 Oracle 19c/21c/23c (長期支援版本) 或 PostgreSQL/MySQL 開源替代。
  • 遷移路徑:9i → 11gR2 → 19c (跨版本升級需中間版本) 或邏輯遷移。
  • 若必須維持 9i,建議在隔離網段、虛擬機快照備份、嚴格存取控制下運行。

本筆記整理自實際在 OEL5 (2.6.18-164.el5) 上安裝 Oracle 9.2.0.4 的完整過程,涵蓋從依賴套件到 Java VM 相容性的所有坑點,可作為舊版本維護的參考手冊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved