onconfig 文件中的 SHMBASE 参数指定每个虚拟处理器连接第一个(或基本)共享内存段所在的虚拟地址。每个虚拟处理器在同一个虚拟地址上连接第一个共享内存段。此种情况使相同数据库服务器实例中的所有虚拟处理器都能够引用共享内存中的相同位置,而无需计算共享内存的地址。数据库服务器实例的所有共享内存地址都是
SHMBASE 的相对地址。
警告: 不更改 SHMBASE 的值。
SHMBASE 的值易受以下原因影响:
- SHMBASE 的特定值取决于平台以及处理器是 32 位还是 64 位的。SHMBASE 的值不是任意数,它将在虚拟处理器动态获取附加的内存空间时保证共享内存段的安全。
- 不同的操作系统在不同的虚拟地址上接纳附加的内存。有些体系结构扩展虚拟处理器数据段的最高虚拟地址以便接纳下一个段。在此情况下,数据段可能会发展成共享内存段。
- 某些版本的 UNIX™ 需要用户将虚拟地址的 SHMBASE 参数指定为零。零地址会通知 UNIX 内核其挑选连接共享内存段所在的最佳地址。然而,并不是所有 UNIX
体系结构都支持此选项。而且,在一些系统中,内核所做的选择可能不是最好的选择。
有关 SHMBASE 的信息,请参阅 GBase 8s 机器说明。