1、准备三个节点
成都创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元拜泉做网站,已为上家服务,为拜泉各地企业和个人服务,联系电话:18982081108
一台做SAN设备
两台做ORACLE RAC节点,每个节点2个网卡
2、分配IP地址
saneth0 10.0.0.1
c1eth0 192.168.33.101 eth0:1 192.168.33.201
c2eth0 192.168.33.102eth0:1 192.168.33.202
给eth0加入虚拟IP使用下面的命令
ifconfig eth0:1 192.168.33.201 netmask 255.255.255.0
ifconfig eth0:1
192.168.33.202 netmask 255.255.255.0
如果配置错误使用下面的命令进行删除
ip addr del 192.168.33.202 dev eth2
3、安装ntp服务器作为集群时钟授时系统,可以安装在ipsan设备上
在san上,编辑/etc/ntp.conf
retrict default nomodify
restrict 127.0.0.1
server 127.127.1.0
fudge
127.127.1.0 stratum 8
driftfile /var/lib/ntp/drift
broadcastdelay
0.008
然后重启ntpd服务
service ntpd restart
在c1、c2主机上去同步时钟即可
crontab -e
*/5 * * * * /usr/sbin/ntpdate xxxxx
每五分钟同步一次
4、修改内核参数在c1、c2上
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter =
1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq =
0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb =
65536
kernel.msgmax = 65536
kernel.shmmax = 2147483648
kernel.shmall =
268435456
kernel.shmmni = 4096
kernel.shmall = 2097152
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.rmem_max =
262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
5、创建oracle用户和dba、oinstall用户组
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
6、编辑/etc/hosts文件
vim /etc/hosts
127.0.0.1localhost
192.168.33.101c1
192.168.33.201c1-vip
10.0.0.2c1-priv
192.168.33.102c2
192.168.33.202c2-vip
10.0.0.3c2-priv
10.0.0.1san
在c1、c2上都复制这些内容
7、所有节点都要配置hangcheck-timer:用于监视 Linux 内核是否挂起
vim /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30
hangcheck_margin=180
vim /etc/rc.local
modprobe hangcheck-timer
检查hangcheck-timer模块是否已经加载:
lsmod | grep hangcheck_timer
8、配置oracle用户双机(多机)互信
su - oracle
ssh-keygen -t rsa
ssh-keygen -t dsa
cd .ssh
cat *.pub
> authorized_keys
然后每个节点都进行
cat *.pub > authorized_keys的追加
9、配置ipsan
在san主机上
yum -y install scsi-target-utils
yum -y install
iscsi-initiator-utils
vim /etc/tgt/targets.conf
backing-store /dev/sdb1
vender_id
IET
product_id V1
backing-store
/dev/sdc1
vender_id
IET
product_id V2
backing-store
/dev/sdd1
vender_id
IET
product_id V3
backing-store
/dev/sde1
vender_id
IET
product_id V4
backing-store
/vote/disk1.img
vender_id
IET
product_id V5
backing-store
/vote/disk2.img
vender_id
IET
product_id V6
service tgtd restart
chkconfig tgtd on
10、导入ipsan的公共存储
yum install iscsi-initiator-utils -y
service iscsid start
iscsiadm -m discovery -t st -p san
service iscsi start
chkconfig iscsid on
chkconfig iscsi on
11、安装依赖包c1、c2
yum install binutilscompat-libstdc++elfutils-libelfelfutils-libelf-develglibcglibc-commonglibc-develglibc-headersgccgcc-c++libaiolibaio-devel libgcclibstdc++libstdc++-develmakesysstatunixODBCunixODBC-devel-y
12、安装oracleasm包c1、c2
rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm oracleasmlib-2.0.4-1.el5.x86_64.rpm oracleasm-support-2.1.7-1.el5.x86_64.rpm
13、安装cluster
cd /mnt/clusterware/cluvfy/
./runcluvfy.sh stage -pre crsinst -nc1,c2 -verbose
cd
/mnt/clusterware/
./runInstaller-ignoreSysPrereqs
在Specify Home Details页面
手工修改crs安装终点: /u01/crs_1
在Specify Cluster Configuration页面
指定两个节点
c1c1-privc1-vip
c2c2-privc2-vip
在Specify Network Interface Usage页面
eth0192.168.33.0Public
eth010.0.0.0Private
在Specify Oracle Cluster Registry(OCR) Location页面
指定
External Redundancy
Specify OCR Location: /dev/raw/raw1
在Specify Voting Disk Location页面
指定
External Redundancy
Voting Disk Location: /dev/raw/raw2
14、安装cluster后续工作
在c1运行
/u01/app/oracle/oraInventory/orainstRoot.sh
在c2运行
/u01/app/oracle/oraInventory/orainstRoot.sh
在两个节点上修改两个脚本来避免bug出现
vim /u01/crs_1/bin/vipca
LD_ASSUME_KERNEL=2.4.19
export
LD_ASSUME_KERNEL
fi
unset
LD_ASSUME_KERNEL
vim /u01/crs_1/bin/srvctl
export
LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL
在c1运行
/u01/crs_1/root.sh
在c2运行
/u01/crs_1/root.sh
在最后一个节点运行/u01/crs_1/root.sh会报错
Running
vipca(silent) for configuring nodeapps
Error 0(Native:
listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]
需要手工设置oracle的IP:
cd
/u01/crs_1/bin
-------------------------------------------------------------------
./oifcfg
iflist
eth0 192.168.33.0
eth0 192.168.33.0
./oifcfg
setif -global eth0/192.168.33.0:public
./oifcfg setif -global
eth0:1/192.168.33.0:cluster_interconnect
./oifcfg
getif
eth0 192.168.33.0 global public
eth0:1 192.168.33.0 global
cluster_interconnect
运行vipca
/u01/crs_1/bin/vipca
在Step2指定IP
c1c1-vip192.168.1.201255.255.255.0
c2c2-vip192.168.1.202255.255.255.0
如果启动时发现ons服务无法启动,可以暂时忽略,重启主机后可以启动它。
如果碰到CRS-0184错误
可以尝试重启CRS守护进程/etc/rc.d/init.d/init.crs start
如果有问题可以尝试查看/var/log/messages查看系统级错误
两个脚本都运行完就安装完cluster了
然后使用crs_stat -t查看下状态,如果都是ONLINE状态就是正常。
15、安装Oracle数据库引擎
在Select Installation Type页面
选择 Enterprise Edition
在Specify Home Details页面
填写Path: /u01/app/oracle/product/10.2.0/db_1
在Specify Hardware Cluster Installation Mode
勾选两个节点c1,c2
在Select Configuration Option页面
选择 Install database Software only
安装完毕后,先后在c1和c2上运行
/u01/app/oracle/product/10.2.0/db_1/root.sh脚本
16、安装ASM数据库实例
在c1上配置oracleasm
/etc/init.d/oracleasm configure
先在c1上创建oracleasm磁盘
/etc/init.d/oracleasm createdisk D1 /dev/sdb1
/etc/init.d/oracleasm createdisk D2 /dev/sdc1
/etc/init.d/oracleasm createdisk D3 /dev/sdd1
/etc/init.d/oracleasm createdisk D4 /dev/sde1
在c2上配置oracleasm
/etc/init.d/oracleasm configure
在c2上扫描oracleasm的变化
/etc/init.d/oracleasm scandisks
在c1用dbca创建ASM实例
选择D1, D2, D3, D4,选择Normal模式
17、在ASM上创建数据库
启动dbca
略