创建 Informix 数据库服务器

关于此任务

请至少创建一个 Informix® 数据库服务器。

您可以在安装计算机或远程主机上创建数据库服务器。安装程序通常会在安装计算机上创建一个数据库服务器;但您无需这样做。如果该计算机满足系统需求,那么可以将任何主机设置为数据库服务器。该平台的有效安装目录还必须可见(例如,本地或 NFS 安装)。

例如,如果 Oracle Solaris 的安装目录在 solaris1 计算机上为 /usr/local/ccm72,而您想在 solaris2 上创建数据库服务器,那么可以在 solaris2 上通过 NFS 安装该安装目录,然后在 solaris2 上创建数据库服务器。创建数据库服务器会自动将 solaris2 的条目添加到 $CCM_HOME/informix/etc 目录中的 sqlhosts 文件。

针对另一种类型的平台,您还可以使数据库服务器运行服务器进程。有关更多信息,请参阅向 sqlhosts 文件添加计算机和协议

注: 如果在与安装计算机不同的计算机上创建数据库服务器,请确保数据库服务器已正确配置。有关更多信息,请参阅路由、服务、主机、密码和组

过程

  1. root 用户身份登录至数据库服务器计算机。

    如果您的数据库服务器计算机与安装计算机相同,那么您已经以 root 身份登录。

  2. 如果您的数据库服务器计算机与安装计算机不同,那么必须运行ccm_install -l
  3. 为 Informix 数据库空间(块文件)创建目录。

    在创建块文件时,请记住以下内容:

    • Informix 服务器会将每个块文件的大小和偏移量限制为 4 TB。作为满足这些限制的变通方法,请将您的原始设备细分为多个 2 GB 分区。
    • 将块文件放置在无人可将其除去的位置。 如果移动了这些块文件,数据库服务器将不再运行,并且可能会丢失数据。
    • 在 Informix 服务器所运行的计算机上创建块文件目录(例如,/data/informix_chunkfiles)。块文件不能位于网络文件系统上。
    • 要获取最佳性能和可靠性,请对 Informix 块文件使用原始分区。如果发生文件系统损坏,熟文件会受到影响,但原始文件不会受到影响。
    • 块文件路径的名称必须少于 66 个字符。
    注: 请勿将 Informix 块文件目录放置在安装目录 (ccm_home)、ccm_rootinformix 主目录下。不能将这些 Informix 数据文件作为标准 UNIX 文件进行备份。
    root# mkdir informix_chunkfiles
    root# chown informix informix_chunkfiles
    root# chgrp informix informix_chunkfiles
    root# chmod 770 informix_chunkfiles
  4. 为 Rational® Synergy 数据库创建目录(例如,/data/ccmdb)。
    注: 为避免升级时丢失文件,请勿将数据库目录放置在安装目录下。
    root# mkdir ccmdb
    root# chown ccm_root ccmdb
    root# chgrp ccm_root ccmdb
    root# chmod 755 ccmdb
  5. 创建数据库服务器。

    如果您已计划特定分区和大小,请使用这些路径和大小对提示作出回应。

    如果未计划特定分区和大小,请在提示输入 root 数据库空间的主块路径时使用 informix_chunkfiles 目录。 请对除用户数之外的其余项使用缺省值。将用户数设置为本服务器上所有数据库的预期同步用户数,四舍五入到最接近的 10 的倍数。通常,所需的最小空间如下:

    • logtemp 数据库空间分别为每个用户大约 1.0 MB。
    • root 数据库空间至少应为 60 MB。
    • ccm 数据库空间大约为每个用户 2 MB。

    对于缺省的 40 个用户,总空间大约为 220 MB。缺省值只是初始数据库块的粗略估算。一般而言,请分配大量数据库空间以允许未来增长。

    包含块文件的目录必须由 informix、组 informix 和方式 770 所有。

    在提示时,请为处理器数、用户数和服务器编号输入值。

    注: 如果您具有其他 Informix 安装(处于活动或不活动状态),ccmsrv create 尝试使用的缺省服务器编号可能已在使用中。日志文件中会显示类似如下的错误:
    11:13:05  shmget: [EEXIST][17]: key 52574801: shared memory already exists
    11:13:05  mt_shm_init: can't create resident segment

    请使用其他服务器编号以纠正此问题。

    如果必须增加共享内存内核参数的大小,那么可能还会在日志文件中看到类似如下的错误:

    16:53:12  shmat: [EMFILE][24]: out of shared memory segments, check system SHMSEG
    16:53:12  mt_shm_init: can't create resident segment

    要了解有关共享内存内核参数值的更多信息,请参阅检查共享内存和信标内核参数

    在提示您创建数据库服务器时回答 Y。使用适合 shell 的 UNIX 命令。

    注: 如果已设置原始分区,那么将在运行 ccmsrv create 命令时提示您输入原始分区路径。在这类情况下,请输入指向该分区的设备文件的路径。请务必引用正确的分区和偏移量。
    root# su - informix               Password:*****
    $ CCM_HOME=ccm_home; export CCM_HOME
    $ PATH=$CCM_HOME/bin:$PATH; export PATH
    $ ccmsrv create -s servername
    $ exit

反馈