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的搭建过程”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341