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-eth1
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 hh24:mi:ss'
export NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh24:mi:ss.ff'
export NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd hh24: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 hh24:mi:ss'
export NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh24:mi:ss.ff'
export NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd hh24: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@vrh6 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@vrh6 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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31467250/viewspace-2140527/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31467250/viewspace-2140527/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值