CentOS安裝Oracle 11gR2(x64)

本文主要步驟是參考:https://www.linuxidc.com/Linux/2014-02/97374.htm
後來本身加入了一些安裝過程當中遇到的問題和解決方法。使用圖形界面安裝Oracle已經不推薦,使用配置好的相關腳原本安裝(靜默安裝)更方便。
 
 
安裝前須知
 
  1. 內存(RAM)的最小要求是 1GB,建議 2GB 及以上。
  2. 虛擬內存 swap 建議:內存爲 1GB~2GB 時建議swap大小爲內存大小的 1.5 倍;內存爲 2GB~16GB 時建議swap大小爲內存的大小;內存超過 16GB 時swap保持16GB。
  3. 要求臨時文件目錄,如 /tmp 的磁盤空間至少 1GB。
  4. 磁盤空間要求:企業版爲4.35GB的安裝空間和1.7GB以上的數據文件空間;標準版爲4.22GB的安裝空間和1.5GB以上的數據文件空間。
  5. 須要 X window 圖形界面。
  6. 須要 root 用戶權限
  7. 用CentOS7安裝的步驟是同樣的。只是依賴包的版本會有所不一樣。詳細見具體的步驟會有註明。
 
本文安裝環境
 
操做系統 CentOS 6.4 2.6.32-358.el6.x86_64(desktop),2GB RAM,80GB 硬盤空間(4GB swap、100MB /boot、30GB /)
主機名 L3, IP 192.168.88.53(靜態)
 
 
 
安裝所需程序包(在root賬號下操做):
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.14-11.el6 (x86_64) or later
unixODBC-2.2.14-11.el6.i686 or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later
unixODBC-devel-2.2.14-11.el6.i686 or later
libXp
 
使用命令 yum list | grep ‘package name’ 或者 rpm -q ‘package name’ 或者 rpm -qa | grep ‘package name’ 查看程序包是否已經安裝。 使用命令 yum install -y ‘package name’ 安裝所缺的程序包, pdksh包除外。注意:要用yum安裝32 bit的程序包,可先修改 vi /etc/yum.conf,添加一行:multilib_policy=all。Oracle在檢查環境的時候會要求安裝i386,但CentOS 6.4光盤中32 bit的程序包都是i686,其實都同樣,忽略這個差別問題應該不大(見下邊的安裝部分)。
 
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel
 
安裝pdksh包(該程序包未被歸入CentOS的安裝盤中):
 
使用命令:wget ftp://rpmfind.net/linux/centos/5.9/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm 將pdksh程序包下載到本地
 
使用命令yum localinstall pdksh-5.2.14-21.x86_64.rpm進行安裝(注意:該程序包與ksh衝突,若是已經安裝ksh,建議使用命令 rpm -e ksh-* 卸載)
 
 
-------------------------------
(CentOS7下安裝11g2的步驟也是同樣的,所需的依賴包有一部分的版本不一樣而已)
暫時發現pdksh-5.2.14-21.x86_64.rpm這個包在CentOS7下安裝會與ksh衝突, 須要安裝pdksh-5.2.14-37.el5_8.1.i386。
wget http://vault.centos.org/5.11/os/i386/CentOS/pdksh-5.2.14-37.el5_8.1.i386.rpm
--------------------------------
 
2018-03-09補充:
貌似CentOS 6 / CentOS 7都是安裝 pdksh-5.2.14-37.el5_8.1.i386纔會經過安裝程序的檢測。
 
 
 
建立所需的用戶組(在root賬號下操做):
groupadd oinstall
groupadd dba
groupadd oper
 
建立所需的賬號(在root賬號下操做):
使用命令 id oracle查看oracle 賬號是否已存在,若未存在則使用以下命令進行建立:
#初始羣組爲 oinstall,有效羣組爲 dba、oper
useradd -g oinstall -G dba,oper oracle
#爲oracle賬號設置密碼(安裝的時候須要登陸)
passwd oracle
123456
若oracle賬號已存在,則使用命令 usermod -a -G dba,oper oracle 將其加入羣組 dba 和 oper中
 
