WEB开发网
开发学院数据库DB2 如何综合掌握 DB2 和 Informix 阅读

如何综合掌握 DB2 和 Informix

 2007-10-01 22:15:20 来源:WEB开发网   
核心提示: 内存模型图 5. DB2 内存结构·在Windows中使用Cygwin环境下的gcc编·Informix入门之---SQL函数整理·Informix-SPL(过程)语法详解·我找到的INFORMIX 培训教材·Informix SQL语句详解(1)

内存模型


图 5. DB2 内存结构
如何综合掌握 DB2 和 Informix(图八)
    ·在Windows中使用Cygwin环境下的gcc编
    ·Informix入门之---SQL函数整理
    ·Informix-SPL(过程)语法详解
    ·我找到的INFORMIX 培训教材
    ·Informix SQL语句详解(1)
    ·Informix 高级培训教材(三)
    ·INFORMIX ONLINE 7.x for sco 安装步
    ·Informix7.30的安装及管理
    ·使用 Informix 系统目录(1)
    ·INFORMIX SQL技巧


本文将介绍实例共享内存和数据库共享内存。

实例共享内存

每个 DB2 实例都有一个实例共享内存。实例共享内存是在数据库管理器启动(db2start)时分配的,并随着数据库管理器的停止(db2stop)而释放。这种内存集用于实例级的任务,例如监控、审计和节点间通信。下面的数据库管理器配置(dbm cfg)参数控制着对实例共享内存以及其中个别内存池的限制:

  • 实例内存(instance_memory): 这个参数指定了应该为实例管理保留的内存数量。包括描述实例数据库的内存区。
  • 监视器堆(mon_heap_sz): 该参数确定了页面中的内存数量,用于分配给数据库系统监视数据。当执行数据库监视活动时,将从监视堆分配内存,这些活动包括拍摄快照、打开监视器开关、重置监视器或激活一个事件监视器。

  • 审计缓冲区大小(audit_buf_sz): 该参数指定审计数据库时使用的缓冲区的大小。这将用于 db2audit 实用工具。

  • 快速通信缓冲区(fcm_num_buffers): 该参数指定了 4 KB 大小的缓冲区的数量,这些缓冲区用于数据库服务器内部以及数据库服务器之间的内部通信,还用于分区和代理之间的节点间通信。分区实例或具有 INTRA_PARALLEL 的实例设置为 ON。

数据库内存模型

图中的完整绿色方框意味着,在数据库启动的时候,该内存池是完全分配的,否则,就只分配部分的内存。例如,当一个数据库第一次启动时,不管 util_heap_sz 的值是多少,只有大约 16 KB 的内存被分配给实用工具堆。当一个数据库实用工具(例如备份、恢复、导出、导入和装载)启动时,才会按 util_heap_sz 指定的大小分配全额的内存。


图 6. DB2 数据库共享内存
如何综合掌握 DB2 和 Informix(图九)

数据库缓冲池 通常是数据库共享内存中最大的一块内存。DB2 在其中操纵所有常规数据和索引数据。一个数据库必须至少有一个缓冲池,并且可以有多个缓冲池,具体要视工作负载的特征、数据库中使用的数据库页面大小等因素而定。

IDS 的共享内存组件 属于实例级,被分为三个部分,如上面图 4 所示。

  • 常驻内存段:也被称为常驻区,包含用于从数据库缓存页面的缓冲区、最近最少使用(LRU)的队列、逻辑日志缓冲区,并包含了大量结构用于跟踪服务器使用的资源。这将有助于更加快速地访问。
  • 虚拟内存段:虚拟区用于维护和控制进程所需的资源。虚拟段包含关于线程和会话信息以及它们所使用的数据。这些信息总是在不断变化(增加或减少)。数据库服务器在虚拟区中管理内存的分配和解除分配。虚拟内存段还包含字典缓存器,存储过程缓存器,以及在向磁盘一次性写入大块页面时使用到的较大的缓冲池。当对数据进行分类时,这个区也会增长,例如通过服务器构建大索引。
  • 通信段:共享内存通信区,也被称为消息区,被作为客户机和服务器进程的一种通信机制。在客户机和服务器通过共享内存进行通信时,消息区将用作两者之间的消息缓冲区。

磁盘组件 是一个或多个被分配到数据库服务器的磁盘空间单元的集合。包括所有维护服务器系统的系统信息,以及所有存储在磁盘组件内的数据库数据。IDS 在一个单个计算机上可具有从 1 到 256 个实例,与 DB2 相同。


图 7. 高级 IDS 实例体系结构
如何综合掌握 DB2 和 Informix(图十)

DB2 在四个不同内存集(memory set)拆分和管理内存,这四个内存集是:

  • 实例共享内存(instance shared memory)
  • 数据库共享内存(Database shared memory)
  • 应用程序组共享内存(application group shared memory)
  • 代理私有内存(agent private memory)

每种内存集由各种不同的内存池(亦称堆)组成。图 1 也给出了各内存池的名称。例如,lock list 是属于数据库共享内存集的一个内存池。sort heap 是属于代理私有内存集的一个内存池。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:如何 综合 掌握

编辑录入:coldstar [复制链接] [打 印]
赞助商链接