热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

关于informix数据库的多重驻留

一、多重驻留多重驻留(MultipleResidency)是指在同一台主机上运行多个OnLine实例,每个OnLine实例都拥有和管理自己的进程、共享内存和磁盘空间。多重驻留并不是指将OnLine软件安装到多个不同的目录。OnLine5.0、Online7.x与IDS都支持多重驻留,而且这几个
一、多重驻留
多重驻留(Multiple Residency)是指在同一台主机上运行多个OnLine实例,每个OnLine实例都拥有和管理自己的进程、共享内存和磁盘空间。多重驻留并不是指将OnLine软件安装到多个不同的目录。OnLine5.0、Online7.x与IDS都支持多重驻留,而且这几个不同版本的数据库存服务器可以驻留在相同的主机中。
由于在一个OnLine数据库服务器中可以建立多个数据库,用户通常不必使用多重驻留就可以满足多方面的数据管理要求。但有时为了满足特殊的要求,会发现使用多重驻留能带来许多方便。比如,OnLine的建档(archive)和逻辑日志份是针对整个数据库服务器的(在OnLine7.1中也可以只对某个dbspace建档),而不是针对于数据库的,为了将某些数据库分离出来管理使用,就可以考虑使用多重驻留。
总之,使用多重驻留可以有如下优点:
1、生产环境和开发环境分开;
2、隔离非常重要的数据库;
3、在单个主机上测试分布数据事务。
多重驻留之所以能独立运行并且不相互干扰,是由于这些不同的OnLine实例使用各自不同的共享内存区域和磁盘空间等资源。OnLine管理员必须为每个OnLine实例指定不同的配置文件(通过定议TBCONFIG或ONCONFIG环境变量),并且在配置文件中为下面的参数指定互不重复的值:
1、RVERNUM
通过设置不同的SERVERNUM,OnLine计算出不同的共享内存关键字值,并从UNIX操作系统申请到不同的共享内存段。OnLine进程和客户应用也会根据该值附加或找到所需要的共享内存。
2、ROOTPATH和ROOTOFFSET
上面两个参数相结合唯一确定了root dbspace初始chunk,使得不同的OnLine使用不同的磁盘空间。(如果使用相同的ROOTPATH,注意根据前一个ROOTSIZE的值计算准确第二个OnLine的ROOTOFFSET的值)
3、ERVERNAME和DBSERVERALLASES(OnLine7)
这两个参数使多个数据库服务器能根据名字相互连接。在OnLine5.0中,只提供一个DBSERVERNAME参数,如果没有安装INFORMIX-STAR连接产品,该参数没有实际作用。
4、MSGPATH
该参数使不同OnLine实例的运行状态跟踪住处区分开来。
5、IRRORPATH和MIRROROFFSET
如果对root dbspaces使用镜象,上面两个参数定义的磁盘空间在两个服务器上必须不能重复使用。

二、多重驻留的使用
使用用多重驻留的方法是在配置好一个数据库服务器之后在对另一个数据库服务器进行配置。配置另一个服务器的步骤与以前相同,需要注意的是它们使用各自的配置文件,一些环境变量和配置参数必须指定不同的值。下面以OnLine7.1为例说明配置另一个OnLine的步骤:
1、Informix用户注册,拷贝一个新的ONCONFIG文件,并设置环境变量,设置新的ONCONFIG和INFORMIXSERVER环境变量。使ONCONFIG环境变量指向新的ONCONFIG配置文件。新的ONCONFIG文件名最好能反映该服务器的用途和序号(SERVERNUM),如onconfig.dev14,指示该数据库服务器用于开发环境并且使用的SERVER为14。
2、使用编辑和onmonitor个性新的onconfig配置文件,下面参数的值应与其他OnLine配置文件中的值不同:SERVERNUM、ROOTPATH及ROOTOFFSET、DBSERVERNAME、MSGPATH;如果使用镜象,还有MIRRORPATH和MIRROFFSET。
3、分配磁盘空间,检查分配给OnLIne的原始磁盘设备或UNIX文件的路径、属主和权限等是否满足要求。
4、修改连接文件,在$INFORMIXDIR/etc/sqlhosts中啬新的dbservername项,必要时还要在/etc/services等文件中啬相应的网络服务信息。
5、初始化磁盘空间(使用oninit Ci命令),一定要注意用不同的环境变量。
6、如果使用onarchive备份工具,配置onarchive,onarchive使用onconfig.arc作为配置文件,并使用oper_deflt.arc作为操作员命令缺省文件。用户可以设置ARC_CONFIG和ARC_DEFAULT环境变量来指定新的文件名以替代上述两文件。
7、其他工作,为了使用方便,OnLine可以请操作系统管理员将启动和关闭各个OnLine的命令放到开/关机自动执行的脚本中。在启动或关闭多个OnLine时除了已经设置的INFORMIXDIR和PATH环境变量外,应该注意改变ONCONFIG和INFORMIXSERVER变量的设置。
当多个OnLine实例正常运行后,如果新的OnLine实例是缺省的数据库服务器,用户的INFORMIXSERVER环境变量应重新设为新的dbservername。在客户应用中使用SQL语句CONNECT或DATABASE也可以直接与指定的服务器连接。

推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
author-avatar
ycy1873187
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有