修改內核參數(在root賬號下操做):
編輯內核參數配置文件 vim /etc/sysctl.conf,在該文件下修改或添加以下行:
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #通常默認便可
kernel.shmmax = 2147483648 #通常設置爲物理內存的一半
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
 
 
修改系統資源限制(在root賬號下操做):
編輯系統資源限制配置文件 vim /etc/security/limits.conf,在該文件下添加以下行:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
 
編輯文件 vi /etc/pam.d/login,添加以下行(11gR1有要求,R2沒有要求):
session required pam_limits.so
 
編輯 vi /etc/profile 文件,添加以下行(11gR1有要求,R2沒有要求):
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
該配置在用戶oracle登陸時會當即生效,若是當前 oracle 用戶已經登陸可退出後從新登陸使之生效。
 
 
關閉SELinux(在root賬號下操做):
編輯SELinux配置文件 vim /etc/selinux/config,將SELINUX的值設爲 disabled,以下:
SELINUX=disabled;
修改該文件可以使重啓系統後不啓動SELinux。關閉當前已開啓的SELinux使用以下命令:
setenforce 0
修改/etc/hosts文件(在root賬號下操做):
編輯文件 vim /etc/hosts,添加一行(L3爲主機名):
192.168.88.53 L3
若不進行此操做會在安裝時彈出警告,而且可能影響監聽程序的正常運行,因此建議作這個修改。
 
 
建立所需的目錄(在root賬號下操做):
把oracle安裝在 /opt/oracle 目錄下,因此需建立該目錄:
mkdir /opt/oracle
chown oracle:oinstall /opt/oracle
chmod 755 /opt/oracle
安裝時還須要設置 Inventory 目錄,因此需建立該目錄:
mkdir /opt/oraInventory
chown oracle:oinstall /opt/oraInventory
chmod 755 /opt/oraInventory
 
 
安裝包相關:
Oracle 11g R2的安裝包被壓縮成兩個文件:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip,將它們上傳到安裝機器上,並使用
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
進行解壓縮,將獲得一個名稱爲 database 的目錄,這裏把它放在 /home/oracle/database 中。
 
因爲安裝過程是以 oracle 身份進行的,因此需確保oracle賬號對 /home/oracle/database 有執行權限,可以使用以下命令將該目錄賦予oracle賬號全部,並擁有執行權限:
chmod -R 700 /home/oracle/database
chown -R oracle:oinstall /home/oracle/database
 
 
退出 root,以 oracle 身份登陸
設置oracle賬號登陸時環境(以oracle身份登陸):
編輯文件 vim /home/oracle/.bash_profile,添加以下行:
#安裝目錄
ORACLE_BASE=/opt/oracle
#oracle家目錄
ORACLE_HOME=$ORACLE_BASE/11gr2
#實例名
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
 
保存退出後執行以下命令使以上設置當即生效:
source /home/oracle/.bash_profile
 
 
開始安裝(以oracle身份登陸):
export LANG=en_US
#在x windows下的終端執行該程序開始安裝( 注意用oracle登陸x window,再運行runInstaller):
/home/oracle/database/runInstaller
 
 
如下將進入圖形安裝界面
 
輸入email,或者不輸入

 

 
不輸入email會有一個提示,點Yes繼續

 

 
選擇Create and configure a database

 

 
選擇Server Class

 

 
選擇Single instance database installation

 

 
選擇Advanced install

 

 

 

 
選擇 Enterpise Edition

 

 
安裝基目錄和Home目錄,因爲已設置好環境變量Oracle_BASE和ORACLE_HOME,此處無需再選擇

 

 
以oinstall羣組身份進行安裝

 

 
安裝General Puupose / Transaction Processing

 

 
因爲已設置好環境變量ORACLE_SID,因此此步無需修改

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

 
 

 

 
安裝程序對環境進行檢查,因爲CentOS的32bit程序包都是i686的,而Oracle要求i386,因此此處會失敗,忽略便可。點擊next。
 

 

