重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
這篇文章主要介紹“Oracle11R2 RAC的搭建過(guò)程”,在日常操作中,相信很多人在Oracle11R2 RAC的搭建過(guò)程問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”O(jiān)racle11R2 RAC的搭建過(guò)程”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司:從2013年創(chuàng)立為各行業(yè)開(kāi)拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為成百上千家公司企業(yè)提供了專業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站推廣服務(wù), 按需網(wǎng)站策劃由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺(jué)效果,策劃師分析客戶的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。
一:禁用selinux
vi /etc/sysconfig/selinux
SELINUX=enforcing #將此處修改為SELINUX=disabled
二:關(guān)閉防火墻
# /etc/rc.d/init.d/iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
然后,針對(duì)下一次服務(wù)器重新引導(dǎo)關(guān)閉 UDP ICMP 拒絕(應(yīng)該始終被關(guān)閉):
# chkconfig iptables off
重新啟動(dòng)操作系統(tǒng)
# init 6
驗(yàn)證結(jié)果
# /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
六:創(chuàng)建用戶和組
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
七:創(chuàng)建文件路徑
(1)創(chuàng)建inventor 路徑
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app
(2)創(chuàng)建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)創(chuàng)建數(shù)據(jù)庫(kù)主目錄
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)創(chuàng)建數(shù)據(jù)庫(kù)軟件主目錄
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
八:創(chuàng)建用戶環(huán)境變量
修改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
九:修改參數(shù)
修改內(nèi)核參數(shù)/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指的是驗(yàn)證登陸配置,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查看內(nèi)存和swap | df -h查看硬盤空間 ,得有2.7G的空間才可以
2.添加交換文件
mkdir -p /opt/temp
dd if=/dev/zero of=/opt/temp/swap bs=1024 count=2048000 --這個(gè)是2G
3.創(chuàng)建交換空間
mkswap /opt/temp/swap
4.啟動(dòng)新增加的2G交換空間
swapon /opt/temp/swap
5.修改/etc/fstab,使新加的2G交換空間在系統(tǒng)重新啟動(dòng)后自動(dòng)生效
echo "/opt/temp/swap swap swap defaults 0 0" >>/etc/fstab
十二:建立信任機(jī)制(兩個(gè)節(jié)點(diǎn)操作)
在oracle和grid用戶下建立.ssh文件夾
生成密鑰對(duì)
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
驗(yàn)證是否成功
相互ssh node1 date
相互ssh node2 date
相互ssh node1-priv date
相互ssh node2-priv date
十三:UDEV共享存儲(chǔ)
1.
#首先確認(rèn)是 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.
#確認(rèn)哪些塊設(shè)備需要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
例如在本實(shí)例中 sdb-> sdf的塊設(shè)備需要綁定
4. 將 b->f的編號(hào)放入for 循環(huán)中,例如:
# 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
就會(huì)生成sdb->sdf 設(shè)備綁定的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. 之后運(yùn)行用root運(yùn)行/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、檢查網(wǎng)絡(luò)和等效性
./runcluvfy.sh comp nodecon -n rac1,rac2 -verbose
3、安裝
./runInstaller
到此,關(guān)于“Oracle11R2 RAC的搭建過(guò)程”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!