热门标签 | 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)作为缓冲池的默认页面大小。

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
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社区 版权所有