Oracle RAC For Redhat Linux 4

 Oracle RAC For Redhat Linux 4

 

 官方文檔請參考:http://www.oracle.com/technology/global/cn/pub/articles/smiley_rac10g_install.html


規劃:
crs 安裝本地/orac/crs
oracle  共享磁盤/orac/orahome   ocfs2
data    共享磁盤/orac/oradata   ocfs2

ocr     共享磁盤/orac/oradata/ocrdata   ocfs2
votedisk     共享磁盤/orac/oradata/votedisk   ocfs2

一、準備oracle數據庫安裝環境

1、在2臺主機上創建dba、oinstall組,oracle用戶。用戶ID和組ID,以及oracle密碼在所有集羣主機上必須相同。

#groupadd -g 1001 dba
#groupadd -g 1002 oinstall
#useradd -u 1001 -m -g oinstall -G dba oracle
#id oracle
#passwd oracle

2、配置內核參數/etc/sysctl.conf,添加以下內容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024     65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

#sysctl -p
使配置立即生效。

3、爲oracle用戶設置shell限制
/etc/security/limits.conf 添加:
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536

/etc/pam.d/login 添加:
session    required     /lib/security/pam_limits.so

/etc/profile 添加:
if [ /$USER = "oracle" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

/etc/csh.login 添加:
if ( /$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif

4、配置Hangcheck計時器(orace強烈建議配置)
#modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
/etc/rc.d/rc.local 添加
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

5、驗證已經安裝的程序包
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9

安裝gcc:kernel-headers(即glibc-kernheaders)>glibc-headers>glibc-devel>gcc


6、修改/home/oracle/.bash_profile,添加以下:
ORACLE_BASE=/orac/orahome; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1; export  ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib; export LD_LIBRARY_PATH
LC_CTYPE=en_US.UTF-8; export LC_CTYPE
二、網絡配置

1、配置集羣主機網卡

2、配置/etc/hosts,從回送地址中刪除主機名,再添加以下:

211.152.14.110  rac01
211.152.14.109  rac02

192.168.1.110  priv01
192.168.1.109  priv02

211.152.14.210  vip01
211.152.14.209  vip02

三、爲oracle用戶建立安全ssh通道

1、每臺主機以oracle用戶登錄
#mkdir ~/.ssh
#chmod 755 ~/.ssh
#ssh-keygen -t rsa
#ssh-keygen -t dsa

2、rac01,以oracle登錄
#ssh rac01 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#ssh rac01 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#ssh rac02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#ssh rac02 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
#scp ~/.ssh/authorized_keys rac02:~/.ssh/
#chmod 644 ~/.ssh/authorized_keys

rac02上:
#chmod 644 ~/.ssh/authorized_keys

3、所有集羣主機上測試

#ssh rac01 date
#ssh rac02 date

不需要密碼說明ssh配置成功。

--mirror1

四、安裝iscsi initiator
# rpm -ivh iscsi-initiator-utils-4.0.3.0-4.i386.rpm
#vi /etc/iscsi.conf 修改
DiscoveryAddress=192.168.1.100:3260
#vi /etc/initiatorname.iscsi 添加
InitiatorName=iqn.192.168.1.100.iscsi.1
#service iscsi start

192.168.1.100是共享磁盤(sdb)的位置
注:這裏sdb(8G)爲存放ORC,voteDisk,oracleHome,oracleData;CRS安裝在本地磁盤
#fdisk /dev/sdb
sdb1 3000M
sdb2 5000M

五、安裝並配置OCFS2
1、安裝
#uname -r
2.6.9-55.ELsmp
去oracle官網下載相應版本:
ocfs2-tools-1.2.7-1.el4.i386.rpm
ocfs2-2.6.9-55.ELsmp-1.2.9-1.el4.i686.rpm
ocfs2console-1.2.7-1.el4.i386.rpm
並安裝。

2、配置
#export DISPLAY=192.168.1.100:0.0
注:192.168.1.100主機啓動Xmanager Passive
#ocfs2console
跳到ocfs2console圖形界面:
格式化分區、添加集羣節點、複製配置文件(/etc/ocfs2/cluster.conf)

六、掛載OCFS2文件系統
1、檢測o2cb的狀態
#service o2cb configure
#service o2cb enable
#service o2cb status

2、創建掛載目錄,修改屬性
#mkdir -p /orac/crs               存儲clusterware軟件
#mkdir -p /orac/orahome           存儲數據庫軟件
#mkdir -p /orac/oradata           存儲數據文件

#chown -R root:oinstall /orac/crs
#chown -R oracle:oinstall /orac/orahome
#chown -R oracle:oinstall /orac/oradata

#chmod -R 755 /orac/crs
#chmod -R 755 /orac/orahome
#chmod -R 755 /orac/oradata

#mount -t ocfs2 /dev/sdb1 /orac/orahome
#mount -t ocfs2 -o datavolume,nointr /dev/sdb2 /orac/oradata

在/etc/fstab 添加:
/dev/sdb1 /orac/orahome ocfs2 _netdev 0 0
/dev/sdb2 /orac/oradata ocfs2 _netdev,datavolume,nointr 0 0
檢驗:
#df -hT
#mounted.ocfs2 -f

保存
開始安裝clusterware之前,先在clusterware根目錄使用runcluvfy.sh檢查先決條件是否已經滿足:

./runcluvfy.sh stage -pre crsinst -n rac01,rac02 -verbose
如果你收到任何失敗消息,請先糾正後再繼續安裝。


七、安裝CRS
注意:
1、查看oracle用戶是否有clusterware安裝目錄的執行權限。
2、使用oracle用戶運行安裝程序。
3、在提示運行腳本時,一定分開一個一個運行。
測試軟件安裝是否成功,執行crs的bin下:
olsnodes
crs_stat -t
八、安裝數據庫軟件
注意:
1、查看oracle用戶是否有database安裝目錄的執行權限。
2、使用oracle用戶運行安裝程序。

九、創建數據庫

./dbca
選擇安裝RAC數據庫,在全部節點安裝。

十、測試
使用oracle client測試rac:

[oracle@rac02 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 28 21:43:29 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> connect sys/abc.123@sales as sysdba
Connected.
SQL> set wrap off                 
SQL> select * from gv$instance;
rows will be truncated

   INST_ID INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME
---------- --------------- ---------------- ------------------------------------
         2               2 sales2           rac02
         1               1 sales1           rac01

SQL>

 

 

 

 


十一、注意事項

1、我的內核:2.6.9-55.ELsmp
以下用runcluvfy.sh檢測到的沒安裝rpm,但是官方資料上redhat4沒有要求一下rpm包,奇怪啊,而且和原系統包有衝突。

compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128

安官方要求,redhat4只要有
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9
這些包就可以了。

2、安裝軟件時提示執行腳本一定要一個以個執行。

3、給共享磁盤掛載ocfs2文件系統前,先保證2邊o2cb的服務狀態一致:
service o2cb configure
第一個選y,其他默認

service o2cb enable

serivce o2cb status

4、ocfs2console 無法添加節點問題解決:
嘗試以下方法

4.1、service o2cb enable
4.2、刪除/etc/ocfs2/cluster.conf

5、向第二個節點推進安裝數據庫軟件失敗,提示AttachHome失敗,在失敗節點上手動執行
../db_1/oui/bin/runInstaller -attachHome -noClusterEnabled -nogenerateGuid ORACLE_HOME=/orac/orahome/10.2.0/db_1 ORACLE_HOME_NAME=OraDb10g_home1 CLUSTER_NODES=rac01,rac02 "INVENTORY_LOCATION=/home/oracle/oralnventory" -cfs LOCAL_NODE=rac02

6、安裝軟件過程不能中斷,否則系統不乾淨,很難繼續安裝(一般都是失敗,最好一次搞定)。

7、安裝crs時,出現警告:
根據排除文件列表‘null’將目錄/orac/crs/10.2.0複製到節點‘rac02’時出錯,所有已提交的命令都沒有成功執行。
這個大概是2個節點時間不同步吧,不知道是不是配置Hangcheck計時器的問題,如果沒有配置計時器,不會彈出這個錯誤。
這個警告可以忽略,繼續執行安裝。

 

部分截圖:

 

 

 

 

 

 

 

長ping rac01上的VIP,把rac01關機,發現斷開一段時間後恢復 :

 

 

 

查看rac02上發現,原來在rac01上的eth0:1變到rac02的eth0:2上了:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章