ORACLE11GR2 RAC服务器组建过程
一. 测试环境:
虚拟机软件:VMWARE SERVER 2.0
OS操作系统: RedHat 5 update 4 (2台)
Oracle: oracle 11g r2
主机名 | SID | ETH0 | VIP | PRIV |
testdb1 | testdb1 | 192.168.2.111 | 192.168.2.113 | 10.1.1.211 |
testdb2 | testdb2 | 192.168.2.112 | 192.168.2.114 | 10.1.1.212 |
SCANIP 192.168.2.115,192.168.2.116, 192.168.2.117 SCANNAME-testdb-SCAN |
二、虚拟机的文件设置:
修改你的虚拟机配置文件(vmware configure file).在这个文件的最后边加上三个参数
disk.locking =FALSE
scsi1.sharedBus ="virtual"
scsi1:0.mode ="persistent"
diskLib.dataCacheMaxSize= "0"
diskLib.dataCacheMaxReadAheadSize= "0"
diskLib.DataCacheMinReadAheadSize= "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites= "0"
三、DNS 配置
Oracle11gr2 RAC 是使用Single Client Access Name(SCAN),所以要DNS服务器来对SCANIP进行解析。以上是对DNS服务器的相关配置。
这里是把DNS服务器放在节点一中来进行解析。
1. DNS服务器所需要的RPM包:
bind-9.3.6-4.P1.el5_4.2
bind-libs-9.3.6-4.P1.el5_4.2
bind-chroot-9.3.6-4.P1.el5_4.2
bind-utils-9.3.6-4.P1.el5_4.2
bind-devel-9.3.6-4.P1.el5_4.2
bind-sdb-9.3.6-4.P1.el5_4.2
caching-nameserver-9.3.6-4.P1.el5_4.2
2. 对DNS主配置文件
由于REDHAT5.0是用chroot来对DNS服务器的配置。所以直接去/var/named/chroot/etc/named.conf
在named.conf 添加以下内容
options {
listen-on port 53 {192.168.2.111;};
directory "/var/named";
dump-file "/var/named/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query {192.168.2.0/24;};
};
include "/etc/rndc.key";
zone "domain.com" {
type master;
file "/var/named/domain.com.hosts";
};
zone "2.168.192.in-addr.arpa"{
type master;
file "/var/named/192.168.2.rev";
};
zone "1.1.10.in-addr.arpa"{
type master;
file "/var/named/10.1.1.rev";
};
3. 编辑正向,反向解析配置文件
DNS服务器需要对服务器的名字进行正向,反向的解释。Named的默认目录是/var/named/chroot里面.以下是正向解释
Cd /var/named/chroot/var/named
Vi domain.com.hosts
$ttl 86400
@ IN SOA testdb1.domain.com. root.domain.com.(
1282236195
10800
3600
604800
38400 )
@ IN NS testdb1.domain.com.
testdb1.domain.com. IN A192.168.2.111
testdb2.domain.com. IN A192.168.2.112
testdb-scan.domain.com. IN A192.168.2.115
testdb1-priv.domain.com. IN A 10.1.1.121
testdb2-priv.domain.com. IN A 10.1.1.122
testdb1-vip.domain.com. IN A192.168.2.113
testdb2-vip.domain.com. IN A192.168.2.114
testdb-scan.domain.com. IN A192.168.2.116
testdb-scan.domain.com. IN A192.168.2.117
还要反向对public,以及private进行解释
Public的反向解释:
Vi 192.168.2.rev
$ttl 86400
@ IN SOAtestdb01.domain.com. root.domain.com.(
1282236195
10800
3600
604800
38400 )
@ IN NS testdb1.domain.com.
111.2.168.192.in-addr.arpa. IN PTR testdb1.domain.com.
112.2.168.192.in-addr.arpa. IN PTR testdb2.domain.com.
113.2.168.192.in-addr.arpa. IN PTR testdb1-vip.domain.com.
114.2.168.192.in-addr.arpa. IN PTR testdb2-vip.domain.com.
115.2.168.192.in-addr.arpa. IN PTR testdb-scan.domain.com.
116.2.168.192.in-addr.arpa. IN PTR testdb-scan.domain.com.
117.2.168.192.in-addr.arpa. IN PTR testdb-scan.domain.com.
Private 的反向解释:
Vi 10.1.1.rev
$ttl 86400
@ IN SOA testdb1.domail.com. root.domain.com(
1282248634
10800
3600
604800
38400)
@ IN NS testdb1.domail.com.
121.1.1.10.in-addr.arpa IN PTR testdb1-priv.domain.com.
122.1.1.10.in-addr.arpa IN PTR testdb2-priv.domain.com.
然后启动DNS服务:
Service named restart
配置连接的DNS连接
Vi /etc/resolv.conf
search domain.com
nameserver 192.168.2.111
4. 对DNS进行正向,反向验证
正向验证
[root@testdb1named]# nslookup
>testdb-scan.domain.com
Server: 192.168.2.111
Address: 192.168.2.111#53
Name: testdb-scan.domain.com
Address:192.168.2.117
Name: testdb-scan.domain.com
Address:192.168.2.115
Name: testdb-scan.domain.com
Address:192.168.2.116
反向验证
[root@testdb1named]# host 192.168.2.115
115.2.168.192.in-addr.arpadomain name pointer testdb-scan.domain.com.
三、主机名设置:
分别在两台节点做以下设定计算机名
Hostname rac1 (一机)
Hostname rac2 (二机)
Vi /etc/hosts
127.0.0.1 localhost.localdomainlocalhost
::1 localhost6.localdomain6localhost6
192.168.2.100 rac1
192.168.2.101 rac2
192.168.2.102 rac1-vip
192.168.2.103 rac2-vip
172.168.1.1 rac1-priv
172.168.1.2 rac2-priv
192.168.2.104 rac-scan
192.168.2.105 rac-scan
192.168.2.106 rac-scan
注意SCAN的计算机名
二. 安装ORACLE所需要的RPM包:
binutils-2.17.50.0.6-14.el5.x86_64.rpm
binutils-devel-2.17.50.0.6-14.el5.i386.rpm
binutils-devel-2.17.50.0.6-14.el5.x86_64.rpm
compat-db-4.2.52-5.1.i386.rpm
compat-db-4.2.52-5.1.x86_64.rpm
control-center-2.16.0-16.el5.i386.rpm
control-center-2.16.0-16.el5.x86_64.rpm
control-center-devel-2.16.0-16.el5.i386.rpm
control-center-devel-2.16.0-16.el5.x86_64.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
compat-libstdc++-33-3.2.3-61.x86_64.rpm
elfutils-libelf-0.137-3.el5.i386.rpm
elfutils-libelf-0.137-3.el5.x86_64.rpm
elfutils-libelf-devel-0.137-3.el5.i386.rpm
elfutils-libelf-devel-0.137-3.el5.x86_64.rpm
elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
expat-1.95.8-8.3.el5_4.2.i386.rpm
expat-1.95.8-8.3.el5_4.2.x86_64.rpm
expat-devel-1.95.8-8.3.el5_4.2.i386.rpm
expat-devel-1.95.8-8.3.el5_4.2.x86_64.rpm
gcc-4.1.2-48.el5.x86_64.rpm
gcc-c++-4.1.2-48.el5.x86_64.rpm
glibc-2.5-49.i686.rpm
glibc-2.5-49.x86_64.rpm
glibc-common-2.5-49.x86_64.rpm
glibc-devel-2.5-49.i386.rpm
glibc-devel-2.5-49.x86_64.rpm
glibc-headers-2.5-49.x86_64.rpm
libaio-0.3.106-5.i386.rpm
libaio-devel-0.3.106-5.i386.rpm
libaio-0.3.106-5.i386.rpm
libaio-0.3.106-5.x86_64.rpm
libaio-devel-0.3.106-5.i386.rpm
libaio-devel-0.3.106-5.x86_64.rpm
libgcc-4.1.2-48.el5.i386.rpm
libgcc-4.1.2-48.el5.x86_64.rpm
libstdc++-4.1.2-48.el5.i386.rpm
libstdc++-4.1.2-48.el5.x86_64.rpm
libstdc++-devel-4.1.2-48.el5.i386.rpm
libstdc++-devel-4.1.2-48.el5.x86_64.rpm
libXp-1.0.0-8.1.el5.i386.rpm
libXp-1.0.0-8.1.el5.x86_64.rpm
libXp-devel-1.0.0-8.1.el5.i386
libXp-devel-1.0.0-8.1.el5.x86_64.rpm
make-3.81-3.el5.x86_64.rpm
openmotif-2.3.1-2.el5_4.1.i386.rpm
openmotif-2.3.1-2.el5_4.1.x86_64.rpm
openmotif-devel-2.3.1-2.el5_4.1.i386.rpm
openmotif-devel-2.3.1-2.el5_4.1.x86_64.rpm
make-3.81-3.el5.x86_64.rpm
pdksh-5.2.14-36.el5.x86_64.rpm
sysstat-7.0.2-3.el5.x86_64.rpm
unixODBC-2.2.11-7.1.i386.rpm
unixODBC-2.2.11-7.1.x86_64.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
unixODBC-devel-2.2.11-7.1.x86_64.rpm
四、设置系统的核心参数:
Vi /etc/sysctl.conf
kernel.shmmax = 1024000000
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744 (512 x processes for example6815744 for 13312 processes)
fs.aio-max-nr = 1048576
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 = 4194304
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
保存后退出
然后
执行sysctl –p
Vi /etc/pam.d/login
session required pam_limits.so
保存后退出
vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
保存退出
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
umask 022
fi
保存退出
注意:以上几点两台节点都需设置。
五、建立用户和组
建立组:
Groupadd –g 500oinstall;
Groupadd –g 501dba
Groupadd –g 502asmdba
Groupadd –g 503asmadmin
Groupadd –g 504 asmoper
Groupadd –g 505oper
建立用户
Useradd –u600 -g oinstall –G dba,asmdba,oper oracle
Useradd –u601 –g asmadmin,asmdba,asmoper,dba grid
Passwd oracle
Passwd grid
六、设置用户环境参数:
vi/home/grid/.bash_profile
export PATH
exportORACLE_SID=+ASM1
exportORACLE_BASE=/u01/app/grid/crs
exportORACLE_HOME=/u01/app/11.2.0
exportJAVA_HOME=$ORACLE_HOME/jdk
exportORACLE_PATH=$ORACLE_BASE/common/oracle/sql
exportORACLE_TERM=xterm
exportNLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
exportTNS_ADMIN=$ORACLE_HOME/network/admin
exportORA_NLS11=$ORACLE_HOME/nls/data
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
exportPATH=${PATH}:$ORACLE_BASE/common/oracle/bin
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
exportCLASSPATH=$ORACLE_HOME/JRE
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
exportTHREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
vi/home/oracle/.bash_profile
exportORACLE_SID=rac1
exportORACLE_UNQNAME=rac
exportORACLE_BASE=/opt/app/oracle
exportORACLE_HOME=/opt/oracle/11.2.0/dbhome_1
exportJAVA_HOME=$ORACLE_HOME/jdk
exportORACLE_PATH=$ORACLE_BASE/common/oracle/sql
exportORACLE_TERM=xterm
exportNLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
exportTNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
exportPATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
exportPATH=${PATH}:$ORACLE_BASE/common/oracle/bin
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
exportCLASSPATH=$ORACLE_HOME/JRE
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
exportTHREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
重点:注意第二个节点要改两个用户的相应SID,
GRID用户ORACLE_HOME不能放在ORACLE_BASE里面
七、建立用户的目录并对用户的目录属主及权限进行设置
Mkdir –p /u01/app/grid/crs
Mkdir –p /u01/app/grid/11.2.0
Mkdir –p /u01/app/oracle
Mkdir –p /u01/app/oracle/11.2.0/db_1
Chown –R grid.oinstall /u01/app/grid/
Chmod –R 775 /u01/app/grid
Chown -R oracle.oinstall /u01/app/oracle
Chmod -R 775 /u01/app/oracle
八、对共享磁盘进行分区:
Fdisk -l
Disk /dev/sda:42.9 GB, 42949672960 bytes
255 heads, 63sectors/track, 5221 cylinders
Units = cylindersof 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 286 2096482+ 82 Linux swap / Solaris
/dev/sda3 287 5221 39640387+ 83 Linux
Disk /dev/sdb:32.2 GB, 32212254720 bytes
255 heads, 63sectors/track, 3916 cylinders
Units = cylindersof 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 3916 31455238+ 83 Linux
Disk /dev/sdc:32.2 GB, 32212254720 bytes
255 heads, 63sectors/track, 3916 cylinders
Units = cylindersof 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 609 4891761 83 Linux
/dev/sdc2 610 1826 9775552+ 83 Linux
/dev/sdc3 1827 3043 9775552+ 83 Linux
/dev/sdc4 3044 3916 7012372+ 83 Linux
这里是以/DEV/SDC作为共享盘,在这里已经进行了分区。
九、安装ASM包,并对ASM进行设置,以及读入ASM盘
Uname –a
2.6.18-164.el5
DOWNLOAD SOFTFROM:
oracleasm-2.6.18-164.15.1.el5-2.0.5-1.el5.x86_64.rpm
oracleasm-support-2.1.7-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.x86_64.rpm
serviceoracleasm restart
serviceoralceasm enable
serviceoracleasm configure
Thiswill configure the on-boot properties of the Oracle ASM library
driver.The following questions will determine whether the driver is
loadedon boot and what permissions it will have. The current values
willbe shown in brackets ('[]'). Hitting <ENTER> without typing an answerwill keep that current value. Ctrl-C will abort.
Defaultuser to own the driver interface []: grid
Defaultgroup to own the driver iCRerface []: asmdba
StartOracle ASM library driver on boot (y/n) [n]: y
Scanfor Oracle ASM disks on boot (y/n) [y]: y
WritingOracle ASM library driver configuration: done
然后对共享盘进行CREATE
Oracleasmcreatedisk ocr /dev/sdc1
Oracleasmcreatedisk data /dev/sdc2
Oracleasmcreatedisk archv /dev/sdc3
Oracleasmcreatedisk fre /dev/sdc4
然后在另外一个节点对ASM盘进行SCAN:
Oracleasmscandisks
Oracleasmlistdisks
十、把系统的NTP服务停止及修改
Servicentpd stop
Chkconfigntpd off
Mv/etc/ntp.conf /etc/ntp.conf.bak
Vi/etc/sysconfig
OPTIONS="-x -u ntp:ntp -p/var/run/ntpd.pid"
十一 建立SSH用户等效性配置
Su – grid
Mkdir –p ~/.ssh
Chmod 700 ~/.ssh
/usr/bin/ssh-keygen –t rsa
/usr/bin/ssh-keygen –t dsa
Ssh rac1 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
Ssh rac1 cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
Ssh rac2cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
Ssh rac2cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
Scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
Chmod 600 ~/.ssh/authorized_keys
ORACLE用户的SSH等效性配置,和GRID用户的方法和步骤一致。
十二、安装grid
首先在两个节点安装cvuqdisk
Export CVUQDISK_GRP=oinstall
Rpm –ivh cvuqdisk-1.0.7-1.rpm
然后su – grid
./runcluvfy.sh stage –pre crsinst –n rac1,rac2 –fixup –verbose
注意结果的FAILED的结果,
./runcluvfy.shstage -post hwos -n rac1,rac2 –verbose
./runInstall
在runInstall前需要用ROOT用记进行xhost +
注意这里的SCANNAME必须同HOSTNAME的SCANNAME相同
注意这里的目录是GRID的ORACLE_BASE及ORACLE_HOME所要注意的不在同一个目录。
由于这是虚拟机所以内存不够,可以忽略.
然后分别以ROOT用户进行运行上图的脚本。
十三 安装ORACLE11G R2
用oracle用户运行runInstall,进行安装ORACLE
\
直接按YES就可以了
因为等下用DBCA建库,所以这里选择只安装软件。
选择安装RAC集群.
在这里选择安装语言
选择安装企业版。
安装ORACLE的路径,包括ORACLE_BASE和ORACLE_HOME的路径。
十四、ASM 磁盘组建立图解:
用GRID用户,运行asmca进行配置
十五 DBCA建立数据库
用ORACLE用户运行DBCA命令进行建立数据: