在 Linux 中,路徑包含空格時需使用反斜杠 \ 轉義,否則 Shell 會將空格視為命令分隔符:
cd RHEL_5.5\ x86_64\ DVD_/
mkdir -p /mnt/cdrom
mount -o loop /dev/sr0 /mnt/cdrom # 掛載光盤設備
# 或掛載 ISO 文件
mount -t iso9660 -o loop /path/to/rhel-server-5.4-i386-dvd.iso /mnt/cdrom
vi /etc/yum.repos.d/dvd.repo
# 內容如下:
[dvd]
name=Local YUM Repository
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
yum clean all
yum list
yum -y install mysql # 測試安裝
常見問題:RHEL6 首次使用光盤源後會自動複製 media.repo 到 /etc/yum.repos.d/ 導致本地源失效,需刪除該文件並保留自建 .repo。
提示 This system is not registered with RHN 時,可卸載 RedHat 版 YUM,改裝 CentOS 版:
rpm -qa | grep yum | xargs rpm -e --nodeps
wget https://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm
wget https://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
wget https://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rpm -ivh *.rpm
wget -O /etc/yum.repos.d/CentOS-Base.repo https://centos.ustc.edu.cn/centos/5/os/i386/CentOS-Base.repo
yum makecache
# Oracle Linux 5/6/7 對應公共源
cd /etc/yum.repos.d
wget https://public-yum.oracle.com/public-yum-el5.repo # OL5
wget https://public-yum.oracle.com/public-yum-ol6.repo # OL6
# 編輯 repo 文件將 enabled=0 改為 1
yum install -y libaio-devel unixODBC-devel sysstat gcc make binutils compat-libstdc++-33 glibc-devel ksh
mkdir -p /u01/software/iso /u01/software/rhel5
cp /dev/cdrom /u01/software/iso/rhel-server-5.4-i386-dvd.iso
mount -t iso9660 -o loop /u01/software/iso/rhel-server-5.4-i386-dvd.iso /u01/software/rhel5
vi /etc/yum.repos.d/rhel5.repo
[Server]
name=rhel5server
baseurl=file:///u01/software/rhel5/Server
enabled=1
gpgcheck=1
gpgkey=file:///u01/software/rhel5/RPM-GPG-KEY-redhat-release
yum install lrzsz # 測試
ln -s 軟鏈接? 給帶空格的掛載點起別名,繞過空格轉義問題。r+x 權限,僅 r 不夠;讀文件僅需 r 權限。| 檢查項 | 命令 |
|---|---|
| 物理內存 | grep MemTotal /proc/meminfo |
| Swap 空間 | grep SwapTotal /proc/meminfo |
| 磁盤空間 | df -h |
| CPU 型號/核心 | grep "model name" /proc/cpuinfo |
| 內核版本 | uname -r |
| OS 版本 | cat /proc/version |
| RPM 包是否安裝 | rpm -qa | grep <packagename> |
cat /etc/nsswitch.conf | grep hosts
hostname
domainname
cat /etc/hosts | grep `hostname`
cat /etc/sysconfig/network-scripts/ifcfg-eth0
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
生效:sysctl -p
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
同步修改 /etc/pam.d/login 添加 session required pam_limits.so,並在 /etc/profile 設定 ulimit。
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 755 /u01
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
# 解壓安裝包
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
# 允許 X11 轉發
xhost +
export DISPLAY=192.168.x.x:0.0
su - oracle
cd /path/to/database
./runInstaller
emctl start dbconsolelsnrctl status/start/stopERROR: cannot open shared library libclntsh.so → 設置 LD_LIBRARY_PATH 或執行 $ORACLE_HOME/bin/relink all。
Oracle 在 Linux 上的安裝是系統工程,關鍵在於:OS 層面預裝依賴、內核參數合規、用戶權限正確、目錄規劃遵循 OFA、環境變量完整、X11 轉發通暢。建議生產環境採用靜默安裝響應文件實現標準化部署。