千家信息网

Oracle11R2 RAC的搭建过程

发表于:2024-10-15 作者:千家信息网编辑
千家信息网最后更新 2024年10月15日,这篇文章主要介绍"Oracle11R2 RAC的搭建过程",在日常操作中,相信很多人在Oracle11R2 RAC的搭建过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2024年10月15日Oracle11R2 RAC的搭建过程

这篇文章主要介绍"Oracle11R2 RAC的搭建过程",在日常操作中,相信很多人在Oracle11R2 RAC的搭建过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Oracle11R2 RAC的搭建过程"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一:禁用selinux

vi /etc/sysconfig/selinux

SELINUX=enforcing #将此处修改为SELINUX=disabled

二:关闭防火墙

# /etc/rc.d/init.d/iptables stop

Flushing firewall rules: [ OK ]

Setting chains to policy ACCEPT: filter [ OK ]

Unloading iptables modules: [ OK ]

然后,针对下一次服务器重新引导关闭 UDP ICMP 拒绝(应该始终被关闭):

# chkconfig iptables off

重新启动操作系统

# init 6

验证结果

# /etc/rc.d/init.d/iptables status

Firewall is stopped.

# getenforce

Disabled

cd /etc/sysconfig/network-script/

vi ifcfg-eth0

IPADDR=192.168.56.120

NETMASK=255.255.255.0

GATEWAY=192.168.56.1

vi ifcfg-eth2

IPADDR=192.168.0.110

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

三:编辑HOSTS

#public ip

192.168.56.120 linux1

192.168.56.123 linux2

#virtual ip

192.168.56.121 linux1-vip

192.168.56.124 linux2-vip

#private ip

192.168.0.110 linux1-priv

192.168.0.111 linux2-priv

#scan ip

192.168.56.125 linux-scan

四:挂载yum源

mount /dev/cdrom /media

[rhe16]

name=rhe16

baseurl=file:///media/Server

enabled=1

gpgcheck=0

gpgkey-file:///media/RPM-GPG-KEY-redhat-release

五:安装依赖包

yum install compat-libstdc++-33 glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh compat-libcap1 compat-libstdc++ elfutils-libelf-devel gcc-c++

yum install binutils compat-db compat-libstdc++-296 control-center gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make sysstat setarch glibc-devel libaio ksh glibc-headers libgnome libgcc libgnomeui libgomp openmotif libXp

六:创建用户和组

groupadd -g 500 oinstall

groupadd -g 501 dba

groupadd -g 503 asmadmin

groupadd -g 504 asmoper

groupadd -g 505 asmdba

useradd -u 500 -g oinstall -G dba,asmdba oracle

useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

七:创建文件路径

(1)创建inventor 路径

mkdir -p /u01/app/oraInventory

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

chmod -R 775 /u01/app

(2)创建GI主目录

mkdir -p /u01/11.2.0/grid

mkdir -p /u01/grid/11.2.0/crs_1

chown -R grid:oinstall /u01/11.2.0

chmod -R 775 /u01/11.2.0

(3)创建数据库主目录

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/cfgtoollogs

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

chmod -R 775 /u01/app/oracle

(4)创建数据库软件主目录

mkdir -p /u01/app/oracle/product/11.2.0/db_1

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

chmod -R 775 /u01/app/oracle/product

八:创建用户环境变量

修改gird和Oracle用户的.bash_profile文件

oracle:

# Oracle DB 11g Environment

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export ORACLE_SID=orcl1

export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN_AMERICA. AL32UTF8

export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib

export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/RDBMS/lib:/lib:/usr/lib

export ORACLE_DOC=$ORACLE_HOME/doc

export SQLPATH=$ORACLE_HOME/dbs

export PATH=$ORACLE_HOME/OPatch:$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:/usr/vacpp/bin:/usr/ccs/bin

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export TMP=/tmp

export TMPDIR=$TMP

export NLS_DATE_FORMAT='yyyy-mm-dd hh34:mi:ss'

export NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh34:mi:ss.ff'

export NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd hh34:mi:ss.ff'

export EDITOR=vi

grid:

# Oracle DB 11g Environment

export ORACLE_BASE=/u01/11.2.0/grid

export ORACLE_HOME=/u01/grid/11.2.0/crs_1

export ORACLE_SID=+ASM1

export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN_AMERICA. AL32UTF8

export ORA_NLS10=$ORACLE_HOME/nls/data

export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib

export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/RDBMS/lib:/lib:/usr/lib

export ORACLE_DOC=$ORACLE_HOME/doc

export SQLPATH=$ORACLE_HOME/dbs

