扫一扫
关注微信公众号

实战:Linux环境Rose HA安装完全攻略
2007-10-24   IT168

上篇文章我们已经介绍过如何在windows环境下安装Rose HA,本文将介绍。如何在Linux环境下安装Rose HA。本文假设环境为Linux操作系统,采用9.2版本的oracle数据库。下面我们看看,在Linux Oracle环境下如何安装和配置Rose HA。

首先将光盘放进光驱

""

计算机— CD-ROM 双击打开 将三个文件复制到系统的某个文件夹下或是将将光驱 mount 到 /mnt 下。

""

系统工具—终端(将光驱挂载到 mnt 文件夹下)

""

在终端窗口下一次键入: # mount –t iso9660 /dev/cdrom /mnt (挂载设备)
# cd /mnt (进入 mnt 文件夹)
# ls ( 查看 mnt 下的文件 )

""


安装 ROSEHA ,进入到 mnt 目录下 运行 # ./install.sh

""

可检查 /opt/roseha/bin 面是否有文件存在

""

两个较为重要的文件 NewPass 修改密码(第一次运行需要修改密码)

""

运行 # ./NewPass 按照下图进行

""

按照提示首先 User : ha ( 管理员的用户名 ) New password : 密码 Re-enter new password 重新输入密码

""

到这里,Rose HA的安装基本结束,但是不要心急,我们会还需要一些步骤来设置Rose HA的初始化。

1

初始设置Rose软件

在进入系统之前然我们来设置一下系统的相关信息如下图所示: /etc/hosts

""

设置完毕后重新引导系统确定 starting RoseHA dearm 服务启动正常

""

在 /opt/roseha/bin 下运行 # ./hacon 运行 ROSEHA 的管理界面

""

进入控制界面首先敲击回车选择 Connect 进入系统,User 是上面我们设置的用户名 Password 也是我们设置的密码 全部输完 “ OK”

""

出现如下和面说明连接正常

""

当我们没有拿到正式的 licence 授权之前我们就可以先享受 30 天的使用期,可是也需要设置一下

""

只要移动 Tab 键在 HostName: 处将本机的主机名 和对端主机名填写正确就可以了“ OK “
两边机器都需要进行设置

""

出现下图所示的 License Information success 说明我们可以用试用版了只要在一个月内注册正式版产品就可以了!两边的服务器都需要做相同的设置。

""

1

配置双机HA

1 、管理界面的启动

# hacon

2 、连接:

进入 Tools---Connect, 输入 Server:localhost

User:root

Password:root

3 、 license 号输入:

进入 Tools---License, 输入 HostName: 左边为本机主机名,右边为远程主机名。 ( 把左边主机名输入后 , 按 Tab 键可把光标移动到右边 , 输入远程主机名 , 点击 ok)

4 、创建 RS232 私网:

进入 PrivateNet---Create RS232, 把两台主机的 DeviceName 改成 /dev/ttys0 。

注:该操作在两台主机上都要做

5 、创建 socket 私网

进入 PrivateNet---Create Socket, 选择主机用于私网的地址,输入远程主机用于私网的地址。说明:这是两台机器通讯用的 IP 地址(心跳 IP ),

注:该操作在两台主机上都要做

6 、获取对方主机信息:

进入 Tools---Network, 直接选中 AutoGet , OK 。这样就会得到对方主机信息。

7 、创建服务:

进入 Services---Create ,

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

1

Oracle 9.2.0 版本的启动脚本

