如何构建Informix分布式数据库访问
分布式数据库是在集中式数据库系统成熟技术的基础上发展起来的,它使物理分布的数据构成了一个逻辑整体。对用户来说,一个分布式数据库系统逻辑上就如同一个集中式数据库,用户可以在任何一个场地执行全局应用。Informix是一个具有跨平台、全功能的关系型数据库,它可在Online 7.1以上版本中将I-star等网络产品进行集成,并使其不但支持本地数据库,而且支持分布式数据库。
当前,银行、保险等金融行业均存在多业务处理系统,比如银行的综合业务、代理业务,保险的出单业务等,各业务系统常驻留于不同的主机上。为达到系统间数据共享,提高数据的安全性及完整性,增强整个系统的应用功能,需要构建分布式处理,这在实际应用中已显示出重要的作用。建立在Unix基础上的Informix分布式数据库,需对服务器端的文件hosts、hosts.equiv、services、sqlhosts作相应设置。
一、 服务器端的配置
假设在网络上有两个数据库服务器,分别命名为motor2000、zhtj2000,网络连接采用TCP/IP协议。
设置网络结点:
/etc/hosts.equiv
gztb_motor
gztb_zhtj
设置网络结点机器名及IP地址:
/etc/hosts
161.83.1.1 gztb_motor
161.83.1.2 gztb_zhtj
设置数据库服务的Services名称及端口号:
/etc/services
sqlexec_1 9991/tcp
sqlexec_2 9992/tcp
端口号9991、9992不能与已有的端口号重复。
设置服务器名称、端口、协议间的对应关系: $INFORMIXDIR/etc/sqlhosts
motor2000 ontlitcp gztb_motor sqlexec_1
zhtj2000 ontlitcp gztb_zhtj sqlexec_2
通过sqlhosts这个设置文件可知道motor2000数据库服务器位于gztb_motor结点上,并且其Services名为sqlexec_1,对应端口号为9991,从/etc/hosts可知网络服务器gztb_motor的网络地址为161.83.1.1,再通过9991端口号向网络地址为161.83.1.2的zhtj2000数据库服务器提出数据操作的请求。
二、 分布式数据库的使用范例
假设在motor2000服务器中有motor数据库(insur_f、veh_list是其中的表),zhtj2000服务器中有zhtj数据库(tj_ssfy、tj_chb 是其中的表)。
例1 从zhtj2000主机发出SQL命令,检索出motor中insur_f 表的所有数据,且insur_f的p_no字段值在zhtj数据库的tj_ssfy表中 。
SELECT p_no
FROM motor @ motor2000:insur_f
WHERE p_no IN (SELECT dzhhm FROM zhtj:tj_ssfy)
例2 把motor2000服务器veh_list表中的数据插入到zhtj2000主机的tj_chb表中 。
INSERT zhtj:tj_chb
SELECT * FROM motor @ motor2000:veh_list
WHERE p_no NOT IN (SELECT dzhhm FROM zhtj:tj_chb)
例3 用zhtj2000服务器的tj_ssfy表中的shshje合计值更新motor2000服务器中insurf表的act_pre字段值。
UPDATE motor:insurf SET act_pre =
(SELECT sum(shshje) FROM zhtj@ zhtj2000:tj_ssfy
WHERE dzhhm = insurf.p_no)
三、 调整分布式数据库的通讯量
在多Online主机数据交互操作性强、网络负载较重情况下,网络通讯极易成为制约数据库应用性能的“瓶颈”,这时通过调配主机间的通讯流量,可极大地提高分布式数据库的综合性能。具体方法有如下4种:1在服务器端建立经过系统优化的常用存储过程,把更多的工作交由数据库服务器完成;2创建触发器TRIGGER,它是一种特殊的存储例程;3用prepare对SQL语句进行预处理,减少数据库系统对SQL语句分析的信息传输量;4适当增大共享内存的大小。以上方法均可有效地减小网络通讯的数据流量,减轻网络的负载。
- · 如何突破一个有限制的SHELL
- · unix下的uucp大全讲解
- · 万年编辑器:VI
- · 如何实现多台主机的磁带机同时备份,加快备份速度
- · 远程拨号登录SCO UNIX主机
- · SCO限制ROOT用户远程登录的几种方法
- · SCO限制ROOT用户远程登录的几种方法
- · informix online 的三种备份方法
- · informix online的安装
- · 终端多屏对/etc/mscreencap文件的认识
- · 如何备份UNIX系统
- · 修改图形界面的默认终端
- · 备份Informix-Online数据库三法
- · 创建带vi编辑器的引导盘
- · SCO下转换大写金额的SHELL脚本
- · cc的基本用法
- · 一个shell编写菜单
- · tar解压
- · 网卡的配置和相关检测
- · dd 命令的用法
- · 分享SCO UNIX安装经验
- · swap--交换区配置
- · 用sed实现文件反转
- · Unix下打包命令的使用
- · 创建带网络功能的SCO UNIX 5.05应急软盘组
- · 如何在SCO UNIX 5中直接运行DOS/WINDOWS程序
- · Unix中限制root远程登录的方法
- · sco的管理工具
- · 轻松制作SCO UNIX系统备份
- · SCO Unix十大常见故障
- · 在sco 5.0.5中定时运行程序
- · 在SCO系统中配置非SCSI磁带设备
- · DAT磁带机安装(SCO UNIX 5.0.4)
- · 烧制2.88MB的应急引导盘
- · 创建一个包含vi的SCO5.05系统应急引导盘
- · 应急启动盘与安全管理
- · 创建带网络功能的SCO5.05应急软盘组
- · SCO root密码丢失的处理
