RHEL6(CentOS6)安裝 Oracle 11g R2 手記(完整詳細可用版)

來源:互聯網
上載者:User

選型:

32位的記憶體是個瓶頸,已經是64位的時代了。使用64位的CentOS6 和 64位的Oracle 11g R2
在使用VMware player 5在虛擬機器安裝,採用hostonly方式設定網路
注意:能上網的網卡要設定一下ICS(Internet串連共用)給VMware Network Adapter VMnet1
這樣對於虛擬機器,網關是192.168.137.1,IP地址請也要設定在192.168.137.0/24段
硬碟40G,記憶體2G

1、下載軟體
1.1、CentOS 6.3(x86_64)

http://mirrors.163.com/centos/

1.2、Oracle 11g R2(Linux x86-64

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

附:Oracle 10g下載址:
http://www.cnblogs.com/wenlg/archive/2010/05/19/1738893.html

二、安裝CentOS安裝
虛擬機器,40G HDD, 2GRAM
2.1、安裝規劃
機器名:dbserver
a、安裝時設定
b、或裝好後vi /etc/sysconfig/network

2.2、網路
IPADDR:192.168.137.15
NETMASK:255.255.255.0
GATEWAY:192.168.137.1
DNS1:202.102.192.68
DNS2:8.8.8.8
自動連接設定為yes
a、安裝時設定
b、裝好後使用setup
c、裝好後vi /etc/sysconifg/network-scripts/ifcfg-eth0,改好後service network restart|force-reload

2.3、磁碟規劃
磁碟有限,分區可能不太合理,盡量用LVM
/boot 200M 主要磁碟分割
/ 5GB 主要磁碟分割
/home 5GB
swap 2000M swap分區
/var 10G 擴充分區
/u01 剩下所有空間 擴充分區

swap 大小參考以下:
Available RAM Swap Space Required
Between 1 GB and 2 GB 1.5 times the size of the RAM
Between 2 GB and 16 GB Equal to the size of the RAM
More than 16 GB 16 GB

2.4、安裝時主要設定
簡體中文
美式鍵盤
CentOS6安裝時選Basic Server,然後選“現在自訂”
”基本系統“中去掉Java
“應用程式”中最好選上Emacs和互連網應用程式
“案頭”中選上除了KDE案頭外的所有組件

重啟後設定:
ntp最好選上,保證時間正確,並在進階選項中選上“快速啟動同步”
kdump可以不要
再重啟,OK

3、系統檢查
3.1、記憶體推薦2GB以上

# grep MemTotal /proc/meminfo
# free
3.2、swap 分區設定見下
# swapon -s
/tmp 目錄大於1G
# df -h /tmp
# du -sm /tmp
3.3、磁碟空間應該都沒問題
# df -h
3.4、系統架構
# cat /proc/version
# uname -a
# uname -r
# lsb_release -a

4、設定系統
4.1、作業系統

系統只支援Red Hat Enterprise Linux 6,CentOS 6其實就是RHEL6,但Oracle不認,所以要改一下
vi /etc/redhat-release
#CentOS release 6.3 (Final)這行注釋掉,加上下面的
Red Hat Enterprise Linux 6
4.2、核心 
2.6.32-71.el6.x86_64 or later
# uname -r 檢查一下
一般都是沒有問題的。

4.3、包需求

這是最煩人的。無數人死在這上面或精力耗在這上面

不過11g很人性化了,增加了檢查的機制,還有就是不象10g那樣在64位下要安裝很多的32位包,只需要安裝一個gcc-32bit-4.3就OK了。
下列表必須要安裝:
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
技巧(包名不要加版本號碼,即第一個“-數字”後面的不要,如gcc)
rpm -q 包名
yum list installed | grep '^包名'
沒裝的配好網路或配置好dvd2
yum install 包名
yum install 包名*
yum search 包名
yum whatprovides 檔案名稱
yum install 檔案名稱
yum 不到的google找到rpm
wget xxxx.rpm
rpm -ivh xxx.rpm

好,安裝,安裝前用先更新一下系統到最新版本

# yum list updates

# yum upgrade
# reboot
我已經將上麵包寫成安裝一個命令了,除非人品不好,不然應該一次成功
yum install \
binutils \
compat-libcap1  \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \ #這個官方文檔是沒有的
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686

安裝libXp
yum -y install libXp

5、selinux,防火牆,不必要服務,機器名
5.1、selinux 關掉吧(不建議
vi /etc/sysconfig/selinux
SELINUX=enforcing改成SELINUX=disabled

5.2、防火牆
iptables
ip6tables
關掉

5.3、不必要的服務

cups 印表機
postfix 等

關服務命令
1、ntsysv 可視化介面配置儲存
2、chkconifg

chkconfig --list | grep on 看哪些服務開著在

service 服務名 stop 或 /etc/init.d/服務名 stop

chkconfig 服務名 off

5.4、機器名
hostname
/etc/sysconfig/network中的hostname要與/etc/hosts中的一致
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dbserver
GATEWAY=192.168.137.1
NTPSERVERARGS=iburst
就是上面的HOSTNAME=dbserver
vim /etc/hosts
127.0.0.1   localhost dbserver
::1         localhost dbserver
#ip dbserver
有人還加上最後一行的ip設定(我沒加)

6、建立使用者,組,安裝目錄
6.1、建立使用者和組(官方文檔)

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle" | passwd --stdin oracle #密碼設定為oracle,為安全,改一下吧,也可以直接用互動passwd命令
如果oralce使用者存在,第三個命令變成:
usermod -g oinstall -G dba oracle

還有一種加oper組的(建議這種)

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle

查看一下
id oracle
uid=501(oracle) gid=501(oinstall) 組=501(oinstall),502(dba),503(oper)

6.2、建立安裝目錄(google一下OFA)
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

7、修改很多參數
7.1、核心參數

vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1200000000
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

最需要注意的是shmmax 這個參數,最小500M,最大比記憶體少一個位元組就可以了,推薦比記憶體的一半大一點點
Minimum: 536870912
Maximum: A value that is 1 byte less than the physical memory
Recommended: More than half the physical memory
See My Oracle Support Note 567506.1 for additional information about configuring shmmax.
還有特別注意sysctl.conf中shmmax ,shmall 已經有了,要注釋掉
改好後,使之生效
sysctl -p

7.2、改檔案限制
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
注意:修改此檔案是即時生效的,但可能要重登入後再看
ulimit -Sn
ulimit -Hn
ulimit -Sn
ulimit -Sn
ulimit -Sn

vi /etc/pam.d/login (感覺好象沒有必要)
#session required /lib/security/pam_limits.so
session required pam_limits.so

7.3、修改ulimit(感覺好象沒有必要)
vi /etc/profile
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

7.4、修改oracle使用者環境變數
vi ~oracle/.bash_profile
ORACLE_BASE=/u01/app/oracle #修改和OFA路徑一致
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=ORADB #修改
export ORACLE_BASE ORACLE_HOME ORACLE_SID

PATH=$ORACLE_HOME/bin:$PATH
export PATH

或者下面的,都差不多啦
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=dbserver; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORADB; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORADB; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

8、安裝

下載的oracle檔案ssh到/u01/app/oracle

# xhost + #一定要運行一下

# su - oracle
$ cd /u01/app/oracle
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
$ unset LANG LANGUAGE #解決中文亂碼
$ cd /u01/app/oracle/databse
$ ./runInstaller

執行先決條件檢查時,會有不少包要求裝,大部分是過時的,可以ignore掉。不過也要一個一個看一下。

一切順利,到最後,要用root執行兩個指令碼,按提示就OK

瀏覽器開啟https://localhost:1158/em

最後:http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.