若是不放心,能夠手動每一個包都檢查一下有沒有安裝。
[root@L2 /opt/oracle_install]# rpm -qa | grep libaio
libaio-devel-0.3.107-10.el6.x86_64
libaio-0.3.107-10.el6.x86_64
[root@L2 /opt/oracle_install]# rpm -qa | grep glibc
glibc-headers-2.12-1.209.el6_9.2.x86_64
glibc-2.12-1.209.el6_9.2.x86_64
glibc-devel-2.12-1.209.el6_9.2.x86_64
glibc-common-2.12-1.209.el6_9.2.x86_64
[root@L2 /opt/oracle_install]# rpm -qa | grep compat-libstdc
compat-libstdc++-33-3.2.3-69.el6.x86_64
[root@L2 /opt/oracle_install]# rpm -qa | grep libgcc
libgcc-4.4.7-18.el6.x86_64
[root@L2 /opt/oracle_install]# rpm -qa | grep libstdc
libstdc++-devel-4.4.7-18.el6.x86_64
libstdc++-4.4.7-18.el6.x86_64
compat-libstdc++-33-3.2.3-69.el6.x86_64
[root@L2 /opt/oracle_install]# rpm -qa | grep unixODBC
unixODBC-devel-2.2.14-14.el6.x86_64
unixODBC-2.2.14-14.el6.x86_64
 
 
 

 

 
 

 

 
 

 

 
點擊Password Management可設置相關管理賬號的密碼,因爲前面已設過因此無需再設,直接點擊OK

 

 
以root身份登陸執行那兩個sh文件,以下圖左下角。

 

 
執行完成後,點擊OK,就大功告成了。
 
 
打開瀏覽器,輸入https://localhost:1158/em,可打開Database Control管理界面,則Oracle已經開始運行了。
 
 
 
 
安裝故障
 
故障1
若是是CentOS7安裝Oracle 11gr2,會報缺乏pdksh。可是安裝時,又發現與ksh衝突。去卸載ksh又發現沒有安裝,最後上網找到答案,使用 i386的pdksh版本才行。
[root@bmtoracle /opt/oracle_install]# rpm -ivh pdksh-5.2.14-21.x86_64.rpm
warning: pdksh-5.2.14-21.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 73307de6: NOKEY
Preparing... ################################# [100%]
file /usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-21.x86_64 and pdksh-5.2.14-21.x86_64
 
[root@bmtoracle /opt/oracle_install]# whereis ksh
ksh:[root@bmtoracle /opt/oracle_install]#
[root@bmtoracle /opt/oracle_install]#
[root@bmtoracle /opt/oracle_install]# which ksh
/usr/bin/which: no ksh in (/usr/local/jdk1.8.0/bin:/usr/local/jdk1.8.0/jre/bin:/usr/share/maven//bin:/usr/local/node//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
 
[root@bmtoracle /opt/oracle_install]# wget http://vault.centos.org/5.11/os/i386/CentOS/pdksh-5.2.14-37.el5_8.1.i386.rpm
 
[root@bmtoracle /opt/oracle_install]# rpm -ivh pdksh-5.2.14-37.el5_8.1.i386.rpm
warning: pdksh-5.2.14-37.el5_8.1.i386.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:pdksh-5.2.14-37.el5_8.1 ################################# [100%]
 
 
故障2
x windows是root登陸,再切換到oracle用戶下去執行runInstaller,出現以下報錯。解決方法:先用oracle用戶登陸x winodws,

 

 

 

 
 
故障3
若是沒有設置相關目錄權限,則顯示以下錯誤。
相關文章
相關標籤/搜索