1.安裝系統,把所有的開發包全部安裝上
如果沒有配置時間同步協議,那麼安裝的那臺機器rac1時間一定要比另外一臺機器rac2時間落後,
2.配置/etc/hosts文件
192.168.6.100 rac1
192.168.6.200 rac2
192.168.6.101 rac1vip
192.168.6.201 rac2vip
10.10.10.100 rac1priv
10.10.10.200 rac2priv
修改主機名:
vi /etc/sysconfig/network
【vip的網段要和host網段一樣。】
3.配置核心參數
vi /etc/sysctl.conf
kernel.core_uses_pid = 1
fs.file-max = 65536
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
kernel.shmmni = 4096
kernel.sem = 500 64000 100 128
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
4.創建用戶oracle 和dba組
groupadd -g 800 dba
useradd -u 800 -g dba oracle
passwd oracle
創建目錄(兩節點):
mkdir /oradata
mkdir /soft
mkdir /oracle
chown -R oracle:dba /oradata
chown -R oracle:dba /soft
chown -R oracle:dba /oracle
修改環境變量:
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2
export ORACLE_SID=db
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
編輯 /etc/profile 文件,添加如下部分:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
之後,執行:$ulimit驗證一下.
往/etc/csh.login文件裏追加以下內容:
vi /etc/csh.login
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
vi /etc/security/limits.conf
oracle soft nofile 655360
oracle hard nofile 635360
oracle soft nproc 10240
oracle hard nproc 16384
6.配置raw或 ocfs2
從oss.oracle.com下載ocfs2軟件,安裝ocfs2
ocfs2-2.6.9-22.ELsmp-1.0.7-1.x86_64.rpm
還將需要下載以下兩個支持文件:
ocfs2console-1.0.2-1.x86_64.rpm
ocfs2-tools-1.0.2-1.x86_64.rpm
rpm -Uvh *
使用root用戶配置ocfs2
/etc/init.d/o2cb configure
/etc/init.d/o2cb enable
使用root用戶調出圖形界面添加節點信息
/usr/sbin/ocfs2console
cluster--->configure nodes---->propagate configuration..
檢測:
/etc/init.d/o2cb status
[root@rac2 ~]# /etc/init.d/o2cb status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 61
Network idle timeout: 30000
Network keepalive delay: 2000
Network reconnect delay: 2000
Checking O2CB heartbeat: Not active
使用root用戶格式化磁盤爲ocfs2格式【/dev/sdb 爲共享盤】
mkfs.ocfs2 -L "clusterfiles" /dev/sdb
mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata
將 OCFS 配置爲在啓動時自動載入
我們需要在集羣中的所有節點上以 root 用戶帳戶的身份運行以下命令
export PATH=$PATH:/sbin:/usr/sbin
使用root用戶mount集羣文件系統(兩節點)
echo "mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata" >> /etc/rc.local
echo "chown -R oracle:dba /oradata" >> /etc/rc.local
echo "chmod -R 775 /oradata" >> /etc/rc.local
5 . 配置互相信任
兩節點執行:
su - oracle
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
在第二個節點
cd .ssh
scp id_rsa.pub rac1:/home/oracle/.ssh/id_rsa.pub2
scp id_dsa.pub rac1:/home/oracle/.ssh/id_dsa.pub2
在第一臺機器執行
cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2>authorized_keys
chmod 644 authorized_keys
scp authorized_keys rac2:/home/oracle/.ssh
7.請注意,當您使用 ssh 第一次訪問遠程主機時,其 RSA 密鑰將是未知的,從而將提示您確認是否希望連接該主機。 SSH 將記錄該遠程主機的 RSA 密鑰,並在以後連接該主機時不再做出相關提示。
在第一個主機上,以 oracle 用戶身份登錄
ssh rac1
ssh rac1priv
ssh rac2
ssh rac2priv
在第二個主機上,以 oracle 用戶身份登錄
ssh rac1
ssh rac1priv
ssh rac2
ssh rac2priv
8.安裝crs
rac2運行最後一個腳本報錯。
shared libraries: libpthread.so.0: cannot open shared object file:
No such file or directory
解決:
cd /oracle/app/oracle/product/10.2/crs/bin
vi vipca
if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
unset LD_ASSUME_KERNEL <<<== Line to be added
加上一行 unset ...LD_ASS
./vipca
報錯。
運行:
./oifcfg setif -global eth0/192.168.6.0:public
./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
成功。彈出圖形界面,然後把ip配置後,回到原來界面,OK。
9.安裝rdbms
---------------------------------------------------------------
如果是raw
修改/etc/udev/rules.d/60-raw.rules 文件
添加如下內容:
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",KERNEL=="raw[1-5]", OWNER="oracle", GROUP="oinstall", MODE="660"
-------------------------------------
4.配置網絡
127.0.0.1 linux1 localhost.localdomain localhost
需要將其如下刪除:
127.0.0.1 localhost.localdomain localhost
如果 RAC 節點名出現在回送地址中,您在 RAC 安裝期間將接收到以下錯誤信息:
ORA-00603:ORACLE server session terminated by fatal error
或
ORA-29702:error occurred in Cluster Group Service operation
5.配置Hangcheck 計時器
[root@rac1-21 /]# vi /etc/rc.local
增加:
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
這個增加後,記住一定要重新或者執行生效啊!
要立即加載模塊,執行
[root@rac1-21 ~]# modprobe -v hangcheck-timer
查看是否執行成功,下面爲成功
[root@rac1-21 ~]# lsmod | grep hangcheck_timer
hangcheck_timer 8153 0