您好,登錄后才能下訂單哦!
這篇文章主要介紹“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的搭建過程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。