| 資源 | 建議配置 | 實測配置 |
| 磁碟空間 | 8 GB+ | Linux 2.8 GB + Oracle 2.85 GB + 資料庫 2 GB |
| 記憶體 | 512 MB+ | 512 MB(256 MB 明顯偏慢) |
| 網路 | NAT/橋接均可 | 宿主機共享資料夾 + smbfs 掛載 |
安裝媒體準備
# Oracle 9i Release 4 (9.2.0.4) Linux x86
ship_9204_Linux_disk1.cpio.gz
ship_9204_Linux_disk2.cpio.gz
ship_9204_Linux_disk3.cpio.gz
建議放在宿主機 Windows 共享資料夾,虛擬機掛載安裝,不佔用客體磁碟空間。
作業系統層面預備
1. 網路配置
- Root 登入圖形介面 → System Settings → Network 設定靜態 IP
- 確保虛擬機與宿主機雙向 Ping 通
2. 建立使用者與群組
groupadd orainstall
groupadd oradba
groupadd oraoper
useradd ora -G orainstall,oradba
# 密碼設定:passwd ora
3. 核心參數調整(關鍵!避免 ORA-27123)
vi /etc/sysctl.conf
# 末尾新增:
kernel.shmmax = 261986254
# 生效:
sysctl -p
4. Oracle 使用者環境變數
# 切換到 ora 用戶
vi ~/.bash_profile
# 新增以下內容:
# Oracle
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/home/ora/ora9
export ORACLE_HOME=/home/ora/ora9/Oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_SID=Linuxdb
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
# LIB, CLASS
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
# 生效:
source ~/.bash_profile
安裝媒體解壓與掛載
# 宿主機共享資料夾名稱為 Oracle
# 虛擬機建立掛載點並掛載
mkdir /mnt/oracle
mount -t smbfs -o username=cl,password=chenli //192.168.x.x/Oracle /mnt/oracle
# 解壓三片安裝媒體
cd /mnt/oracle
gunzip ship_9204_Linux_disk1.cpio.gz
cpio -idmv < ship_9204_Linux_disk1.cpio
# 依序處理 disk2、disk3
安裝前最終驗證
echo $ORACLE_HOME → 顯示正確路徑
id ora → 顯示屬於 orainstall、oradba 群組
sysctl kernel.shmmax → 顯示 261986254
df -h /home/ora → 可用空間 > 3 GB
- 運行
/mnt/oracle/Disk1/runInstaller 啟動圖形安裝精靈
常見安裝失敗與對策
| 錯誤 | 原因 | 解決 |
| ORA-27123 | 共享記憶體不足 | 設定 kernel.shmmax 並 sysctl -p |
| DISPLAY not set | X11 轉發未啟用 | SSH 加 -X、或 export DISPLAY=host:0.0 |
| libstdc++ 缺失 | 相容性套件未裝 | rpm -ivh compat-libstdc++-*.rpm |
| 權限不足 | 目錄擁有者非 ora | chown -R ora:orainstall $ORACLE_BASE |
安裝後驗證
# 建立資料庫(DBCA 或腳本)
# 測試連線
sqlplus /nolog
CONNECT / AS SYSDBA
SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
虛擬機安裝 Oracle 9i 的核心在於資源預留充足、核心參數到位、環境變數精準、安裝媒體掛載穩定。遵循本筆記,可將安裝成功率從「碰運氣」提升至「標準化交付」。
- 上一篇文章: Oracle 9i 建表實戰範例:ERP 系統核心表結構設計與 SQL 手寫最佳實務
- 下一篇文章: 為什麼 Oracle 有時不使用索引?優化器決策邏輯與六大排查步驟全解析
Copyright ©
程式碼之家 All Rights Reserved