嵌入式学习linux环境数据库管理员指南_第1页
嵌入式学习linux环境数据库管理员指南_第2页
嵌入式学习linux环境数据库管理员指南_第3页
嵌入式学习linux环境数据库管理员指南_第4页
嵌入式学习linux环境数据库管理员指南_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

像Oracle,Informix是一个强大的数据库。Informix、Oracle以及像IBM的DB2和Sybase这样的企业级数据库都在各种平台上进行竞争,但它们都主要集中在需要大量的数据库通信和的企业级数据库管理的方面。这些产品都是需要这样的成品数据库服务器的一些商业的竞争者:即满足中大型公司商业环境的特定的负载需求的数据库服务器。序存取法)产品,称为C-ISAM,该产品今天仍然有效,并且可在Linux中得到。市场上的所有现有的数据库产品均使用ISAM技术来运作,无一例外。Informix在数据库领域中还有许多其他的所有的数据库产品(其中包括本书未提及的产品)都满足ISO的最小需求和作为条目级(entry-level)数据库的SQL标准。它们都满足服从基本SQL的最小点;除了SQL规中允许的条目级功能外,还允许一些高级功能作为可选功能。没有任何一个单独的供应商能够实现所有的SQL规范,但大多数供应商都首先满足最小规范,然后为了竞争再选择实现其他的功能。有关SQL标准的详细信息,请搜索网(WWW。供应商还在最终用户强烈要求增加的功能时,或者在对手增加了用户喜欢的功能时,添加其他的功能。本章集中讨论怎样安装并启动Linux操作环境下的Informix引擎。不仅讨论企业级数据库引擎,还讨论可从Linux升级到市场上(主要是在UNIX操作系统市场)的更大的服务器的引擎。本章所学的大多数内容都适用于其他UNIX版本的InformixDynamicServe.,并在某种程度上适合于NTUNIX和NT上,少数在MVS(大型机)上。在UNIX上找不到的那几个引擎都是微软的数据库产品,因为微软选择N作为他们的首要平台。微软现在刚开始认真地考虑他们的数据库市场,建立数据仓库的产品,以及实现他们的SQLServer产品系列的数据转换。一旦In x86结构的平台足以使NT像UNIX或其他平台那样运行得快,则SQLServer就有了机会。这时你将注意到UNIX和NT以及Linux之间的性能有很大的差别。NT将能够很好地运行小工作组的Informix,而从UNIX和Linux中可得到更好的性能比。Informix是们喜爱的库。如果开发人员遇到Informix,则他很有可能将继续使用Informix,尤其是当他发现Informix与某些其他产品相比在管理上是如何容易时更是如此。原:Oracle实例大约要为Oracle软件耗费600M的磁盘空间,而且还不算数据库所需的附加空间。Oracle安装与Informix相比很复杂,不仅在软件布局上而且在配置上。如果看过Oracle软件的 ,那么在安装完Informix后就会发现区别。Oracle要花比InformixInformix相比性能方面的限制了。如果Oracle是你的第一个引擎,则Informix将是你的第二个引擎,因为你会很惊奇地发现它是那么的简单。如果Informix是你的第一个引擎,后来安装Oracle软件则是为了学习之用。Informix所占据的空间比Oracle少得多─引擎和开发者SDK工具只占不到150MB。但是,这可根据开发者添加到Informix软件 中附加组而化,该 常放在UNIX的变量$INFORMIXDIR中。详细讨论$INFORMIXDIR环境变量以及需要使Informix启快速运行的其他内容。Informix的安装不到两个小时就可完成;但这极大地依赖于高级规划。计划得越好,安装就越快。尽管Informix引擎安装简单,但也需要花费一点时间来理解如何进行设置的各个方面。请记住,对于任何软件产品或任何数据库产品,都需要这样做。笔者将示出一个良好的基本布局,你可对此进行扩充,它适用于Informix销售的任何引擎,唯一例外是标准引擎(StandardEngineSE),我们这里不做介绍。SE是一个既不使用InformixDynamicServer的共享内存特性,也不使用DynamicServer的其他许多特性的引擎。对于工干预的没有操作需求的,或数据需求很少且很简单的,并且数据库功能也简单的小型企业和软件来说,SE有许多优点。SE是许多纵向市场的AR(增值 商)所选择的引擎,因他发现此擎于各种于UNIX的应用程序是简单的、低 的和低成本的引擎尽管SE成本低,但并不能仅仅因为成本而选择它。SE忽略了太多的内容,以致于相比较而言应选择IDS,除非你只使用数据库中最简单的功能。更基础的是C-ISAM,它是Informix提供低级的数据库产品。C-ISAM是市场上几乎所有数据库产品的基础。但是C-ISAM是极为受限的,并且只有Informix是在数据库市场上提供UNIX的ISAM产品的第一家公司,接着又在SE上提供了更复杂的ISAM,它允许使用StandardSQL数据库。C-ISAM可用于Linux,你可以找一个副本来了解它是如何工作且其他数据库产品是如何使用它的。IDS有限制,但对于大多数情况,此引擎适应于多种负荷,并且仍然提供较高的性能。IDS是很可靠和强壮的,并且应该认为是未来的最小引擎。它的实现与SE一样简单,但没有SE的多。只要你全周期地IDS需要的操作,则该引擎的很简单。IDS在速度性能上显然优于SE,你将会发觉IDS在许多方面都与SE类似,但也会发现IDS更强大,比SE的收益以及高级功能使得IDSIDS.2000,它允许你使用IDS7.30IDS7.30获得对该基本引擎的感性认识,然后再升级到IDS.2000。IDS.2000有你根本不需要的附加功能,但它们可能是基本的功能。无论如何,最好是先了解两个引擎中较为简单的那一个,然后再升级到更复杂的。有关SE和IDS以及IDS.2000之间的全部产品的比较,请InformixWeb站点。由于SE的限制,许多企业将考虑把DynamicServer作为大多数情况下选择的最小引擎。这在目前已经成为重要的选择,因为IDS的成本明显下降,这主要应归于Linux和SQLServer及其他小型服务器产品的竞争。由于Linux的内核已经提高到可以作为一个真正的数据库服务器,因此Linux目前越来越多地利用IDS。Linux高于NT的优势仍然是不言而喻的;但是,即使是在Linux中,也必须为最佳性能仔细配置服务器。一位好的DBA将在安装前而非安装后关注基础性工作。来自Informix的最好的引擎不是IDS7.30,而是IDS.2000,它是一个完全的对象关系的引擎,为需要高级的面向对象功能的企业提供了的特性。本章不介绍IDS.2000,但请记住IDS.2000大部分工作方式与IDS7.30相同。了解IDS7.30就等于了解了IDS.2000,因为该引擎基本相同,但包含了复杂的对象关系技术。应该知道的是,尽管这两个引擎有不同,但大多数特性是相同的。只有在使用对象关系数据库管理系统(ORDBMS)时才有区别。在Linux的历史中,Postgres是Linux的另一个流行的数据库引擎,它来自于Ingres,即来自发明Ingres的MichaelStonebreaker。当InformixPostgre的商业版本时,他们实际上是购买了Ingres的精髓(加入对象关系的形式就成为今天的 Postgres,并将其重新命名为UniversalServer。Postgres一直使用至今,并且由Informix吸收的UniversalServer继续在IDS.2000中使用。IDS7.30和以前的UniversalServer9.x组合成了IDS.200。由于IDS.2000与以前的IDS7.30似,因此从IDS7.30升级到IDS.2000几乎不需要更改环境。不对这种情况进试,Informix不仅公布了IDS.200继承的功能,还公布了需要升级的新功能部分。第一步软件获取涉及软件的获得和放置。这很大程度上取决于软件的分发形式,以及以适当的形式放置该软件以便获得安装标记所需的步骤。第一步通常是最的;实际的安装标记在安装活动中则很少能感觉到。第二步的安装标记在原来的形式上稍有改变,但微软的WindowsInformitar光盘,在大多数情况下为带有CPIO文件的光盘。当然,也有例外和其他的格式。最近几个月,有些引擎软件带有一个利用XWindows接口进行安装的选项,这类似于ordPerfect在UNIX上的安装,但不是标准的。自第一个Linux发布以来,Linux的Informix引擎的分发包一直是以tar格式出现在 HatRPMPackageManager中。的7.30引擎IDS7.30.UC10被包装在RPM文件中,而该文件又被包装在zip文件中。其他的软件组件以其他的格式出现在.tar.ga文件中。为了安装的目的,使用PRM和zip文件。这将需要使用Linux的压缩工具unzip─应确保你有此工具或某些其他的能识别zip压缩文件格式的解压工具。这不会与gzip文件相。最后一步是使此软件运行起来,这要取决于硬件的类型,以及你打算要此软件使用多少硬件。在多数情况下,我们认为数据库将是基于服务器平台的主要占据者。再次强调,主要关心基于Linux的服务器的安装。Linux服务器是最流行的服务器之一,这是由于该操作环境提供的多功能性,而不是由于在小型及大型计算环境中使附加的计算资源有效的极低成本。目前还有很多人正在转向Linux,因此熟悉它的技术对你今后很有好处。根据我们的目的,讨论安装的三个部分:即软件的获取和软件的服务器放置、安和标记,以及磁盘设置和服务器运行。在root和informix登录中建立三个环境变量。你将需要一个informixid和一个informix者将在后面讨论此原因,但应首先注意到这一点。用你自己的名字替代名字rebel;它将在后面被。应确保在root和informix描述文件中设置了这些命令,在继续安装前登录时,描述文件将这些值送入你的环境中。除非$INFORMIXDIR变量被设置,否则安装不能正确进行。注销账号,然后再次登录,并确保这些变量在继续前进行设置。 zip文件。在这里面,zip文件将是一个包含多个tar文件和一个安装的RPM文件。应确保按Informix的建议安装软件。注意以下步骤应在作为root登录时进行。如果没有root的权,则停止正在进行的操作,并为安装获得root登录的权。一旦该软件安装,将仍然需要作为root建立数据 如果安装了Karchiver,并且正在使用用于文件管理器的HTML/eb文件浏览器接口KDE,可以击zi文件打开。只要在Autostart窗口内双击zip文件,Karchiver将弹出一个列表。在这里可以获取你在工作 中看到的东西,但不是最终安装该软件的地方。在 File菜单下,选择Extractt菜单选项,拾取一个 ,并获取所有的文件(参见图4-1。一旦将所有文件提取到某 中,可以用kpachage浏览RPM文件的内容;应确保此软也安装在你的机器上。在编写本书时,kpachage还未成为KDE安装程序包的一部分,但它是KDE程序的alpha/deta版本的一部分(参见图4-2。注意图4-2,笔者已经直接将这些文件提取到/root中。应确保有足够的空间来容纳所提取的文件。你提取的两个RPM文件将占据大约60MB的空间。它们可放在任何地方,因为它们只用于安装;之后,可删除它们或在别的地方它们以便节省硬盘驱动器的空间。你可将其放在可写光盘上以便将来使用。图4- 图4-2在获取文件和SDK的RPM后创建的视可以使用kpahage浏览非PM的内容,或者使用在nfrmix安装文档中规定的PM命令。在这里应记住,如果使用kpakag/pt/nfrmi/opt,否则kpackage程序将失败。更好的办法是在命令行使用rpm命令,因为你可以告诉rpm根据$INFORMIXDIR的设置值间接放置该软件。现在该将该环境变量设置到Informix软件存放使用系统管理命令来完成新的用户d,并且必须遵循Lnux人建议的方法添加用户和组。大多数新的分发包都使用某种程序来添加用户和组,从而代替编辑/t/passd和/c/grop文件,尽管这是早先UNIX和Liu笔者建议你遵照Informix的安装方法,使用命令行的rpm命令更加容易地进行安装;如果遇上麻烦,这些命令将提供支持。Informix最近的版本在你该软件时对技术支持做了限定,因可以参考网 文档,该文档提供了安装该软件的循序渐进的方法。这一步我们只是为该软件找到了位置。RPM文件中获取它,就可以标记它。一旦标记,就可使用。然后配置硬盘驱动器的数据库空间,以便容纳数据库和表。如果有/opt,则创建/opt/informix/ids。如果没有/opt,则在要安装该软件的目录下创建informix。笔者通常创建/opt/informix/ids,这样,当笔者安装其他引擎时,可以为这些软件的安装创建单独的。你也应该有一个/opt/informix/ids,在需要时调用它;设置INFORMIXDIR为该。笔者通常是这样做的:以上工作应该在使用命令行的pm命令前完成,以便你可根据$IOMDIR获取软件。$符(3。图4-3启 在完成SDK的安装后,对服务器的安装执行相同的操作首先提取SDK或引擎。从rpm中提取软件,标记此软件,从第二个rpm中提取第二个软件,标记它。这是一种恰当的方法,可帮助你避免问题的出现。一旦成功完成安装阶段,可准备为运行设置服务器(参见图4-4。图4-4IDS如果你打算将此 树移至另一个系统或驱动器的话,返回每个产品的安装对于你是保$INFORMIXDIR预先被设置,则重新安装的发生会很容易。你将注意到为了使服务器正常运行需要完成的一些最终(tail-endlinking)操重新安装最行这一步此,如果动该 ,重新安需要的。住,Linu没有像NT或Windows98那样的,因此唯一需要担心的事情是在安装结束时创建的最终。你还应该InformixWeb站点查看有关从某些NLS文件中恢复磁盘空间的技巧和技术可帮助你删除某些文件,但请记住,如果这些文件不存在,重新安装可能失败,你将不得不重新提取该软件,然后再重新安装。安装部分的另一个警告:不要删除inconnect的tar文件,除非你肯定不需要再重新安装。笔者本人希望SDK的安装不依赖于放在此中的这个tar文件;因为它需要你分配两倍于SDK的,Informix应该允许将tar文件和安装保留在系统别的地方,以备重新安装使用,这样可减少对软件的空间分配。现在我们进入DIS的运行部分。我们正在讨论的内容应该都预先准备好了,你应该已经为数据库空间保留了一定数量的磁盘空间,因为实际的数据库和表将要驻留在那里。本章主要关注Informix服务器的安装部分,因此,在继续之前你应该熟悉Informix的某些术语。希望你非常熟悉Administrator'sGuideforIDS,它在InformixWeb站点找到,也可在光盘中找到。该手册还允许进行实际的打印,但价格不菲。建议你获得AnswersOnline ation的光盘,它包含了所有Informix数据库产品的文档。该光盘直接在Informi中可用,并可从你原来的销售公司订购。这些文档在InformixWeb站点始终是可用的;花点时间去 并熟悉Administrator'sGuide。它介绍了确保安装成功所需了解的一切内容。下面介绍与处理过的文件(cooked)相比的原始(raw)Linux仍然没有像许多现有的UNIX平台那样的强壮的原始磁盘定位;但随着本书的,这很有可能已经实现。有些站点正在使用原始磁盘而没有任何问题,但在本书编写时它还不被支持。原始磁盘的安装允许你将Informix软件软(soft-link)到未格式化的磁盘上(未安装文件系统的硬盘驱动器),Informix软件接收格式化的磁盘和磁盘操作。对于原始磁盘,Informix是针对作为原始磁盘进行设置的驱动器的磁盘操作系统。Linux负责的唯一一件事情是指向该磁盘驱动器的/dev中的一个条目。软在你选择的一个中进行创建,指向/dev和驱动例如,可创建/opt/informix/links,然后创建该的软到/dev。如果在/dev中存在磁盘/dev/rdisk1,则简单地创建一个到该磁盘的:$cd/opt/informix/links$ln-s/dev/rdisk1datadbs处理过的磁盘的安装允许你创建特定尺寸的Linux文件,Linux将连同Informix一起管理这些处理过的文件用特定尺寸创建,可用标准的备份进行拷贝,但Informix服务器必须是脱机并且关闭的。为了备份处理过的文件,它们必须像标准的Linux文件那样关闭。处理过的文件完全当 上执行ls-l命令时,处理过的文件像标准Linux文件那样出现(参见图4-5。当查原始磁盘时, 列表通常示出一个到/deventries的,但不显示文件的尺寸,因为这些磁盘目前在Informix的控制中。为了了解原始磁盘,使用Informix的onstat命令以查看所包含的内容。除非你对如何设置原始磁盘非常熟悉,否则使用处理过的文件是明智的。Linux环境下的Informix使用处理过的文件具有很好的性能,但在UNIX中首选的方法是使用原始磁盘,通常可获得比处理过的文件高15%~20%的性能。在编写本书时,比较Linux中的原始磁盘和处理过的文件之间的区别的标准无效了。许多使用InformixDynamicServer的NT版本的x86站点正在独占地使用处理过的文件,原因很简单,NT上的原始磁盘不能提供足够的性能收益使得它去使用它们。Administrator'sGuide详细讨论了这个问题。处理过的文件在大多数情况下易于管理,笔者建议:如果想使管理更简单并且不期望系统中有极高的负载的话,就使用处理过的文件。如果需要更好的性能,则应该转到UNIX盘安装上。除非Linux支持原始磁盘,否则坚持使用处理过的文件。图4-5Informix软件用来数据的处理过的文件的数据库空间的样 创建第二个optdata,或dbdata,或一个单独的硬盘驱动器data/data/informix。笔者有一个单独的驱动器/db,并为所有的数据创建了/db/data。对于我们的安装,将使用/opt/data,但你应该有不同的。如果可能的话,将数据与软件分开是明智的。正如笔者后面将介绍的,你应该至少分配500MB给数据。过度节省数据空间没有任何意义,除非你没有别办法。当笔者谈论空间分配时,指的是总空间,而不是特定的文件的空间。你的总合计空间应不少于500MB,在此空间中创建不同尺寸的处理过的文件。是数据空间的最小度量单位。有关组块和页的详细描述,请参阅Administrator'sGuide。本章将一旦熟悉了组块和数据库空间的概念,可准备配置服务器运行。建立一个服务器,允许你自己指定数据空间的大小,以及留出最大的操作空间。这样,可使系统增长时产生的副作用最小。有几个最小的数据空间需要你预留出磁盘空间。这些都是最小空间;其余的是决定作为附加数据库空间增加的数据空间。以下是操作空间。 Physdbs在数据写入磁盘前缓冲数据的数据库空间。这包含在rootdbs中,但应该移至它自己的数据库空间中以便提高性能和改善管理。可在需要时调用此数据库空间;但明智的做法是要用与它一致的东西来调用它。Logsdbs逻辑日志的数据库空间。在安装中,它包含在rootdbs中,但为了更好地运行,应该放在自己的数据库空间中。可以在需要时调用该数据库空间,但明智的做法是要用与它一致的东西来调用它。Tempdbs01临时表和查询排序的数据库空间。可以在需要时调用该数据库空间,但明智 库的条目,但用户表不在此空间。 如果创建了这个数据库空间的最小集合,将有一个满足你的大多数需求的最小安装。它还将允许你在需要增加时进行扩展。应该在系统中建立一个区域来容纳Informix。应考虑三种区域:即软件、数据库空间和工作由于速度和灵活性,与IDE相比更建议使用SCSI磁盘。SCSI连接多个驱动器比IDE更容易。但是,如果你很熟悉IDEID仍然有限制,它没有像SCSI那样的灵活性。如果可能的话,应为系统安装SCSI控制器,并使用SCSI以下是/opt/informix/ids7.30及 /op/inrmix/s7.0 该 持有软件─即,该树下的所有软件。应至少为Informx软件预留500M。数据不在这里。对 名使用此约定,可以在/pt/nformi中加该软的他版本,并可通过简单地改变$INFORMIXDIR环境变量来对你软件的转换和升级进试 总共600MB如果预留了2GB的磁盘空间,现在已经分配了100MB作为初始空间,并且需要某些空间用于增长。这只是一个开始,对所有系统并非一成不变。还有更为保守的设置方法,不需要对每rootdbs和physdbs资源设置值,这些值可以是任意的,但是,在正确配置了系统后,将会发现应该调整自己站点的这些尺寸。如果让你选择的话,应先设置这些初始值,然后再改变它们。rootdbs空间的用处不大,因此不应使它大于50M,20MB甚至都太大。笔者设置它为50MB只是为了。/work是你为工作选择的安装的文件系统。对该磁盘至少预留1000MB的空间。这是一个准备加载文件和管理进出数据库数据的Linux磁盘。对不同的数据库项目设置专门的系统工作位置始终是个好主意。在此中,可根据你的喜好创建项目或用户指定的。注意许多P中的BOSLnuO不支持多的驱动器在使ID动器时要。因此是用SCS磁但这不是应该使用SCSI驱动器的唯一原因;另一个原因是性能问题。即使IDE驱动器不断改进,但大多数公司仍喜欢配置SCSI驱动器。如果你已经配置了驱动器,并且有丰富的空间存放正如笔者在本章开始所的,需要设置三个环境变量。我们现在将介绍第二和第三个量INFORMIXSERVER和ONCONFIG在本章中,我们只关心服务器的启动;性能方面的考虑不在本章范围中,而应该是作为正在进行的学习过程、试验和错误,以及Informix的运行文档的一部分进行说明。INFORMIXSEVER变量直接与$ONCONFIG文件的DBSEVERNAME相对应。当建立INFORMIXSEVER时,就对DBSEVERNAME使用相同的名字。这对于客户机和服务器之间INFORMIXSEVER变量相同的名字连接到服务器。INFORMIXSEVER还由如像onstat这样的实用程序来使用,以便与该引擎相应的实例进行通信。 在$INFORMIXDIR和标准的Linux的/etc中工作。如你所见,Informix软件有自己的etc,在此中可找到配置所需的所有文件。两个最关键的文件是onconfigstd和安装的最后一个指导是应检查IDS的版本注释。你将会在$INFORMIXDIR/release/en_us/ 中找到版本的注释,那里有关于所安装软件的各个部分的重要注释。用cd转至$INFORMIXDIR/etc和ls-CaF。将看到各种文件──特别注意的是onconfig.std。$cd$INFORMIXDIR/$cponconfig.stdrebel_shm.在这里,这个拷贝称为rebel_shm.cfg。作为一个约定将_shm放在名字的后面。一个服务器可以运行有几个不同的Informix_shm只表示共享内存,这是个人的喜好问题。可在需要时调用ONCONFIG文件─只要确保正确设置它即可。ASCII文本,vi;但是,在Linux中,有几个类似微软记事本的文本编辑器。用你喜爱的文本编辑器替换以下命令,则可以编辑ONCONFIG。第一部分极为重要,因为现在你必须更改这些设置值来匹配将要数据的位置。在这里,我们使用/opt/data作为我们放置数据,其中包括rootdbs的位置。我们的系统将对rootdbs使用处理过的文件;我们完成了对此变量的设置。笔者可以将rootdbs设置为50MB而不是20MB50000KB,它近似于50MB,如果希望的值20000KB。这只是为了,其实没有必要。为了节省,笔者倾向于给rootdbs更小的空间,但配置后,除了引擎,它几乎没有实际用处。也有一些需要较大的rootdbs空间的情况,如在rootdbs中保留逻辑日志或物理日志。用时,将rootdbs重新命名为rootdbs01、physdbs命名为physdbs01、logsdbs命名为logdbs01,tmpdbtmpdbs1于管理。在执行oninit-i前,在服务器的$ONCONFIG中做适当的更改。除非在第一个oninit命令之后,否则在运行oninit-i时不要更改PHYSDBS设置值。在引擎启动并运行后,rootdbs中,但在安装后,我们要将这些日志移至它们自己的空间中。这将使rootdbs很少派用场;因此,将rootdbs设置得太大可能会浪费磁盘空间。现在来修改它的唯一理由是因为以后不能修改它了,除非重新初始化你的实例。现在是作出决用20MB的省尺寸如你使用省值20000KB,则必须确保为这些逻辑日志和物理日志创建一个logsdbs和一个physdbs,并按照本章后面的指导将这些日志移至它们自己的数据库空间。在将日志移出后,大约20MB空间中有16MB将可能不再使用。笔者建议你将移动这些日志作为标准练习的一部分,这样,当以后调整逻辑日志的尺寸和数量以及调整物理日志的尺寸时,将具有全部的灵活性。在最后,即在引擎运行之后执行此步骤。让我们继续配置服务器。我们可以有也可以没有备份用的磁带系统,但在这里我们要磁带备份,直到服务器正常运行为止。请注意,笔者以注释的形式保留了原始值,因此以后可返回这些值并作为一个参考点修改─即拷贝并修改这个值的拷贝,而不修改原始条目。这样,可以保持对变化的。磁带设备设置为/dev/null,这使得IDS服务器启动和运行而不用关心备份文件去了什么地方。稍后其修改成一个真正的磁带备份(如果有磁带设备的话,或保留此设置,直/dev/null是告诉IDS服务器忽略备份的物理设备的一个标准方法,但仍然要做某些必要的备份,即逻辑日志备份。我们稍后将讨论逻辑日志;现在只关心启动服务器。笔者建议你为引擎发布有关运行消息创建一个单独的日志。这些缺省值需要修改,因此,好主意是现在就创建一个,并允许online.log和控制台消息进入这个新:CONSOLE消息被改为/dev/null和/opt/informix/ids/logs/console.lo。对于初始化安装程序来说,最好将该消息设置为/opt/informix/ids/logs/console.log,使得你能够保留安装消息,但总是可以在后来修改它。大多数控制台消息不值得查看,你自己可作决定。你可能会先查看这些消息,然后在确定它们是否有价值后对它们作出修改。这些名字;再次用你名约定替换rebel部分。在$INFORMIXDIR有一个设置值需要你在启动服务器前针对逻辑日志进行修改,使得你不必在后来返回引擎。与逻辑日志移出rootdbs的过程一样,应该将LOGSMAX设置值修改为比缺省值更高的值,该缺省值为6(如以下代码例子中加黑的部分。可在$INFORMIXDIR/etc/$ONCONFIG的SharedMenory(共享内存)部分找到该值:修改为50LOGSMAX50#umnumberoflogicallogfiles这将允许在后来不用返回引擎就可以增加逻辑日志。当执行安装时,执行这一步,将缺省设置值保留下来直到我们启动并运行引擎为止对于你是重要的。通过循序渐进的练习,我们可以使启动失败的可能性最小化。我们还将进行另一些修改,使你积累经验以便今后对它们的修改;现在,别理会这些缺省值。存在着有关DataReplication的设置值,尽管现在我们不关心这些值,但改变路径来反映你的安装是个好主意:这里,我们仅需要改变为 此文件能很快地增长,应该它的增长。可以创建一个日志文件的转出,在本章后面介绍它。转出不仅是此文件的,也是online.log的。这将使这些日志文件保持较小,并适合于定期分析。可以按日、周或月归档这些日志文件。ONCONFIG$INFORMIXDIR/etc/sqlhosts文件。今后我们还需要对$ONCONFIG做的修改,但目前这些修改是启动引擎所必须的。下面将编辑其他的ASCII文件。应确保这些文件像ONCONFIG这些项直接关系到/etc/services文件的其他项,因此应确保这些项。这些值的完整讨论可参见Administrator'sGuide。作为约定,可以命名最右一列的值─在这里笔者给它们加上前缀sv_以表明它们/etc/services文件的项。现在,遵循此约定进行初次安装;在这之后,可将它更改为你所希望的值。将以下项添加到Linux/etc/services文件中(不是应确保这些端口使用;如果它们不能使用,可使用其他的有效端 0~65535之的任何一个数字都可分配给端。在UNIX中,许多端是作为标准和约定预先分配的,因此你不应该使用已经分配给其他以太网通道的端。一旦结束对/etc/services文件的编辑,需要重新启动网络。大多数情况下,重新启动inetd将迫使inetd重新/etc/servicesLinux分发包来说也可能是需要的。不同的分发包有不同的运行级别,意思是说每个分发包都有唯一的重新启动网络的过程。作为惯例,许多Linux系统管理员不愿意冷启动Linux服务器,以便保持正常运行时间,因此尽量争Linux服务器;否则,应绝对保证Linux的网络层被重新启动,并且重新/etc/services文件。如果不能的话,Informix服器将不能通过网络与客户机通信,或出现其他问题。$INFORMIXDIR/etc/sqlhosts文件中的项与/etc/services文件的项相对应。如果这些项之间不匹配,就不能启动引擎。要想使用处理过的文件,必须在 中创建一个rootdbs(参见图4-6图4-6创建 0字节,它应该属于Informix并具有用户和用户组的权,但是公共权。它应该为rw-rw─当在rootdbs文件上运行ls-l时。存放rootdbs的应该属Informix和Informix用户组id如果你一直遵循所有指导,现在开始准备初始化你的Informix实例。初始化是创建数据库的过程,rootdbs现在可以运行oninit程序来初始化rootdbs。请记住,我们现在做的仅仅是针对初始安装。在oninit程序与我们每日用来启动和终止引擎的程序相同,但没有初始安装的操作。你需要对安装操作进行引导;今后,日常启动的唯一登录将为informix,并使用oninit而无需带任何选项。要想初始化引擎,可从任一运行以下命令:-ivy命令组合很像是常春藤(ivy)-i选项,你只需使用-i-y表示对所有提示回答yes一旦运行oninit-ivy命令,将出现以下在显示最后一条消息后,按Return或回车键,命令提示将重新出现。可以直接引擎并检查其运行是否正常。利用onstat命令可检查引擎的状态。正如你在本例中所见,我们的引擎已经运行了如果引擎不运行,将看不到此,这将需要返回并重新检查笔者前述的设置系统启动的所有步骤。如果必要的话,可再次执行安装,在安装中检查一切内容。可以给Informix组织打以求得有关安装该软件的详细帮助。如果查看opt/data/rootdbs的尺寸,将会发现你预留给它的20MB的空间,就像一个大的在$INFORMIXDIR/logs/online.log中的EngineMessages(引擎消息)可使用onstat-m选项进行查看:此时,引擎已经启动,但还未调整完毕,还有一些附加的设置值和配置参数需要进行设置,20MB的rootdbs数据库空间可用,但作为数据库服务器来使用几乎无足够的空间。你需要完成以下步骤,并确保系统是可以运行的。ONCONFIG中的CONSOLE设置值可设置为/dev/null。这将取消此文件尺寸的需求。为了浏览内存分配,使用onstat-这允许你IDS为引擎的使用所分配的内存用法和分配。如果服务器需要的内存,它将根据ONCONFIG的设置值分配内存使用。在安装的下部分介绍这个问题。为了浏览引擎的磁盘使用,使用onstat-注意通过使用onstat-命令,onstat选项的完全列表有效。有关所有这些选项内容的详细介绍,请参阅Administrator'sGuide。此书包含的两个工具提供了有关引擎的全面的报告。既然引擎已经运行,如何使其停止?要想终止引擎,可使用onmode-ky$onmode-所有的附加功能都包含在onmode命令中。有关其他选项的内涵和使用,必须阅读Administrator'sGuide下面该做什么?虽然引擎已经运行,但还并未准备好进行下一步的操作。下一阶段将使服务器可用于最终用户。对引擎做最后的配置,即针对此处的需求进行修改。需要确保有足够的磁盘空间可容纳以下的操作。如果已经像本章开始所描述的那样完成了磁盘空间分配,现在准备执行以下步骤。 physdbs包含物理日志;这些物理日志必须移出rootdbs进入自己的数据库空间。logsdbs包含逻辑日志;这些逻辑日志必须移出rootdbs进入自己的数据库空间。tempdbs缺省为rootdbs,将指向它自己的数据库空间用于排序、查询和临时表。dbs_dbs包含数据库的项,但不是表的项。datadbs01indexxdbs01能问题,将物理日志重定位到它自己的数据库空间是一项正常的工作。物理日志是必须写入到数据库中的数据库活动的一个缓冲区或高速缓存。将其重定位到它自己的数据空间可以扩展或减少它的大小,不影响rootdbs,从而增加性能。如前所述,rootdbs包含了该实例在服务器上创建的每个数据库的内容。可以有多个小化是重要的。重定位物理日志是我们要采取的首要步骤之一,以确保rootdbs只为最小的活动所$如果引擎不在运行,则现在用oninit程序启动它,不带任何选项,或者最多使用-v选项(详$oninit-在创建rootdbs后不使用-i选项运行oninit,如果这样做,将等于重新格式化硬盘。唯一可使用的例外是oninit-v,它在引擎启动时显示详细的输出结果。在成品服务器上使用-i选项将只用一旦引擎启动并运行,可先利用UNIX/Linux命令,然后用Informix命令(像rootdbs那样)UNIX和Linux允许在发布>filename命令时创建一个长度为0需要以单用户即静态方式执行以下大多数步骤。我们还将利用两个实用程序onspaces和onparams,这些程序只能作为DBAonspaces可用于多用户方式,而onparams必须在引擎为单用户方式下使用。为了达到单用户方式,运行onmode令onmode-s。给此命令添加s将删除以下问题:如果查看最上面一行,将看到InformixIDS现在是静止的,即单用户方式。这是运行onparams执行某些较为关键令(如将物理日志移至另一个数据库空间)的唯一方法。在其onparams必须在引擎完全关闭时运行。现在,让我们创建physdbs。为了进行这项工作,首先必须用onparams20MB的physdbs数据库空间,然后用onparams命令移出物理日志。这些命令将在本章后面部分的代码例子中加黑显示,以便更容易地观察。你将注意到,在创建physdbs数据库空间后我们还执行了ontape命令。这是令physdbs数据库空间有效所必须的。运行onstat-l可以看到逻辑日志文件也更改了,因为我们用ontape执行了一个备现在可以看到physdbs空间出现了,不幸的是输出结果显示尺寸不正确,但将此数乘2,将得使用-p选项创建一个20MB的physdbs。我们原来给物理日志分配了50MB,但只使用为了创建physdbs,使用以下onparams$onparams-p-s50000-dphysdbs-物理日志原来的尺寸只有1MB,这是引擎安装时的缺省值。现在,可以发现它已经用尽了并且还用了新的20MBphysdbs中的一些字节。你将看到rootdbs得到了1MB的可用空间。在将逻,rootdbs将得到的空间。如果查看/opt/data,将看到你创建的新的物理日志数据库空间:physdbs实际比rootdbs稍微大一点─这是因为我们所有令都KB单位尺寸而非MB单位尺寸。20000K等于20480M,这是我们赋予rootdbs的安装尺寸。20480K等于 是physdbs的实际尺寸,它是我们使用K而非M单位尺寸用onspace命令的。大多数情况下,可以说无一例外,Informix命令都按KB信息,而非MB。应注意Informix命令的这一特性以便在正确的上下文环境中使用它们,这对于你来说是重要的;也就是说,你首先应该以K单位去思考,而非MB。仅当将KB转换成MB后才能用MB去思考。现在。让我们创建一个logsdbs作为逻辑日志的存放位置,这些逻辑日志目前存放在中。要确保引擎处于静态方式,然后才能创建logsdbs首先要创建既然logsdbs数据库空间已经建立,可以将逻辑日志移出rootdbs,进入logsdbs。在安装开始时,创建了6个逻辑日所以加20个逻辑日志,总共26个。为什么是26?因为添加20个日志是一个较大的应用,该例可为你提供引擎如何运作的好思路。好的主意是应拥有许多较Administrator'sGuide。为了将逻辑日志移出rootdbs,必须有新的日志可供引擎使用,这些新日志将取代现有的逻辑日志。逻辑日志至少要有3个,因此,必须告诉引擎哪些日志是可用的,哪些是要删除的。不能删除或去除任何在使用中的逻辑日志,因此必须先告诉引擎应使用新日志,然后才可以删除旧日志。rebel:root#onmode-每当使用ontaoeA标记的onstat-l命令时可以看到新的逻辑日志。没有运行零级备份,这个新的日志被创建但不能使用。即使是正在备份到/dev/null,也会告诉引擎使用新的逻辑日志。创建尺寸为1MB的20个新的逻辑日志,这样总共需要20MB的逻辑日志空间。可用循环去做,或者像前面那样重复命令20如果决定增加日志,执行以上操作,然后运行onstatlogsdbs确实被使用且rootdbs仍然保持相同。现在需要使新的日志有效。执行零级备份,再次运行onstat-l:现在可以使用新的逻辑日志了,这时可删除rootdbs中的日志。为了做到这一点,需要告诉我们感的三个选项是-、-c和-m选项。-l和-c这两个选项管理逻辑日志。-l选项迫使引擎使用下一个逻辑日志,而-c选项告诉引擎执行检查点。检查点在Administrator'sGuide中介绍,它实际上是引擎放在逻辑日志活动中的允许日志备份以及在数据库复原时如何进行恢复的一个标志。-m选项将服务器返回多用户方式。我们不仅需要将当前日志活动移至新的逻辑日志,还要执行检查点来释放旧的日志从而删除它们。在可以删除旧日志前,引擎应全部在新日志上。因此,应对旧日志执行以下命令,直到onstat向你显示引擎在使用新日志为止。在这里,我们需要执行六次。以下输出结果显示运行onmode-l三次后的日志:如该例所示,检查点日志现在为新日志的日志9,但最后一个备份的日志为日志6。现在运行onmode-c,使最后一个备份日志为日志9:还可看到在运行onstat-d命令时rootdbs现在需要在新的logsdbs中重新创建日志如你所见,rootdbs回收某些空间。现在它有将近17MB的可用空间,足以操作引擎、构造引擎将使用/tmp,并且它自己的空间INFORMIXTEMP通常放在/中。这样做并不好,我们创建这个数据库空间没什么。须告诉引擎使用该空间作为临时数据库空间;否则,它将其视为普通的数据库空间。可添加-t选项来进行:如你所见,现在已经创建了tempdbs,一旦在$INFORMIXDIR/etc/$ONCONFI文件中做了某些修改,这个空间将是可用的。对dbs_dbs空间和datadbs01数据库空间重复这些步骤。这样将完成数据库空间的创建;最后几步将用在$IFOMXDIRec$ONCNF然后再次运行ontape正如你现在所见,所有实际的数据库空间都已创建,并且有效。只存在一个小问题:即,在系统准备好以前,需要完成$IFOMXDIRec$OCONFG$onmode-在这里,设置它为1024,即尺寸为1MB。有关系统的逻辑日志大小的详细信息,请参阅Administrator'sGuide。缺省值为8MB是比较保守的。增加此值或许是个好主意──你应该试试增加不同值,看看哪个更适合你: #initialvirtualsharedmemorysegment 24000#initialvirtualsharedmemorysegment这些设置值在介绍Informix的一些书中涉及,它们将对你非常有帮助。在USENET组中还有一个正在进行的有关这些设置值位置的讨论。以下显示的这些设置值是基于经验的,并对Linux#DBSPACETEMP #DefaulttempdbspacesDBSPACETEMPtempdbs使用oninit命令$oninit-v重新启动Informix$ONCONFIG文件中进行这个当创建数据库时,应在dbs_dbs数据库空间中进行创建。当创建表时,应在datadbs01空间中进行创建。有关如何使用Informix引擎的标准SQL和SQL命令进行创建的详细指导,请参阅Informix文献。笔者在这里已经给出的设置可以令你具有最佳的灵活性以及用于系统增长的空间。 onlogs,将显示逻辑日志的 DBA的报告写入器。允许产生可以创建数据库和表的SQL 产生有关Informix错误消息的详细文档的程序。运行带有一个错误代码的finderr,SMIables 你应该很熟悉放在rootdbs数据库空间中的sysmaster数据库。它包含有关引擎的丰富信息。例如,可以产生有关磁盘用法的易于阅读的报告。你将注意到,在中,笔者添加了几个组块到datadbs02数据库空间中,以便说告 dbaccess。这是基于字符的应用程序,它允许查看引擎、DbaccessUsers'Guide中有关dbaccess的文档。当运行dbaccess时,将得到以下显示内容:onmonitor是我们没有用于安装的工具之一。onmonitor可用于引擎的和,但灵活可以运行onmonitor并更改或查看引擎的设置值;但是,大多数Informix的DBA都选择命令行控制。在一个实际环境中,拥有的控制越多,情况就越好,这是因为一个错误令可能删除公司的数据,而控制越多,则出错的可能越少。只要运行onmonitor,以下输出结果将以基于字符的界面像dbaccess那样显示出来:例如,你可以用onmo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论