天天看點

CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)

這是我自己部落格開通的第一篇,有點小激動哈╰( ̄▽ ̄)╮。下面進入正題,如何在CentOS6.4上安裝Oracle11.2.0.4(單執行個體ASM)。下載下傳媒體請到Seachine下載下傳。

一、環境

虛拟機:VMware® Workstation,版本:10.0.2 build-1744117

OS:CentOS6.4

DB:Oracle11.2.0.4

IP:192.168.181.55

Netmask:255.255.255.0

Gateway:192.168.181.1

主機名:sg1

二、安裝OS

OS安裝很簡單,除了安裝系統的硬碟,我還額外加了兩塊5G的硬碟,原因是後面我将使用ASM UDEV綁定的方式将這兩塊盤做成存放資料檔案與閃回區的ASM盤。OS類型我選的是桌面版,另外加的兩塊5G盤不用分區,其他就按步就班地安裝,需要的包後面再裝。

三、上傳媒體

[[email protected] ~]# cd /tmp
[[email protected] tmp]# ll
total 12
drwx------. 2 gdm  gdm  4096 Oct 27 10:27 orbit-gdm
drwx------. 2 root root 4096 Oct 27 10:26 orbit-root
drwx------. 2 gdm  gdm  4096 Oct 27 10:26 pulse-7rXfsGYPnYLc
-rw-------. 1 root root    0 Oct 27  2014 yum.log
[[email protected] tmp]# rz
[[email protected] tmp]# ls -lh
total 3.5G
drwx------. 2 gdm  gdm  4.0K Oct 27 10:27 orbit-gdm
drwx------. 2 root root 4.0K Oct 27 10:26 orbit-root
-rw-r--r--. 1 root root 1.3G Apr 15  2014 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1.1G Apr 15  2014 p13390677_112040_Linux-x86-64_2of7.zip
-rw-r--r--. 1 root root 1.2G Apr 17  2014 p13390677_112040_Linux-x86-64_3of7.zip
drwx------. 2 gdm  gdm  4.0K Oct 27 10:26 pulse-7rXfsGYPnYLc
-rw-------. 1 root root    0 Oct 27  2014 yum.log
      

 四、UDEV綁定ASM磁盤

在綁定前先把使用者和使用者組加上,

[[email protected] ~]# vi user.sh
groupadd  -g 501 dba
groupadd  -g 502 oper
groupadd  -g 503 asmadmin
groupadd  -g 504 asmoper
groupadd  -g 505 asmdba

useradd -u 500 -g oinstall -G dba,asmdba,oper oracle
useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

[[email protected] ~]# sh user.sh 
[[email protected] ~]# passwd oracle
Changing password for user oracle.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
[[email protected] ~]# passwd grid
Changing password for user grid.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.      

由于我用的VMware® Workstation ,在使用/sbin/scsi_id -g -u -d /dev/sdb指令後竟然沒有顯示任何資訊,網上查詢後了解到,原來要在虛拟機檔案上加disk.EnableUUID="TRUE"這個配置資訊。

[[email protected] tmp]# shutdown -h now
打開sg1.vmx,添加:
disk.EnableUUID="TRUE"
      

下面用指令找出上面添加的兩塊磁盤的UUID,并定義規則檔案,重新開機UDEV

[[email protected] ~]# /sbin/scsi_id -g -u -d /dev/sdb
36000c291cf77bc123323fe102f774b1f
[[email protected] ~]# /sbin/scsi_id -g -u -d /dev/sdc
36000c29882d246daac8110185b222b77

