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