向 UNIX 的 sqlhosts 文件添加机器和协议

您可以向 sqlhosts 文件添加机器和协议。

关于此任务

为支持对数据库服务器的本地访问和远程访问,ccmsrv create 命令将在 $CCM_HOME/informix/etc/sqlhosts 文件中创建以下两个数据库服务器条目:

dbservername nettype hostname dbservername

dbservername_net nettype hostname servicename

第一种条目类型适用于本地连接(例如,同一台机器上引擎和数据库服务器的本地连接)。第二种条目类型适用于使用 TCP/IP,通过套接字的远程 (_net) 连接(例如,远程机器上引擎的网络连接)。

例如,marathon 使用共享内存协议 (onipcshm) 连接为 marathon,使用 Solaris TCP 协议 (ontlitcp) 连接为 marathon_net

marathon onipcshm marathon marathon

marathon_net ontlitcp marathon marathon_marathon

第四列包含本地连接的数据库服务器名称以及网络连接的服务名称(如 services 文件中定义的那样)。

下表显示了适用于受支持 Rational® Synergy 平台的协议 (nettypes)。

表 1. 适用于受支持平台的协议
平台 本地 远程(套接字)
Solaris onipcshm ontlitcp
AIX® onipcshm onsoctcp
Linux onipcshm onsoctcp

过程

要向 UNIX 的 sqlhosts 文件添加机器和协议:

  1. 如下所示链接 $CCM_HOME/informix/etc 目录:

    AIX 和 Linux(异构 UNIX 安装)共享 $CCM_HOME/informix/etc 目录的单个副本以及 $CCM_HOME/informix/etc/sqlhosts 文件的单个副本。通过 ccmsrv create 添加到 sqlhosts 的条目对所有的 UNIX 平台都可见。

  2. 如果在一个平台上创建服务器后未链接上述的 $CCM_HOME/informix/etc 目录,那么请将这些条目从该平台的 sqlhosts 文件复制到其他平台的 sqlhosts 文件。
  3. 对于 Solaris,Informix® 支持的网络协议与 AIX 或 Linux 平台不同:Solaris 的 sqlhosts 文件必须也不同。如果希望能从其他平台访问服务器,您必须在创建该服务器后手动向 sqlhosts 文件添加条目。

    例如,在 AIX 机器 lobo 上创建服务器后,AIX 上的 sqlhosts 文件中将包含如下例所示的两个条目:

    lobosrv onipcshm         	lobo     lobosrv
    lobosrv_net onsoctcp     	lobo     lobosrv_lobo
  4. 要从不能共享 sqlhosts文件的 Solaris 平台访问该服务器,您必须向 Solaris sqlhosts 文件添加如下所示的一个条目:
    lobosrv_net     ontlitcp     lobo  lobosrv_lobo
  5. 同样,在 Solaris 机器 stellar 上创建服务器后,Solaris sqlhosts 文件中将包含如下例所示的两个条目:
    stellarsrv     	onipcshm     stellar     stellarsrv
    stellarsrv_net 	ontlitcp     stellar     stellarsrv_stellar
  6. 要从 AIX 或 Linux 系统访问 stellarsrv 服务器,必须将以下行复制到这些其他平台上的 sqlhosts 文件中:
    stellarsrv_net onsoctcp     stellar     stellarsrv_stellar

反馈