[[email protected] ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="36000c291cf77bc123323fe102f774b1f", NAME="ASM_DATA", ACTION=="add|change", OWNER="grid",GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="36000c29882d246daac8110185b222b77", NAME="ASM_FLA", ACTION=="add|change", OWNER="grid",GROUP="oinstall", MODE="0660"

[[email protected] ~]# /sbin/udevadm control --reload-rules
[[email protected] ~]# /sbin/start_udev
Starting udev: [ OK ]
      

關于UDEV的綁定問題,有很多因為OS版本不一,導緻很多問題,下面兩個連結是别人總結的,大家可以參考。在Linux 6上使用UDEV解決RAC ASM儲存設備名問題,利用UDEV配置OCR VOTE(基于整個磁盤) 

四、建立目錄

[[email protected] ~]# vi mkdir.sh
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory/
chmod -R 775 /u01/app/oraInventory/
mkdir -p /u01/11.2.0/grid
chown -R grid:oinstall /u01/11.2.0/grid/
chmod -R 775 /u01/11.2.0/grid/
mkdir -p /u01/app/oraInventory/
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/cfgtoollogs
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
[[email protected] ~]# sh mkdir.sh      

 五、配置Oracle各種參數

[[email protected] ~]# vi /etc/hosts
192.168.181.55 sg1
[[email protected] ~]# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586

[[email protected] ~]# sysctl -p
[[email protected] ~]# vi /etc/security/limits.conf 
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240
grid              soft    nproc   2047
grid              hard    nproc   16384
grid              soft    nofile  1024
grid              hard    nofile  65536
grid              soft    stack   10240
[[email protected] ~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
[[email protected] ~]# vi /etc/profile
if [ $USER = "oracle" ]||[ $USER = "grid" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi      

六、關閉防火牆、SELinux

[[email protected] ~]# chkconfig ntpd off
[[email protected] ~]# vi /etc/selinux/config
SELINUX=disable      

 七、修改oracle和grid環境變量

Oracle:
vi .bash_profile

export ORACLE_SID=sg1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
umask 022

Grid:
vi .bash_profile

export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/11.2.0/grid
export GRID_HOME=/u01/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export THREADS_FLAG=native
export PATH=$PATH:$ORACLE_HOME/bin
umask 022      

 八、配置本地yum源,并安裝所需要的包

cd /etc/yum.repos.d/
mkdir old
mv CentOS-* old/
vi pjc.repo
[pjc]
name=pjc
baseurl=file:///media
gpgcheck=0
enable=1

yum install compat-libstdc* -y;
yum install libaio-devel* -y;
yum install sysstat* -y;
yum install unixODBC-2.2.11 -y;
yum install unixODBC-devel* -y;
yum install pdksh* -y;
yum install lrzsz* -y;
yum install vnc* -y;      

 九、解壓grid軟體并安裝

[[email protected] tmp]# unzip p13390677_112040_Linux-x86-64_3of7.zip
[[email protected] ~]$ cd /tmp/grid
[[email protected] grid]$ ./runInstaller 
      

下面在grid使用者下圖形化界面安裝grid:

CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)

grid最後安裝檢查,我們發現有兩個地方沒通過,現在來修正。

[[email protected] ~]# vi /etc/sysctl.conf

kernel.shmmax = 980320256

[[email protected] ~]# sysctl -p

還少了個RPM包,可以到Seachine下載下傳,安裝後再次檢查,通過!下面安裝後跑腳本出錯:

Creating trace directory

/u01/11.2.0/grid/bin/clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory

Failed to create keys in the OLR, rc = 127, Message:

Failed to create keys in the OLR at /u01/11.2.0/grid/crs/install/crsconfig_lib.pm line 7660.

/u01/11.2.0/grid/perl/bin/perl -I/u01/11.2.0/grid/perl/lib -I/u01/11.2.0/grid/crs/install /u01/11.2.0/grid/crs/install/roothas.pl execution failed

查詢相關資料後發現是少了安裝compat-libcap1-1.10-1.x86_64.rpm,下面安裝

[[email protected] ~]# yum install -y compat-libcap*

下面删除CRS配置,重新跑腳本 :

perl /u01/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force

[[email protected] ~]# /u01/11.2.0/grid/root.sh

上面這步參考11G GRID 安裝缺少到libcap.so.1而終止的解決方法

十、安裝Disk Group

現在grid軟體已經安裝完成,下面繼續安裝Disk Group,依舊是grid使用者下的圖形化配置。

[[email protected] ~]$ asmca

CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)

十一、安裝Oracle資料庫軟體

先解壓軟體,然後下面切換到oracle使用者,并在圖形化界面下安裝

[[email protected] tmp]# unzip p13390677_112040_Linux-x86-64_1of7.zip 
[[email protected] tmp]# unzip p13390677_112040_Linux-x86-64_1of7.zip 
[[email protected] ~]$ cd /tmp/database/
[[email protected] database]$ ./runInstaller      
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)

最後執行一下腳本即可。

十二、安裝資料庫

下面正式安裝資料庫,在oracle使用者下執行dbca,圖形化界面安裝

CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)
CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)

[[email protected] admin]# mkdir -p sg1/adump

[[email protected] admin]# chown -R oracle:oinstall sg1/

CentOS6.4+Oracle11.2.0.4安裝(單執行個體ASM)

十二、小結

以前安裝過很多次Oracle,這次是高版本OS+高版本DB,并且使用ASM的單執行個體,安裝困難在于grid與udev方面,其實原理是一樣的,而且使用udev就不依賴于Oracle ASM Lib包,在CentOS6系列中ASMLib不太好找,就直接用udev了。第一篇原創部落格到這裡就結束了,希望大家以後多多捧場啊!(>^ω^<)