Oracle RAC安装(一)配置(CentOS)

简介:

在CentOS上安装Oracle单机版。

安装环境及版本:

系统环境:CentOS Linux release 6.5
Oracle版本:p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip、p13390677_112040_Linux-x86-64_3of7.zip

目录:

一、安装CentOS 操作系统(添加网卡、配置IP、主机名、关闭防火墙、hosts、禁用SELINUX、关闭NetworkManager、创建共享磁盘)
二、预备(用户及用户组、目录及权限、环境变量、资源配置、停止NTP)
三、安装依赖包
四、对等性验证
五、安装ASM
六、安装前预检查配置信息
七、安装grid
八、创建ASM磁盘组
九、安装Oracle Software
十、Oracle数据库安装
十一、常用操作

一、安装CentOS 操作系统

1.1 安装操作系统

在VMware上安装操作系统:CentOS Linux release 6.5,具体安装方式参考《VMware创建系统CentOS》

1.2 安装VMTools

参考《VMware安装VMTools(CentOS)》

1.3 快照

参考《VMware快照》

1.4 添加网卡(两节点)

详情参考《VMware添加网卡》

添加VMnet1网卡适配器

1.5 配置IP地址(两节点)

eth0为共有网卡,需要添加私有网卡eth1,两个节点都需要添加配置文件

命令:cp ifcfg-eth0 ifcfg-eth1

1.5.1 配置节点1的IP地址

root账号登录,配置网卡eth0和eth1的IP地址

命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
命令:vi /etc/sysconfig/network-scripts/ifcfg-eth1

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=192.168.0.110 
NETMASK=255.255.255.0
GATEWAY=192.168.0.2
DNS1=211.81.20.201
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=172.10.30.101
NETMASK=255.255.255.0

启用网卡:service network restart

验证:ifconfig

验证:ping www.baidu.com

1.5.2 配置节点2的IP地址

root账号登录,配置网卡eth0和eth1

命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
命令:vi /etc/sysconfig/network-scripts/ifcfg-eth1

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=192.168.0.111 
NETMASK=255.255.255.0
GATEWAY=192.168.0.2
DNS1=211.81.20.201
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=172.10.30.102
NETMASK=255.255.255.0

启用网卡:service network restart

验证:ifconfig

验证:ping www.baidu.com

1.6 配置主机名(两节点)

1.6.1 节点1:主机名为racnode1

命令:vi /etc/sysconfig/network

vi /etc/sysconfig/network
HOSTNAME=racnode1

重启节点:reboot

1.6.2 节点2:主机名为racnode2

命令:vi /etc/sysconfig/network

vi /etc/sysconfig/network
HOSTNAME=racnode2

重启节点:reboot

1.7 关闭防火墙(两节点)

root账号登录节点1和节点2

关闭防火墙:/etc/init.d/iptables stop
禁止自启动:chkconfig iptables off

1.8 禁用SELINUX(两节点)

root账号登录节点1和节点2,修改vi /etc/selinux/config

SELINUX=disabled

1.9 修改/etc/hosts(两节点)

root账号分别登录节点1和节点2,修改文件:vi /etc/hosts

#racnode1 
192.168.0.110 racnode1 racnode1 
192.168.0.201 racnode1-vip racnode1-vip 
172.10.30.101 racnode1-priv racnode1-priv 
#racnode2 
192.168.0.111 racnode2 racnode2 
192.168.0.202 racnode2-vip racnode2-vip 
172.10.30.102 racnode2-priv racnode2-priv 
#scan-ip 
192.168.0.200 scan-cluster scan-cluster

启用节点1和节点2的网卡:service network restart

1.10 关闭NetworkManager服务,并禁用

root账号登录节点1和节点2

停止:/etc/init.d/NetworkManager stop
禁止自启动:chkconfig NetworkManager off
重启网卡:/etc/init.d/network restart

1.11 创建共享磁盘

参考《VMware创建共享磁盘》

两台虚拟机需要共享磁盘,创建4块共享磁盘,两块为5GB,另外两块为10GB,并格式化

二、预备

2.1 创建用户及用户组(两节点)

用root账号登录节点1和节点2,创建账号oraclegrid,并设置密码

groupadd -g 501 dba
groupadd -g 502 oinstall
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -g oinstall -G dba,asmdba,oper oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid

passwd grid
passwd oracle

2.2 创建目录及设置权限(两节点)

用root账号登录节点1和节点2,执行

mkdir -p /u01/app
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/11.2.0/db_1
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oraInventory

chown -R oracle:oinstall /u01
chmod -R 775 /u01

chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

chown oracle:oinstall /u01/app/oracle/11.2.0/db_1
chmod -R 775 /u01/app/oracle/11.2.0/db_1

chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid

chown -R grid:oinstall /u01/app/11.2.0/grid
chmod -R 775 /u01/app/11.2.0/grid

chown grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

2.3 设置环境变量(两节点)

2.3.1 节点1:grid用户

切换到新建的grid用户:su – grid
编辑grid用户的环境变量文件:vi ~/.bash_profile

umask 022
export TMP=/tmp
export TMPDIR=/tmp
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R/bin:/usr/sbin
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid 
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_HOSTNAME=racnode1
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export CVUQDISK_GRP=oinstall