export PATH=$ORACLE_HOME/OPatch:$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:/usr/vacpp/bin:/usr/ccs/bin

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export TMP=/tmp

export TMPDIR=$TMP

export NLS_DATE_FORMAT='yyyy-mm-dd hh34:mi:ss'

export NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh34:mi:ss.ff'

export NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd hh34:mi:ss.ff'

export EDITOR=vi

九:修改参数

修改内核参数/etc/sysctl.conf

sed -i 's/kernel.shmmax/#kernel.shmmax/g' /etc/sysctl.conf

sed -i 's/kernel.shmall/#kernel.shmall/g' /etc/sysctl.conf

cat >> /etc/sysctl.conf<

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1073741824

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

EOF

修改oracle用户限制

cat>> /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

EOF

修改vi /etc/pam.d/login

session required /lib/security/pam_limits.so

(pam.d指的是验证登陆配置,login是登陆配置文件。)

配置/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

十:增加swap空间

1.检查swap大小和硬盘空间 free -m查看内存和swap | df -h查看硬盘空间 ,得有2.7G的空间才可以

2.添加交换文件

mkdir -p /opt/temp

dd if=/dev/zero of=/opt/temp/swap bs=1024 count=2048000 --这个是2G

3.创建交换空间

mkswap /opt/temp/swap

4.启动新增加的2G交换空间

swapon /opt/temp/swap

5.修改/etc/fstab,使新加的2G交换空间在系统重新启动后自动生效

echo "/opt/temp/swap swap swap defaults 0 0" >>/etc/fstab

十二:建立信任机制(两个节点操作)

在oracle和grid用户下建立.ssh文件夹

生成密钥对

mkdir .ssh

chmod 755 .ssh

ssh-keygen -t rsa

ssh-keygen -t dsa

全部回车键

cat .ssh/*.pub >>.ssh/authorized_keys

ssh oracle@lzl cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

ssh oracle@yq cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

ssh grid@lzl cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

ssh grid@yq cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys

exec ssh-agent $SHELL

ssh-add

验证是否成功

相互ssh node1 date

相互ssh node2 date

相互ssh node1-priv date

相互ssh node2-priv date

十三:UDEV共享存储

1.

#首先确认是 Linux 6.0以上版本

[root@vrh7 dev]# cat /etc/issue

Oracle Linux Server release 6.2

Kernel \r on an \m

2.

#添加记录到/etc/scsi_id.config

echo "options=--whitelisted --replace-whitespace" >> /etc/scsi_id.config

3.

#确认哪些块设备需要udev绑定

[root@vrh7 dev]# ls -l sd*

brw-rw----. 1 root disk 8, 0 Jun 30 09:29 sda

brw-rw----. 1 root disk 8, 1 Jun 30 09:29 sda1

brw-rw----. 1 root disk 8, 2 Jun 30 09:29 sda2

brw-rw----. 1 root disk 8, 16 Jun 30 09:29 sdb

brw-rw----. 1 root disk 8, 32 Jun 30 09:29 sdc

brw-rw----. 1 root disk 8, 48 Jun 30 09:29 sdd

brw-rw----. 1 root disk 8, 64 Jun 30 09:29 sde

brw-rw----. 1 root disk 8, 80 Jun 30 09:29 sdf

例如在本实例中 sdb-> sdf的块设备需要绑定

4. 将 b->f的编号放入for 循环中,例如:

# AUTO UDEV RULE BY Maclean Liu 2012/06/30

for i in b c d e ;

do

echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""

done

就会生成sdb->sdf 设备绑定的RULE,在将这些RULE写入到/etc/udev/rules.d/99-oracle-asmdevices.rules中

也可以直接利用以下脚本 ,写出RULE到99-oracle-asmdevices.rules

# AUTO UDEV RULE BY Maclean Liu 2012/06/30

for i in f g h;

do

echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

5. 之后运行用root运行/sbin/start_udev 即可

十四:安装cvuqdisk 软件包

rpm -ivh cvuqdisk-1.0.7-1.rpm

cat > /etc/ntp.conf << EOF

restrict 0.0.0.0 mask 0.0.0.0 nomodify

server 127.127.1.0

fudge 127.127.1.0 stratum 10

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

authenticate no

keys /etc/ntp/keys

EOF

十五:安装前检查

1、安装前检查

./runcluvfy.sh stage -pre crsinst -n linux1,linux2 -verbose

2、检查网络和等效性

./runcluvfy.sh comp nodecon -n rac1,rac2 -verbose

3、安装

./runInstaller

到此,关于"Oracle11R2 RAC的搭建过程"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0