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

Informix11.70系统管理:空间管理(上)

在本教程中,您将学习如何在IBMInformix数据库上配置和管理存储空间,创建这些存储空间的实用程序,以及如何使用碎片和各种功能来优化数据库中的存储。本教程帮助您为参加Informixv11.70系统管理认证考试919的第2部分做准备。

在本教程中,您将学习如何在 IBM Informix 数据库上配置和管理存储空间,创建这些存储空间的实用程序,以及如何使用碎片和各种功能来优化数据库中的存储。本教程帮助您为参加 Informix v11.70 系统管理认证考试 919 的第 2 部分做准备。

正在考虑获得 Informix 11.70 版的系统管理认证(考试 919)?如果是,那么您来对地方了。这个 认证准备系列 涵盖您在参加考试前需要理解的所有主题。即使您目前没有获取认证的想法,这一系列也是您开始了解 Informix 11.70 中的新功能的不错地方。

关于本教程

在本教程中,您将学习如何使用 IBM Informix 工具创建 dbspace、sbspace 以及时态 dbspace。您将学习创建和管理表碎片,以及使用存储优化特性,比如压缩。此处提供的材料主要涵盖考试第 2 部分(名为空间管理)中的目标。

目标

完成本教程的学习后,您应该能够:

  • 创建 dbspace 和 sbspace
  • 向 dbspace 或 sbspace 添加块区
  • 重命名 dbspace
  • 在块区中镜像一个 dbspace 或 sbspace
  • 使用表碎片
  • 使用附加或分离来向碎片表添加或删除碎片
  • 使用数据压缩来优化存储

前提条件

要理解本教程中介绍的内容,您必须熟悉以下内容:

  • IBM Informix 环境(配置文件和参数、安装和管理)
  • 命令(onstat、onmode、oncheck 和 dbschema)
  • IBM Informix 概念和术语(dbspace、块区、物理日志、逻辑日志、检查点等)

系统需求

无需 IBM Informix 的副本即可完成本教程的学习。但是如果 Informix Innovator-C Edition 的免费试用版以供在学习本教程的过程中使用,您将从本教程获得更多知识。

配置和管理存储空间

存储空间是一个物理区域,这是 IBM Informix 存储数据的区域。有一些不同类型的存储空间可供 IBM Informix 使用,包括 dbspace、blob 空间、智慧 blob 空间和外部空间。您可以在数据库服务器上创建最多达 32,766 个存储空间。

以下实用程序可帮助您管理存储空间:

  • onspaces 实用程序
  • SQL 管理 API 命令
  • OpenAdmin Tool (OAT)

理解 dbspace

dbspace 是一个逻辑单元,其中可包含 1 到 32,766 个块区。将数据库、表、逻辑日志文件和物理日志放在 dbspace 中。

使用默认页面大小的 dbspace

要使用 onspace 创建一个标准的 dbspace,您必须以用户 informix 或 root 的身份登录。在 Windows 上,Informix-Admin 组中的用户可创建一个 dbspace。请确保数据库服务器处于在线、管理或休眠模式。

使用 onspaces -c -d 选项创建 dbspace 或临时 dbspace,如 清单 1 中所示。


清单 1. 创建 dbspace

					
onspaces -c -d  -p  -o  -s  -m--  

一个 dbspace 的最大大小等于最大块区数乘以一个块区的最大大小。(最大块区数是每实例 32,766 个。一个块区的最大大小等于 2147483647 个页面乘以页面大小。)

清单 2 展示了如何创建一个 10 MB 的镜像 dbspace dbspce1,它在主要和镜像块区上都具有 5000 KB 的偏移;使用默认页面大小;使用 UNIX 上的原始磁盘空间。


清单 2. 示例镜像 dbspace 创建

					
onspaces -c -d dbspce1 -p /dev/raw_dev1 -o 5000 -s 10240 -m
/dev/raw_dev2 5000 

清单 3 展示了如何在 Windows 上创建一个 5 MB 的 dbspace dbspc3,它具有一个离原始磁盘空间(驱动器 e:)200 KB 的偏移。


清单 3. 示例 dbspace 创建

					
onspaces -c -d dbspc3 \\.\e: -o 200 -s 5120

具有非默认页面大小的 dbspace

如果想要使键长度比可用于默认页面大小的键长度更长,那么您可以为标准或临时 dbspace 指定一个页面大小。Root dbspace 具有默认的页面大小。如果您希望指定页面大小,该大小必须是默认页面大小的整数倍,并且不能大于 16 KB。

对于具有充足存储空间的系统,更大的页面大小所提供的性能优势包括:

  • 减少 b-型树索引深度,即使是较小的索引键也是如此
  • 缩短检查点时间

您还可通过执行以下操作,获得额外的性能优势:

  • 将当前跨越多个默认页面大小页面的长行分组在同一个页面上
  • 为临时表定义一个不同的页面大小,使临时表具有一个独立的缓冲池

您可以使用 BUFFERPOOL 配置参数创建一个与 dbspace 的页面大小对应的缓冲池。表可以放在一个 dbspace 中,对该表的索引可以放在另一个 dbspace 中。这些分区的页面大小可以不同。可以执行以下步骤来指定 dbspace 的页面大小。

  1. 如果还未启用此模式,使用 onmode -BC 命令启用大块区模式。默认情况下,当首次初始化或重新启动 IBM Informix 时,IBM Informix 首先会启用大块区模式。有关 onmode 实用程序的信息,请参阅 IBM Informix 管理员参考指南。
  2. 创建一个与 dbspace 的页面大小对应的缓冲池。您可以使用 onparams 实用程序或 BUFFERPOOL 配置参数。此操作应该在创建 dbspace 之前执行。如果您创建的 dbspace 页面大小没有相应的缓冲池,则 IBM Informix 会使用在 onconfig 配置文件中定义的默认参数自动创建一个缓冲池。不能有多个具有相同页面大小的缓冲池。
  3. 在创建 dbspace 时定义它的页面大小。您可以使用 onspaces 实用程序或 ON-Monitor。例如,如果创建一个具有 6 KB 页面大小的 dbspace,则必须创建一个 6 KB 的缓冲池。如果没有为新缓冲池指定页面大小,IBM Informix 将使用操作系统的默认页面大小(Windows 上为 4 KB,大部分 UNIX 平台上为 2 KB)作为缓冲池的默认页面大小。

推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
author-avatar
syjs10
这个家伙很懒
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有