千家信息网

Installation Oracle11gR2 RAC---基础环境部署

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,第一章 基础环境部署1.1、环境操作系统:SuSE Linux Enterprise Server 11SP3数据库:Oracle 11gR2(112040)节点1主机名:jason1ip地址:10.
千家信息网最后更新 2024年11月28日Installation Oracle11gR2 RAC---基础环境部署

第一章 基础环境部署

1.1、环境

操作系统:SuSE Linux Enterprise Server 11SP3

数据库:Oracle 11gR2(112040)

节点1

主机名:jason1

ip地址:

10.18.199.209 jason1

10.0.0.1 jason1-priv

10.18.199.221 jason1-vip

ORACLE_SID:ORACLE1

SCANIP: 10.18.199.223

节点2

主机名:jason2

ip地址:

10.18.199.210 jason2

10.0.0.2 jason2-priv

10.18.199.222 jason2-vip

ORACLE_SID:ORACLE2

SCANIP: 10.18.199.223

共享存储:

设备名

大小

作用

/dev/sdb

2g

OCR_VOTE

/dev/sdc

5g

数据库归档日志

/dev/sdd

15g

数据库文件

1.2、创建账户

分别在两台服务器上创建如下账户。

groupadd-g 1000 oinstall

groupadd -g 1200asmadmin

groupadd -g 1201asmdba

groupadd -g 1202asmoper

useradd -m -u 1100 -goinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash grid

groupadd -g 1300 dba

groupadd -g 1301oper

useradd -m -u 1101 -goinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash oracle

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid

chown -R grid:oinstall/u01

mkdir -p /u01/app/oracle

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

chmod -R 775 /u01

passwd oracle

1.3、配置hosts文件

配置两台服务器hosts文件。

#vi /etc/hosts

10.18.199.209 jason1

10.0.0.1 jason1-priv

10.18.199.221 jason1-vip

10.18.199.210 jason2

10.0.0.2 jason2-priv

10.18.199.222 jason2-vip

10.18.199.223 jason-cluster jason-cluster-scan

1.4、安装所需rpm包

两节点均查看所需rpm包,安装所需rpm包。

#rpm -q binutils gcc gcc-32bit gcc-c++ glibc glibc-32bitglibc-devel glibc-devel-32bit ksh libaio libaio-32bit libaio-devellibaio-devel-32bit libstdc++33 libstdc++33-32bit libstdc++43 libstdc++43-32bitlibstdc++43-devel libstdc++43-devel-32bit libgcc43 libstdc++-devel make sysstatunixODBC unixODBC-devel unixODBC-32bit unixODBC-devel-32bit libcap1

binutils-2.23.1-0.17.18

gcc-4.3-62.198

gcc-32bit-4.3-62.198

gcc-c++-4.3-62.198

glibc-2.11.3-17.54.1

glibc-32bit-2.11.3-17.54.1

glibc-devel-2.11.3-17.54.1

glibc-devel-32bit-2.11.3-17.54.1

ksh-93u-0.18.1

libaio-0.3.109-0.1.46

libaio-32bit-0.3.109-0.1.46

libaio-devel-0.3.109-0.1.46

libaio-devel-32bit-0.3.109-0.1.46

libstdc++33-3.3.3-11.9

libstdc++33-32bit-3.3.3-11.9

libstdc++43-4.6.9-0.11.38

libstdc++43-32bit-4.6.9-0.11.38

libstdc++43-devel-4.3.4_20091019-0.37.30

libstdc++43-devel-32bit-4.3.4_20091019-0.37.30

libgcc43-4.6.9-0.11.38

libstdc++-devel-4.3-62.198

make-3.81-128.20

sysstat-8.1.5-7.45.24

unixODBC-2.2.12-198.17

unixODBC-devel-2.2.12-198.17

unixODBC-32bit-2.2.12-198.17

unixODBC-devel-32bit-2.2.12-198.17

libcap1-1.10-6.10

1.5、修改内核参数

设置两台服务器的内核参数

#vi /etc/sysctl.conf

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.inotify.max_user_watches = 65536

net.ipv4.conf.default.promote_secondaries = 1

net.ipv4.conf.all.promote_secondaries = 1

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 978288640

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

vm.hugetlb_shm_group= 1000 ###此处为oinstall group number

1.6、设置Shell对Oracle与grid用户的限制

#vi /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

编辑/etc/pam.d/login,添加如下内容:

vi /etc/pam.d/login

session required pam_limits.so

1.7、禁用NTP服务

在两台服务器上均禁止NTP服务

service ntp stop

chkconfig ntp off

mv /etc/ntp.conf /etc/ntp.conf.bak

1.8、grid用户环境变量

节点1

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

if [ $USER = "oracle" ] || [ $USER = "grid"]; then

if [ $SHELL ="/bin/ksh" ]; then

ulimit -p16384

ulimit -n65536

else

ulimit -u 16384 -n65536

fi

umask 022

fi


节点2

export ORACLE_SID=+ASM2

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

if [ $USER = "oracle" ] || [ $USER = "grid"]; then

if [ $SHELL ="/bin/ksh" ]; then

ulimit -p16384

ulimit -n65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi


1.9、oracle用户环境变量

节点1

export ORACLE_SID=ORACLE1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

if [ $USER = "oracle" ] || [ $USER = "grid"]; then

if [ $SHELL ="/bin/ksh" ]; then

