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盘不用分区,其他就按步就班地安装,需要的包后面再装。

三、上传介质

[root@sg1 ~]# cd /tmp
[root@sg1 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
[root@sg1 tmp]# rz
[root@sg1 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磁盘

在绑定前先把用户和用户组加上,

[root@sg1 ~]# 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

[root@sg1 ~]# sh user.sh 
[root@sg1 ~]# 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.
[root@sg1 ~]# 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"这个配置信息。

[root@sg1 tmp]# shutdown -h now
打开sg1.vmx,添加:
disk.EnableUUID="TRUE"

下面用命令找出上面添加的两块磁盘的UUID,并定义规则文件,重启UDEV

[root@sg1 ~]# /sbin/scsi_id -g -u -d /dev/sdb
36000c291cf77bc123323fe102f774b1f
[root@sg1 ~]# /sbin/scsi_id -g -u -d /dev/sdc
36000c29882d246daac8110185b222b77

[root@sg1 ~]# 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"

[root@sg1 ~]# /sbin/udevadm control --reload-rules
[root@sg1 ~]# /sbin/start_udev
Starting udev: [ OK ]

关于UDEV的绑定问题,有很多因为OS版本不一,导致很多问题,下面两个链接是别人总结的,大家可以参考。在Linux 6上使用UDEV解决RAC ASM存储设备名问题,利用UDEV配置OCR VOTE(基于整个磁盘) 

四、创建目录

[root@sg1 ~]# 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
[root@sg1 ~]# sh mkdir.sh

 五、配置Oracle各种参数

[root@sg1 ~]# vi /etc/hosts
192.168.181.55 sg1
[root@sg1 ~]# 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

[root@sg1 ~]# sysctl -p
[root@sg1 ~]# 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
[root@sg1 ~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
[root@sg1 ~]# 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

[root@sg1 ~]# chkconfig ntpd off
[root@sg1 ~]# 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软件并安装

[root@sg1 tmp]# unzip p13390677_112040_Linux-x86-64_3of7.zip
[grid@sg1 ~]$ cd /tmp/grid
[grid@sg1 grid]$ ./runInstaller 

下面在grid用户下图形化界面安装grid:

grid最后安装检查,我们发现有两个地方没通过,现在来修正。

[root@sg1 ~]# vi /etc/sysctl.conf

kernel.shmmax = 980320256

[root@sg1 ~]# 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,下面安装

[root@sg1 ~]# yum install -y compat-libcap*

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

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

[root@sg1 ~]# /u01/11.2.0/grid/root.sh

上面这步参考11G GRID 安装缺少到libcap.so.1而终止的解决方法

十、安装Disk Group

现在grid软件已经安装完成,下面继续安装Disk Group,依旧是grid用户下的图形化配置。

[grid@sg1 ~]$ asmca

十一、安装Oracle数据库软件

先解压软件,然后下面切换到oracle用户,并在图形化界面下安装

[root@sg1 tmp]# unzip p13390677_112040_Linux-x86-64_1of7.zip 
[root@sg1 tmp]# unzip p13390677_112040_Linux-x86-64_1of7.zip 
[oracle@sg1 ~]$ cd /tmp/database/
[oracle@sg1 database]$ ./runInstaller

最后执行一下脚本即可。

十二、安装数据库

下面正式安装数据库,在oracle用户下执行dbca,图形化界面安装

[root@sg1 admin]# mkdir -p sg1/adump
[root@sg1 admin]# chown -R oracle:oinstall sg1/

十二、小结

以前安装过很多次Oracle,这次是高版本OS+高版本DB,并且使用ASM的单实例,安装困难在于grid与udev方面,其实原理是一样的,而且使用udev就不依赖于Oracle ASM Lib包,在CentOS6系列中ASMLib不太好找,就直接用udev了。第一篇原创博客到这里就结束了,希望大家以后多多捧场啊!(>^ω^<)

 

你可能感兴趣的:(oracle,数据库)