Installation Oracle11gR2 RAC---基础环境部署
admin
2023-05-05 02:41:02
0次

第一章 基础环境部署

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软件。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...