RoseHA FORRedHat Linux as4u4(Oracle 10.2.0)
1. 安装前的准备
2. 安装ROSE HA的过程
3. 配置ROSE HA
4. 卸载ROSE HA
一.安装前的准备
1. 硬件环境:VMWARE1.0。虚拟了两台计算机,每台虚拟出两块网卡,一块用于公网,另一块用于私网(连接心跳线);本地硬盘10GB,共享硬盘15G
2. 操作系统:RedHat LINUX 4U4
3. 数据库:ORACLE 10.2.0
4. 计算机名分别规划为:db1和db2
5. IP分配 :db1: 10.0.0.1
Db2: 10.0.0.2
虚拟IP:10.0.0.3
二.安装ROSE HA的过程
前提条件下,我们的两台虚拟机IP已经正确配置,并且互相能够 PING通,共享盘也正确在两台计算机挂载,读写文件正常
1.软件安装:
如果有安装光盘,那么先将安装光盘MOUNT到计算机 的相应
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
下,例: # mount /dev/hdc /media/cdrom
# cd /media/cdrom
如果没有光盘,只有安装文件可以将安装文件传送到相应目录下,
# cd /root
#cd roseHA
#./install.sh
这个安装过程非常快,执行完这个过程后,可以到路径/opt/roseha/bin 里查找是否有文件存在,如果存在说明安装过程正常.注:“/opt下roseha/bin“目录是执行安装进程时自动生成,不需要我们手工去建立。
2. 设置环境变量:
修改root 下的 .bash_profile文件,增加环境变量:
(1)在PATH后面增加 :/opt/roseha/bin
(2)增加一行
HAHOME=/opt/roseha export HAHOME
3. 设置管理帐户:
# cd /opt/roseha/bin
# ./NewPass
按照提示首先 User : ha ( 管理员的用户名 ) New password : 密码 Re-enter new password 重新输入密码
如果需要修改已创建好的管理用户,可用/opt/roseha/bin目录下的SetPass命令。该命令可以修改已创建的管理用户名和口令
4、重新启动计算机
# sync
# reboot
5、进程查询:
#ps –ef | grep ha
Rose Ha在启动后会产生四个主要进程:hamond、hasysd、hachkd和hasvrd
以上步骤1-6需要在两台计算机上都执行
三 配置Rose HA
登录RoseHA管理界面
执行如下命令:
# cd /opt/roseha/bin
# ./hacon
1.运行 RoseHA 的管理界面
进入控制界面首先敲击回车选择 Connect 进入系统
在上图中的Serveri: 输入我们的本地计算机名;在User:输入我们刚才用SETPASS创建的用户HA(根据创建时的用户名所定);在Password:输入我们创建的密码。
输入完后选择OK回车。
出现这个界面说明我们的连接正常。
2.当我们没有拿到正式的 licence 授权之前我们就可以先享受 30 天的使用期,可是也需要设置一下
进入这个界面,选择LICENSE后回车
在HostName l输入本地计算机名,按TAB键会自动跳到DB2处,在此处输入过程计算机名后选择OK回车
选择“YES”回车
这时会提示LICENSE INFORMATION SUCCESS,说明LICENSE已经成功
3.接下来我们要创建心跳线,心跳线可以用一根交叉线或串口线将两台计算机连接起来即可(注:建立心跳线之前一定要保证两台计算机的时间是同步的,否则在创建过程中会出错,提示TIMEOUT)。
创建Socket:
选择PrivateNet->Create Socket 回车
在上图中的IP ADDRESS处输入我们事先分配好的私网IP地址,选OK回车
上图中提示Create
success,说明创建成功
注:该操作在两台主机上都要做
4获取对方主机信息
进入 Tools---Network, 直接选中 AutoGet , OK 。这样就会得到对方主机信息
将光标移到AutoGet处回车
上图提示NIC configuration success
这个操作在两边也要执行
6. 创建服务
在创建服务之前一定要确保心跳线已经正确建立,通讯正常。而且也一定要成功地执行了AUTOGET操作。否则“service”菜单外面会有一个括号,则说明不能创建服务,我们可以看上面的图中的变化,只有建立了PRIVATE和AUTOGET后,SERVICE才会去掉括号。
Type : ORACLE
IP Holding NIC :分别选择两台主机所提供外界服务的网卡设备名(如: eth0 ) ,
不能与心跳网卡在同一个设备上。
Active IP Address :这是为外界数据库服务的 IP (虚拟 IP )地址。此地址必
须与公网的实际 IP 在同一网段上(也就是与在 IP Holding NIC 中所选择的网卡实际 IP 在同一网段上)。
Active SubnetMask :虚拟 IP 的子网掩码。
Agent Script :相应的监控脚本,如: ha_ag_oracle.x 。
Start Script :相应的启动脚本,如: ora_start.sh 。
Stop Script :相应的停止脚本,如: ora_stop.sh 。
Active Volume :磁盘阵列两台主机共用的文件系统的设备名。如: /dev/sdb1
Backup Volume :磁盘阵列两台主机共用的文件系统的设备名。 Active Volume 应与 Backup Volume 的值相同。
Mount Point :与 Active Volume,Backup Volume 值所对应的 mount 点。如: /oracle
SwitchBack:NO
进入 Services---Create
回车
Type : ORACLE
Active IP Address :这是为外界数据库服务的 IP (虚拟 IP )地址
Active Volume :磁盘阵列两台主机共用的文件系统的设备名
添写完相应的选项后,选OK回车(注:LINUX平台的ROSEHA在建立IP,VOLUME,application resourej时是在一个对话框中完成)
7. 在建立好资源后,我们要将所创建的资源让ROSEHA进行保护,执行下列下步骤:“
选择SERVICE->Bring in
选 JOB回车
选择”YES”回车
这时,我们的资源配置已经完成
8 、 Oracle 的启动脚本
(1)ora_start.sh
#!/bin/sh
# This file: ora_start.sh
# Version: 4.0.1
HAHOME=`cat /etc/init.d/HAHOME`
export HAHOME
out=$HAHOME/bin/APIOUT.x
JOBNAME=$2
# When Another Server are Down, You MUST sleep awhile.
# You can change this value to meet your requirement if need.
if [ "$1" = "anotherdown" ]
then
/bin/sleep 30
fi
# DISKDEV=/dev/sda5
# MOUNTPOINT=/oracle
# $HAHOME/bin/dflush $DISKDEV
# fsck -a $DISKDEV
# if test $? -ne 0
# then
# ${out} "[INFO] fsck ${DISKDEV}......"
# fsck -yf $DISKDEV
# fi
# mount $DISKDEV $MOUNTPOINT
# mount | grep "${DISKDEV} on ${MOUNTPOINT} " >/dev/null 2>&1
# if test $? -ne 0
# then
# ${out} "[INFO] Cannot mount ${DISKDEV}."
# exit
# fi
$HAHOME/bin/ha_ag_oracle.x $JOBNAME 0
if test $? -eq 0
then
${out} "[INFO] The service <${JOBNAME}> has started."
exit
else
${out} "[INFO] Start Oracle server...."
su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"
su - oracle -c "$HAHOME/bin/ora_dbstart.sh"
fi
${out} "[INFO] Start shell <$0> finished."
(2) ora_dbstart
#!/bin/sh
# This file: ora_dbstart.sh
# Version: 4.0.1
HAHOME=`cat /etc/init.d/HAHOME`
export HAHOME
if test ! "$1" -o ! "$2"
then
echo "ora_dbstart.sh: Message: ORACLE_SID LISTENER not specified."
else
ORACLE_SID=$1
LISTENER=$2
export ORACLE_SID
fi
# start Oracle Instance
# You MUST choose a Oracle setup mode to meet your requirement.