欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Informix 11.70系统管理: 空间管理(上)

程序员文章站 2022-06-05 23:04:22
...

在本教程中,您将学习如何在 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)作为缓冲池的默认页面大小。