# 第五章 配置系统信息 `IRIS` 将系统范围的配置信息存储在称为配置参数文件 (`CPF`) 的文件中。该文件是一个重要工具,因为它包含`IRIS` 实例的大部分可配置设置。每个实例都部署了一个默认 `CPF`,它位于安装目录中。可以直接在文本编辑器中修改 `CPF`,也可以从管理门户或终端间接修改。在 `UNIX®` 和 `Linux` 上,还可以通过指定配置合并文件在部署期间自定义 `CPF IRIS` 使用该文件在实例首次启动之前更新默认 `CPF`。 对于任何新安装的实例,必须更改几个启动设置,以及应该查看的其他设置。本节讨论最初要考虑的这些设置: # 内存和启动设置 当第一次安装 `IRIS` 时,应该查看和调整内存分配以及其他配置设置。在确定 `IRIS` 实例使用内存的方式时,必须采取三个主要操作,如下所示: - 使用内存和启动页面(系统管理 > 配置 > 系统配置 > 内存和启动)为数据库和例程缓存分配内存。 - 设置 `IRIS` 进程可以使用的最大内存 - 配置通用内存堆(也称为共享内存堆)的大小,这决定了 `IRIS` 可用于例程和数据库缓存之外的其他用途的内存; **重要提示:首次安装 `IRIS` 时,数据库和例程缓存内存分配设置为自动,在此情况下, `IRIS` 为数据库缓存(全局缓冲区)分配总物理内存的 `25%`。** **此设置不适用于生产用途。** 除内存设置外,内存和启动页面还包括以下内容: - 系统启动时自动启动`Auto-start on System Boot` — 在 `Windows` 系统上, `IRIS` 实例默认配置为在主机系统启动时自动启动。通过清除此复选框,可以更改此行为,以便实例不会在系统启动时自动启动。 - 超级服务器端口号`Superserver Port Number` — 超级服务器端口是 IRIS 实例用来接受传入客户端请求的 `TCP` 端口。当更改此设置时(应谨慎操作,因为可能会将许多客户端配置为使用此端口连接到实例),直到重新启动实例后更改才会生效。 - 系统模式`System Mode` — 可以输入要在管理门户标题中显示的标签,或从下拉列表中选择一个。 单击保存以保存对这些设置的修改。 **重要提示:此页面上的某些更改需要重新启动 `IRIS`,而有些则不需要。如果修改需要重新启动的设置并保存更改,则在重新启动 `IRIS` 之前,所有更改都不会生效,即使是那些本身不需要重新启动的更改。如果需要重新启动,则会保存消息修改。必须重新启动系统才能使新值生效。显示。关闭页面后,不再出现警告信息提醒需要重启,因此最好立即重启实例。** ## 为数据库和例程缓存分配内存 首次安装 `IRIS` 时,例程和数据库缓存的内存设置为初始自动分配。使用此默认设置 `IRIS` 为数据库缓存(全局缓冲区)分配总物理内存的 `25%`。 此设置不适用于生产用途。在为生产使用部署系统之前或在执行任何旨在模拟生产使用的测试或基准测试之前,必须通过选择指定数量并使用以下过程手动为数据库和例程缓存创建适当的内存分配。为例程和数据库缓存分配内存: 1. 在管理门户上,导航到内存和启动页面(系统管理 > 配置 > 系统配置 > 内存和启动)。 2. 选择` Specify Amount`。 ### 为数据库缓存分配内存 `Memory Allocated for [blocksize] Database Cache (MB)` — 数据库缓存指定为缓冲数据分配的系统内存;这也称为创建全局缓冲区。数据库缓存和分配给它的内存有时称为全局缓冲池。 为每个启用的数据库块大小输入单独的分配。 `Memory and Startup` 页面显示每个块大小的分配范围;由于需要 `8K` 块,因此绝对最小值为 `32MB`。要启用更多数据库块大小(`16K`、`32K`、`64K`),请使用启动设置页面(系统管理 > 其他设置 > 启动)上的 `DBSizesAllowed` 设置。 **重要提示:如果正在配置大型 `ECP` 系统,除了通过 `ECP` 为 `8 KB` 块提供服务所需的 `8 KB` 缓冲区外,还应为 `ECP` 控制结构分配至少 `50 MB` 的 `8 KB` 缓冲区。** 注意:也可以使用 `iris.cpf` 文件中的 `globals` 参数为数据库缓存分配内存;有关详细信息,请参阅配置参数文件参考中的全局变量。 ## 设置每个进程的最大内存 `Memory and Startup` 页面上的 `Maximum Per-Process Memory (KB)` 设置指定可以分配给在此 `IRIS` 实例上运行的新进程的最大内存。允许的范围是 `256 KB` 到 `2147483647 KB`;默认值为 `bbsiz` 参数的初始值。 建议在大多数情况下将其设置为 `-1`(解析为最大值)。 **注意:除非将其设置为低于默认值,否则无需重置此值。如果收到 ``错误,请增加大小并重新启动创建错误的进程。** 进程专用内存,用于符号表分配和各种其他内存需求(例如 `I/O` 设备访问结构和缓冲区),根据应用程序的需要以递增的范围分配,直到达到指定的最大值。一旦私有内存被分配给一个进程,它不会被释放,直到进程退出。 ## 配置通用内存堆 (gmheap) 通用内存堆(也称为共享内存堆)是 `IRIS` 用于例程和数据库缓存之外的其他用途的内存。此设置不在内存和启动页面上。可以在高级内存页面(系统管理 > 配置 > 附加设置 > 高级内存)或以编程方式配置 `gmheap`;有关详细信息,请参阅配置参数文件参考中的 `gmheap`。 要查看 `gmheap` 已用和可用内存的详细信息,请导航到共享内存堆使用页面(系统操作> 系统使用)并单击共享内存堆使用链接; # IPv6 支持 可以通过导航到启动设置页面(系统管理 > 配置 > 其他设置 > 启动)页面来启用或禁用 `IRIS` 中 `IPv6` 地址的使用;在 `IPv6` 行中,单击编辑。选择 `IPv6` 以启用此选项。 注意:仅当此 `IRIS` 实例连接到的网络允许 `IPv6` 寻址时,此选项才可见。 启用 `IPv6` 时 `IRIS` 接受 `IPv6` 地址、`IPv4` 地址或 `DNS` 寻址形式(主机名,带或不带域限定符);当 `IPv6` 被禁用时, `IRIS` 只接受 `IPv4` 地址或 `DNS` 形式的寻址。 当指定点分十进制 IPv4 地址(例如,`192.29.233.19`)时,将尝试 `IPv4` 连接;当指定以冒号分隔的 `IPv6` 地址(例如,`2001:fecd:ba23:cd1f:dcb1:1010:9234:4085`)时,将尝试 `IPv6` 连接。当指定 `DNS` 名称(例如 `mycomputer.myorg.com`)时,它会解析为实际的 `IP` 地址:首先,它尝试建立 `IPv4` 连接;然后,如果无法建立 `IPv4` 连接,它会尝试 `IPv6` 连接。 `IRIS` 允许以 `DNS`、`IPv4` 和 `IPv6` 格式提供 `Internet` 地址。例如,`“localhost”、127.0.0.1` 和 `::1` 分别表示每种格式的环回地址。有关 `IPv6` 寻址的详细信息,请参阅以下 `Internet` 工程任务组文档: - `IP Version 6 Addressing Architecture (RFC 4291)` - `Application Aspects of IPv6 Transition (RFC 4038)` - `Format for Literal IPv6 Addresses in URL's (RFC 2732)` `IPv6` 寻址也可以使用 `%SYSTEM.Process`类(用于当前进程)的 `IPv6Forma`方法或 `Config.Startup`的 `IPv6`方法检查和控制类(一般用于系统)。 即使 `IRIS` 实例可能正在使用`IPv4` 网络,只要提供的 `IPv6` 地址具有有效的 `IPv4` 等价物,`IPv6` 地址仍可用作各种服务的输入。本节前面使用的环回地址就是这样一个例子; `RFC 4291` 描述了更多的格式。因此,只要给定的地址形式可以被有效转换以在连接的网络上使用,各种服务将毫无错误地接受 `IPv4` 或 `IPv6` 地址。所以所有这些形式(以及更多)都是可以接受的 - `localhost (DNS)` - `127.0.0.1 (IPv4)` - `::FFFF:127.0.0.1 (IPv4 mapped IPv6 format)` - `0:0:0:0:0:0:0:1 (full IPV6)` - `::1 (compressed IPv6)` 作为环回地址的有效表示。 通常,当被要求提供之前提供给服务的 `Internet` 地址时, `IRIS` 不会更改地址格式。以 `IPv4` 或 `IPv6` 格式提供的地址分别返回为 `IPv4` 或 `IPv6`。唯一的例外是作为主机名提供并由域名服务器 (DNS) 翻译的地址可能以 `DNS` 返回的任何形式返回。 **注意:`IRIS` 不支持在 `IPv6` 地址中使用通配符或范围。**