Oracle11R2RAC的搭建过程

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

成都创新互联公司:从2013年创立为各行业开拓出企业自己的“网站建设”服务,为成百上千家公司企业提供了专业的网站制作、成都网站建设、网页设计和网站推广服务, 按需网站策划由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。

一:禁用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的搭建过程”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站名称:Oracle11R2RAC的搭建过程
新闻来源:http://myzitong.com/article/geedgp.html