ulimit -p16384

ulimit -n65536

else

ulimit -u 16384 -n65536

fi

umask 022

fi


节点2

export ORACLE_SID=ORACLE2

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

if [ $USER = "oracle" ] || [ $USER = "grid"]; then

if [ $SHELL ="/bin/ksh" ]; then

ulimit -p16384

ulimit -n65536

else

ulimit -u 16384 -n65536

fi

umask 022

fi

1.10、使用multipath配置asm磁盘

节点1与节点2均进行配置。

jason1:~# fdisk -l

Disk/dev/sda: 42.9 GB, 42949672960 bytes

255heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors

Units= sectors of 1 * 512 = 512 bytes

Sectorsize (logical/physical): 512 bytes / 512 bytes

I/Osize (minimum/optimal): 512 bytes / 512 bytes

Diskidentifier: 0x0005e0f3

Device Boot Start End Blocks Id System

/dev/sda1 * 2048 208895 103424 83 Linux

/dev/sda2 208896 8595455 4193280 82 Linux swap / Solaris

/dev/sda3 8595456 83886079 37645312 83 Linux

Disk/dev/sdb: 5242 MB, 5242880000 bytes

162heads, 62 sectors/track, 1019 cylinders, total 10240000 sectors

Units= sectors of 1 * 512 = 512 bytes

Sectorsize (logical/physical): 512 bytes / 512 bytes

I/Osize (minimum/optimal): 512 bytes / 512 bytes

Diskidentifier: 0x00000000

Disk/dev/sdb doesn't contain a valid partition table

Disk/dev/sdc: 2147 MB, 2147483648 bytes

67heads, 62 sectors/track, 1009 cylinders, total 4194304 sectors

Units= sectors of 1 * 512 = 512 bytes

Sectorsize (logical/physical): 512 bytes / 512 bytes

I/Osize (minimum/optimal): 512 bytes / 512 bytes

Diskidentifier: 0x00000000

Disk/dev/sdc doesn't contain a valid partition table

Disk/dev/sdd: 15.7 GB, 15728640000 bytes

64heads, 32 sectors/track, 15000 cylinders, total 30720000 sectors

Units= sectors of 1 * 512 = 512 bytes

Sectorsize (logical/physical): 512 bytes / 512 bytes

I/Osize (minimum/optimal): 512 bytes / 512 bytes

Diskidentifier: 0x00000000

Disk/dev/sdd doesn't contain a valid partition table

jason1:~#

编辑/etc/multipath.conf文件,配置多路径软件。
defaults {

polling_interval 5

path_selector "round-robin 0"

path_grouping_policy failover

uid_attribute "ID_SERIAL"

getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"

path_checker directio

rr_weight uniform

failback immediate

queue_without_daemon yes

mode 0644

uid 1100

gid 1200

checker_timeout 30

}

blacklist{

devnode "^sda"

devnode "ofsctl"

}

multipaths{

multipath {

wwid 24d3963ec66158aac

alias ASMOCR

path_grouping_policy failover

user_friendly_names yes

path_selector "round-robin 0"

failback immediate

rr_weight uniform

}

multipath {

wwid 2a188df0f367ec9ad

alias ASMFRA

path_grouping_policy failover

user_friendly_names yes

path_selector "round-robin 0"

failback immediate

rr_weight uniform

}

multipath{

wwid 291bbf9b896a0f503

alias ASMDATA

path_grouping_policy failover

user_friendly_names yes

path_selector "round-robin 0"

failback immediate

rr_weight uniform

}

}

添加/etc/udev/rules.d/99-oracle-asmdevices.rules文件,修改设备文件权限。

使用如下命令查询

for i in 1 2 3

do

echo "KERNEL==\"dm-*\", SUBSYSTEM==\"block\",PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"` /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/dm-$i`\", OWNER=\"grid\",GROUP=\"asmadmin\", MODE=\"0660\""

done


jason1:~ # cd /etc/udev/rules.d/
jason1:/etc/udev/rules.d # vi 99-oracle-asmdevices.rules

KERNEL=="dm-*", SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="24d3963ec66158aac", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="dm-*", SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="2a188df0f367ec9ad", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="dm-*", SUBSYSTEM=="block",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="291bbf9b896a0f503", OWNER="grid",GROUP="asmadmin", MODE="0660"

jason1:/etc/udev/rules.d #
查看生成的设备名称

jason1:/dev/mapper# ll

total0

lrwxrwxrwx1 root root 7 Jan 20 12:37 ASMDATA-> ../dm-2

lrwxrwxrwx1 root root 7 Jan 20 12:33 ASMFRA-> ../dm-0

lrwxrwxrwx1 root root 7 Jan 20 12:37 ASMOCR-> ../dm-1

crw-rw----1 root root 10, 236 Jan 20 12:27 control

jason1:/dev/mapper#

jason1:/dev# ll dm-*

brw-rw----1 grid asmadmin 253, 0 Jan 20 12:40 dm-0

brw-rw----1 grid asmadmin 253, 1 Jan 20 12:40 dm-1

brw-rw----1 grid asmadmin 253, 2 Jan 20 12:40 dm-2

jason1:/dev#

1.11、开启mutilipath服务

chkconfigboot.multipath on

chkconfigmultipathd on

至此,RAC初始化环境搭建完毕,接下来安装grid软件。

0