(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.

# The nether lines for Oracle Version 9 or Later

sqlplus "/ as sysdba "<<!

startup

exit

!

# The nether lines for Oracle Version 8 or Older

# svrmgrl <<!

# connect internal

# startup

# exit

# !

# start Oracle listener

lsnrctl start $2

1

Oracle 9.2.0 的停止脚本

(1)ora_stop.sh

#!/bin/sh

# This file: ora_stop.sh

# Version: 4.0.1

HAHOME=`cat /etc/init.d/HAHOME`

export HAHOME

out=$HAHOME/bin/APIOUT.x

JOBNAME=$2

ERRORNUMBER=$3

${out} "[INFO] The service <${JOBNAME}> stop because of {$ERRORNUMBER}."

# DISKDEV=/dev/sda5

# MOUNTPOINT=/oracle

$HAHOME/bin/ha_ag_oracle.x $JOBNAME 0

if test $? -eq 0

then

${out} "[INFO] Stop Oracle server immediate...."

su - oracle -c "$HAHOME/bin/ora_dbshut_im.sh"

else

${out} "[INFO] Stop Oracle server...."

su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"

fi

sync

# $HAHOME/bin/UMOUNT $DISKDEV $MOUNTPOINT

# mount | grep "${DISKDEV} on ${MOUNTPOINT} " >/dev/null 2>&1

# if test $? -eq 0

# then

# ${out} "[WARNING] Cannot umount ${DISKDEV}."

# /sbin/reboot

# fi

${out} "[INFO] Stop shell <$0> finished."

(2) ora_dbshut_ab

#!/bin/sh

# This file: ora_dbshut_ab.sh

# Version: 4.0.1

COLUMNS=1024

export COLUMNS

HAHOME=`cat /etc/init.d/HAHOME`

export HAHOME

if test ! "$1" -o ! "$2"

then

echo "ora_dbshut_ab.sh: ORACLE_SID or LISTENER not specified."

LSNR_PID=`ps -ef | grep tnslsnr | grep -v grep | awk -F" " '{print $2}'`

else

ORACLE_SID=$1

LISTENER=$2

echo "ora_dbshut_ab.sh: ORACLE_SID=$ORACLE_SID, LISTENER=$LISTENER."

LSNR_PID=`ps -ef | grep tnslsnr | grep $LISTENER | grep -v grep | awk -F" " '{print $2}'`

fi

# Kill Oracle Listener

if [ EMPTY"$LSNR_PID" = EMPTY ]

then

echo "Not found listener process <tnslsnr>!"

else

echo "Kill oracle listener process <"$LSNR_PID">."

kill -9 $LSNR_PID

fi

# Stop Oracle Instance

# You MUST choose a Oracle stop mode to meet your requirement.

# The nether lines for Oracle Version 9 or Later

sqlplus "/ as sysdba "<<!

shutdown abort

exit

!

# The nether lines for Oracle Version 8 or older

# svrmgrl <<!

# connect internal

# shutdown abort

# exit

# !

卸载 Rose HA

# mount /dev/cdrom /mnt /cdrom
# cd /mnt/ cdrom/Shell
#./uninstall.sh

1

常见问题及注意事项

• 开机方法:
开机的时候我们必须注意到,必须先开磁盘阵列,等 磁盘阵列状态READY 后,再开主机,主机完全开启后,再把备机开启。

• 关机方法:
关机的方法则是开机的反顺序,先关备机,备机关完以后,再关主机,最后关磁盘阵列。

• Q :两台服务器上的双机软件启动后,而双机两边的资源都处于虚状态怎么办?
A : 在工作机上将资源一一点中,使资源处于高亮状态,点击工具栏上的 bring in 按钮。

• Q :安装 ROSE HA 软件时, Windows NT 对 Service Pack 版本的 要求?
A : 用 Service Pack4 , Service Pack5 或以上。

• Q :当工具栏的“ takeover”, “ failover”, “bring in”, “bring out” 等快捷按 钮均为不可用。主备机的状态保持不变,提示“ the public net is functioning, but all instances of private net are down or unavailable.”
A : 如果在“ private net ”界面下心跳线变为红色,检查心跳是否连接正常。

• Q :没有选择 Auto-Switch Back 开关时,关机后先启 关机前为备机状态的 Host ,后启 关机前为主机状态的 Host 。会出现什么情况?
A : 先启的 Host 成为主机,后启的 Host 成为备机。

• Q :两台 Host 均是在本地机上启动 ROSE HA 双机,启动双机时无法启动,并出现报错“ Fail to get remote Server's IP address from the registry ”。以上情况如何处理?
A : 以上情况是由于两台服务器上的 Administrator 的密码不相同而造成的, 将两台服务器的 Administrator 密码改为一样,重新登录即可。

• Q :双机手工切换时无法切换,软件报错信息如下:
999. [System Error] 拒绝访问 (0x5)
423. Lock Volume < E: >: Fail ”(注: E: 为公共磁盘卷)
该现象是什么原因造成的?(设数据库文件安装在公共磁盘 E 盘上)
A : 以上现象发生后,检查是否打开了察看 E 盘的窗口,或者正在使用磁 盘管理器。关掉窗口或磁盘管理器后即可正常切换。

• Q : 安装完毕后,进入控制界面,点击开始,显示 “Cluster doesn't start” , 服务无法启动,以上情况如何解决。
A : 进入“服务”,启动 cluster service ,得到提示登录时错误,然后双击该服务,点击“确定”,即可。

• 其它重要的注意事项:
1.在安装双机软件以后,数据库的服务的启 / 停都应该通过双机软件的 Bring In (启动服务)和 Bring Out (停止服务)功能来实现,不要使用数据库自带的工具软件来进行
2 .心跳线的(私用网) IP 地址和公用网 IP 最好设置在不同的网段。

1

热词搜索:

上一篇:业务连续性不仅仅是灾难恢复
下一篇:实战:ROSE HA双机热备系统安装指南

分享到: 收藏