环境变量生效:source ~/.bash_profile

2.3.2 节点1:oracle用户

切换到新建的oracle用户:su – oracle
编辑Oracle用户的环境变量文件:vi ~/.bash_profile

umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=racnode1
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_SID=racnode1
export ORACLE_UNQNAME=racnode
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/11.2.0/db_1
export PATH=${PATH}:$CRS_HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$GRID_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export THREADS_FLAG=native

环境变量生效:source ~/.bash_profile

2.3.3 节点2:grid用户

切换到新建的grid用户:su – grid
编辑grid用户的环境变量文件:vi ~/.bash_profile

umask 022
export TMP=/tmp
export TMPDIR=/tmp
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R/bin:/usr/sbin
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid 
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_HOSTNAME=racnode2
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export CVUQDISK_GRP=oinstall

环境变量生效:source ~/.bash_profile

2.3.4 节点2:oracle用户

切换到新建的oracle用户:su – oracle
编辑Oracle用户的环境变量文件:vi ~/.bash_profile

umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=racnode2
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_SID=racnode2
export ORACLE_UNQNAME=racnode
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/11.2.0/db_1
export PATH=${PATH}:$CRS_HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$GRID_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export THREADS_FLAG=native

环境变量生效:source ~/.bash_profile

2.4 修改资源配置

2.4.1 系统资源数量(两节点)

用root账号登录节点1和节点2,修改:vi /etc/security/limits.conf

grid soft nproc 16384
grid hard nproc 16394
grid soft nofile 65536
grid hard nofile 65536
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

2.4.2 OS Kernel(两节点)

用root账号登录节点1和节点2:vi /etc/sysctl.conf

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 4194304
net.core.wmem_max = 4194304
kernel.panic = 60
fs.aio-max-nr = 1048576
net.ipv4.tcp_syncookies = 1

root账号下,用sysctl -p命令验证,是否修改成功

2.4.3 配置/etc/pam.d/login(两节点)

用root账号登录节点1和节点2,修改:vi /etc/pam.d/login

echo "session required /lib64/security/pam_limits.so" >>/etc/pam.d/login 
echo "session required pam_limits.so" >>/etc/pam.d/login

2.4.4 配置/etc/profile(两节点)

用root账号登录节点1和节点2,修改:vi /etc/profile

#set oracle rac env 
if [ $USER = "ORACLE" ] || [ $USER = "GRID" ];then 
	if [ $SHELL = "/bin/ksh" ];then 
		ulimit -p 16384 
		ulimit -n 65536 
	else 
		ulimit -u 16384 -n 65536 
	fi 
	umask 022 
fi

2.4.5 停止并删除NTP服务(两节点)

用root账号登录节点1和节点2,执行

停止NTP服务:service ntpd status
禁止自启动:chkconfig ntpd off
备份配置文件:cp /etc/ntp.conf /etc/ntp.conf.bak
删除配置文件:rm -rf /etc/ntp.conf

三、安装依赖包

上传需要用到的依赖包

3.1 安装依赖包1(两节点)

root账号登录节点1和节点2,执行

yum -y install binutils-* 
yum -y install compat-libstdc++-* 
yum -y install elfutils-libelf-* 
yum -y install elfutils-libelf-devel-* 
yum -y install gcc-* 
yum -y install gcc-c++-* 
yum -y install glibc-* 
yum -y install glibc-common-* 
yum -y install glibc-devel-* 
yum -y install glibc-headers-*
yum -y install kernel-headers-*
yum -y install ksh-* 
yum -y install libaio-* 
yum -y install libaio-devel-* 
yum -y install libgcc-* 
yum -y install libstdc++-*
yum -y install libstdc++-devel* 
yum -y install numactl-devel*
yum -y install make-* 
yum -y install sysstat-* 
yum -y install unixODBC-*
yum -y install unixODBC-devel-*

3.2 安装依赖包2(两节点)

root账号登录节点1和节点2

yum install libXp*

3.3 安装依赖包3(两节点)

root账号登录节点1和节点2

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm (这个包需要下载)
而且安装过程中回合KSH冲突:
error: Failed dependencies:
        pdksh conflicts with ksh-20120801-10.el6.x86_64

rpm -e ksh
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

3.4 安装依赖包4(两节点)

root账号登录节点1和节点2,执行rpm -ivh cvuqdisk-1.0.9-1.rpm

3.5 安装依赖包5(两节点)

root账号登录节点1和节点2

yum install compat-libcap1*

四、对等性验证

4.1 oracle用户

4.1.1 创建秘钥(两节点)

root登录节点1和节点2,

su - oracle
mkdir ~/.ssh 
chmod 700 ~/.ssh 
ssh-keygen -t rsa
一路回车 
ssh-keygen -t dsa 
一路回车

4.1.2 秘钥匹配(节点1)

oracle用户在节点1执行(这个节点2不用执行,将节点1复制过去)

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 
ssh racnode2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys 
ssh racnode2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 
scp ~/.ssh/authorized_keys racnode2:~/.ssh/authorized_keys

4.1.3 验证(两节点)

oracle账号登录节点1和节点2

ssh racnode1 date 
ssh racnode2 date 
ssh racnode1-priv date 
ssh racnode2-priv date

4.2 grid用户

和oracle用户操作一样

发表回复