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

Red Hat Enterprise Linux 3/4上手工安裝Oracle 10g完整實戰筆記

     編輯:Oracle 資料庫基礎

從ISO到啟動:RHEL 3/4 x86平台Oracle 10g手工部署全記錄

雖然Oracle 10g已停止主流支援,但存量系統仍需重建或遷移。本文記錄在Red Hat Enterprise Linux 3/4 (x86)上,繞過圖形安裝向導,純命令行完成用戶建立、內核調優、目錄佈局、安裝包解壓、靜默安裝、資料庫創建、監聽配置、自啟動服務的全流程,適合自動化腳本化與離線環境部署。

環境基線

  • OS:RHEL 3 Update 8 / RHEL 4 Update 4 (x86)
  • Oracle:10g Release 2 (10.2.0.1.0) for Linux x86
  • 硬件:CPU 2核、RAM 2GB、Swap 4GB、/u01 20GB、/u02 100GB
  • 網絡:靜態IP、主機名解析正確、防火牆關閉

第一階段:OS層預備

# 1. 安裝依賴包 (掛載RHEL ISO)
yum localinstall gcc-3.4.6 make-3.80 binutils-2.16 openmotif-2.2.3 \
  compat-db-4.2.52 compat-gcc-34 compat-gcc-c++-34 \
  compat-libstdc++-33 compat-libstdc++-devel-33 libaio-0.3.106 libaio-devel-0.3.106

# 2. 內核參數 (/etc/sysctl.conf 追加)
kernel.shmmax = 1073741824
kernel.shmall = 262144
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
sysctl -p

# 3. 用戶與目錄
groupadd -g 500 oinstall
groupadd -g 501 dba
useradd -u 500 -g oinstall -G dba oracle
echo "oracle_password" | passwd --stdin oracle
mkdir -p /u01/app/oracle /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02

# 4. Shell限制 (/etc/security/limits.conf)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

第二階段:Oracle軟件部署

# 切換oracle用戶
su - oracle

# 環境變數 (~/.bash_profile)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=ORCL
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

# 解壓安裝介質 (假設ISO掛載於/mnt/cdrom)
cd /tmp
unzip -q /mnt/cdrom/10201_database_linux32.zip
cd database

# 靜默安裝響應文件 (db_install.rsp)
cat > db_install.rsp <

第三階段:資料庫創建與配置

# 1. DBCA靜默創建資料庫 (dbca.rsp)
cat > dbca.rsp < $ORACLE_HOME/network/admin/listener.ora <

第四階段:自啟動服務 (Oracle 10g dbstart/dbshut)

# /etc/oratab 確認條目
ORCL:/u01/app/oracle/product/10.2.0/db_1:Y

# 建立啟動腳本 /etc/init.d/oracle
cat > /etc/init.d/oracle <<'EOF'
#!/bin/bash
# chkconfig: 345 99 10
# description: Oracle 10g Auto Start/Stop
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
case "$1" in
  start) su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" ;;
  stop)  su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" ;;
  *) echo "Usage: $0 {start|stop}"; exit 1 ;;
esac
EOF
chmod +x /etc/init.d/oracle
chkconfig --add oracle
chkconfig oracle on

驗收清單

  • ☐ sqlplus / as sysdba 連線成功,SELECT * FROM v$version 顯示10.2.0.1.0
  • ☐ lsnrctl status 顯示LISTENER READY,服務ORCL READY
  • ☐ 遠程客戶端 tnsping ORCL 成功,sqlplus user/pwd@ORCL 連線正常
  • ☐ 重啟OS後,資料庫實例、監聽器自動啟動
  • ☐ emctl status dbconsole (若安裝Enterprise Manager) 運行正常

手工部署雖繁瑣,但能深入掌握每一層依賴關係,為後續自動化(Ansible/Terraform)、容器化(Docker/Podman)、遷移上雲打下堅實基礎。

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