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

Oracle 11gR2 在 RHEL/CentOS 上的完整安裝與配置指南

     編輯:Oracle 教學

Oracle 11gR2 在 RHEL/CentOS 上的完整安裝與配置指南

本文系統整理 Oracle Database 11g Release 2 (11.2.0.x) 在 Red Hat Enterprise Linux 5/6 / CentOS 5/6 上的標準化安裝流程,涵蓋作業系統前置需求、使用者/群組、核心參數、資源限制、環境變數、靜默/圖形安裝、安裝後驗證、服務管理、邏輯備份恢復等全生命週期操作。

一、作業系統前置需求

1.1 套件群組安裝

# RHEL 6.x 範例(需掛載 ISO 或配置 yum 源)
yum -y groupinstall "X Window System" "Desktop" "Desktop Platform" "Chinese Support" "Development Tools"
# 必要單套件
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

1.2 Java 環境(安裝程式需求)

yum -y install java-1.6.0-openjdk java-1.6.0-openjdk-devel
# 修正字體配置避免安裝介面亂碼
cd /usr/lib/jvm/jre-1.6.0/lib
mv fontconfig.bfc fontconfig.bfc.origin
cp fontconfig.RedHat.6.bfc fontconfig.bfc

1.3 ksh 版本相容性(RHEL 6 必須降級)

rpm -e ksh 2>/dev/null
rpm -ivh ksh-5.2.14-36.el5.i386.rpm  # 從 RHEL 5 媒體取得

二、使用者、群組與目錄

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper -d /home/oracle -m oracle
echo "oracle" | passwd --stdin oracle

mkdir -p /opt/oracle
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle

三、核心參數與資源限制

3.1 /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 957691904
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
sysctl -p

3.2 /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

3.3 /etc/pam.d/login

session required pam_limits.so

3.4 /etc/profile(全域環境變數)

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

四、Oracle 使用者環境變數 (~/.bash_profile)

umask 022
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
# 允許 X11 轉發
export DISPLAY=:0.0

五、圖形安裝流程

  1. 解壓兩個 zip 至同一目錄:unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
  2. 切換 oracle 使用者:su - oracle
  3. 啟動安裝程式(指定中文 Java):cd database && ./runInstaller -jreLoc /usr/lib/jvm/jre-1.6.0
  4. 依精靈選擇:單實例 → 企業版 → 典型安裝,填寫:
    • Oracle 基底目錄:/opt/oracle
    • 軟體位置:/opt/oracle/product/11.2.0/dbhome_1
    • 資料庫檔案位置:/opt/oracle/oradata
    • 清單目錄:/opt/oracle/oraInventory
    • 字元集:AL32UTF8(建議)
    • 管理密碼:統一設定 SYS/SYSTEM/SYSMAN/DBSNMP
  5. 執行根腳本:/opt/oracle/oraInventory/orainstRoot.sh、/opt/oracle/product/11.2.0/dbhome_1/root.sh

六、安裝後驗證

-- SQL*Plus 連線
sqlplus sys as sysdba
-- 查看版本與元件
SELECT * FROM v$version;
SELECT comp_name, version, status FROM dba_registry;

-- EM Database Control
https://:1158/em/  (11g) 或 https://:5500/em/ (12c+)

七、服務管理腳本與自動啟動

7.1 /etc/init.d/oracle

#!/bin/bash
# chkconfig: 345 99 10
# description: Oracle Database startup/shutdown script
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
ORACLE_OWNER=oracle
export ORACLE_HOME ORACLE_OWNER
case "$1" in
  start) su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" ;;
  stop)  su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" ;;
  *) echo "Usage: $0 {start|stop}"; exit 1 ;;
esac
chmod +x /etc/init.d/oracle
chkconfig --add oracle
chkconfig oracle on
service oracle start

7.2 /etc/oratab(配合 dbstart/dbshut)

orcl:/opt/oracle/product/11.2.0/dbhome_1:Y

八、核心服務組件操作

組件指令預設埠
監聽器lsnrctl start/status/stop1521
資料庫實例sqlplus / as sysdba → startup/shutdown-
EM Database Controlemctl start/stop/status dbconsole1158 (11g) / 5500 (12c+)
自動啟動腳本dbstart $ORACLE_HOME / dbshut $ORACLE_HOME-

九、邏輯備份與恢復

9.1 建立目錄物件與授權

CREATE DIRECTORY dmpdir AS '/opt/mydbbackup';
GRANT READ, WRITE ON DIRECTORY dmpdir TO system;
GRANT READ, WRITE ON DIRECTORY dmpdir TO sysman;

9.2 Data Pump 導出

# 單一綱要
expdp system/manager@orcl DIRECTORY=dmpdir DUMPFILE=scott_$(date +%F).dmp SCHEMAS=SCOTT LOGFILE=exp_scott.log
# 全庫
expdp system/manager@orcl DIRECTORY=dmpdir DUMPFILE=full_$(date +%F).dmp FULL=Y LOGFILE=exp_full.log

9.3 Data Pump 導入

# 綱要級(REPLACE 覆蓋同名物件)
impdp system/manager@orcl DIRECTORY=dmpdir DUMPFILE=scott_2024-01-15.dmp SCHEMAS=SCOTT TABLE_EXISTS_ACTION=REPLACE LOGFILE=imp_scott.log
# 全庫
impdp system/manager@orcl DIRECTORY=dmpdir DUMPFILE=full_2024-01-15.dmp FULL=Y TABLE_EXISTS_ACTION=REPLACE LOGFILE=imp_full.log

十、常見 RPM 依賴補充(RHEL 6 x86_64)

glibc-2.12-1.212.el6.i686
glibc-devel-2.12-1.212.el6.i686
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6.i686
compat-libstdc++-33-3.2.3-69.el6.i686
libgcc-4.4.7-23.el6.i686
libstdc++-4.4.7-23.el6.i686
unixODBC-2.2.14-14.el6.i686
unixODBC-devel-2.2.14-14.el6.i686

總結

Oracle 11gR2 在 RHEL/CentOS 上的標準化部署關鍵在於:嚴格遵循預安裝需求(套件、核心參數、限制)、統一環境變數、採用靜默安裝回應檔實現自動化、建立系統服務實現開機自啟、落地 Data Pump 備份策略。生產環境建議進一步整合 Ansible/Terraform 實現基礎設施即代碼 (IaC),並配置 Data Guard 或 RAC 提供高可用。

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