设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> UNIX系统 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
HP Tru64 UNIX Sendmail…
如何在UNIX系统下操作软…
digital unix4.0f在alph…
UNIX Shell 的一种新应用
tru64 unix的命令
UNIX目录简介
Install Apache and PHP…
Top监控工具在Tru 64 UN…
Tru64 Unix FAQ (1)
unix安全架构
  Sun Cluster3.1下的Informix热备和互备         
Sun Cluster3.1下的Informix热备和互备
 

Sun Cluster3.1下的Informix热备和互备 
饮鸩止渴 发表于 2005年10月08日10时35分
http://blog.chinaunix.net/article.php?articleId=50794&blogId=6098  
1           背景
Informix是一种实际项目当中使用比较多的数据库,用户有时候会有把这种数据库做双机热备的要求。Sun Cluster是Sun公司的集群软件,但是从3.0版以后,不再发布为Informix双机热备用的Agent。所以必须另想办法来在Sun Cluster 3下实现Informix双机热备。

虽然Sun Cluster不提供Informix数据服务的Agent,但是它提供了开发自己的Agent的工具,包括Agent Builder和GDS数据服务资源类型,以及相应的API。GDS全称是Generate Data Service,普通数据服务,是为用户的普通网络应用程序准备的配置类型,仅适用于Failover类型。

而Informix数据库的特点就是,在数据库宕机之后,只需要把进程简单的起来就可以继续使用,相当于一个普通的,需要公用存储的的普通网络应用程序。


2           配置办法
2.1       GDS资源类型
GDS资源类型的特点有如下几点:

1.  已经在Sun Cluster安装时自带,使用时注册一下即可

2.  适用于普通网络应用程序,非常方便用户自己的应用程序做高可用

3.  使用用户自己编写的脚本来启动、检测和中止应用程序

4.  用户脚本只要返回给GDS检测程序一个返回值即可,0为成功,否则失败

2.2       Informix数据库
Informix数据库虽然是一个大型数据库,但是其使用方式跟普通网络应用程序很相似,都是通过命令带参数来启动、检查和关闭数据库的

1.  启动

Informix的启动使用oninit命令即可,如果启动失败,会返回相应的错误代码,成功则返回0

2.  检测

onstat命令可以检测目前数据库的运行状态,返回代码和oninit一样。如果要检查的更加详细,可以编写更复杂的脚本来检查

3.  关闭

关闭Informix数据库用onmode –ky命令。

2.3       编写脚本
下面是3个脚本的简单示例:

1.  启动

#!/bin/ksh




CMD_STR=" 
setenv INFORMIXDIR /opt/informix 
setenv INFORMIXSERVER xxdb 
setenv ONCONFIG onconfig.xxdb
setenv DB_LOCALE zh_cn.gb
setenv CLIENT_LOCALE zh_cn.gb


/opt/informix/bin/oninit
"
su - informix -c "$CMD_STR"

return $?

2.  检测

#!/bin/ksh
CMD_STR=" 
setenv INFORMIXDIR /opt/informix 
setenv INFORMIXSERVER xxdb 
setenv ONCONFIG onconfig.xxdb
setenv DB_LOCALE zh_cn.gb
setenv CLIENT_LOCALE zh_cn.gb

/opt/informix/bin/onstat
"
su - informix -c "$CMD_STR"
return $?


3.  关闭

#!/bin/ksh

CMD_STR=" 
setenv INFORMIXDIR /opt/informix 
setenv INFORMIXSERVER xxdb 
setenv ONCONFIG onconfig.xxdb
setenv DB_LOCALE zh_cn.gb
setenv CLIENT_LOCALE zh_cn.gb

/opt/informix/bin/onmode -ky
"


su - informix -c "$CMD_STR"

return $?


注意,这3个脚本都是简单的示例,有如下几个需要注意的地方:

1.  setenv当中设置了DB_LOCALE等语言参数,这是因为Informix数据库如果语言不对,可能客户端不能连接数据库


2.  程序中都返回了$?,这是在su –c命令当中最后一条命令的返回值

3.  在正式使用之前需要在两台主机上都进行手动执行的测试,成功之后才可以正式加入Sun Cluster的程序

2.4       Sun Cluster中的配置
1.  保存3个脚本到两台主机的相同目录,并测试在两台主机上的运行情况

2.  建立一个资源组,加上普遍配置:逻辑主机名、存储等

3.  在Cluster的资源组里注册一个GDS类型资源

4.  指定该资源的启动、检测和中止脚本为我们刚刚编写的脚本

5.  测试资源组的online和offline的功能是否正常

2.5       Informix双机互备的配置
双机互备在Sun Cluster里边是很简单的设置两个资源组即可,但是在Informix中,一台主机上运行两个实例是需要一些不同的配置的,所以有一些需要注意的地方:

1.  两个数据库实例应该有不同的实例名

通过设置INFORMIXSERVER和ONCONFIG可以做到

2.  两个实例名的ONCONFIG文件中需要不同的参数

ROOTPATH、DBSERVERNAME自不必说,需要注意的是SERVERNUMBER必须是不同的数字

3.  两个实例不能使用相同的端口服务

因此,需要设置/etc/services文件中两个service名字和端口,例如:

sqlexec         8766/tcp


sqlexec2        8765/tcp

而在$INFORMIXDIR/etc/sqlhosts文件中,为两个实例分别指定不同的协议
Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-1 23:48:12
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持