将计算机和协议添加到 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 文件中所定义)。

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

对于 AIX 和 Linux,异构 UNIX 安装可共享 $CCM_HOME/informix/etc 目录的单个副本。因此,需要 $CCM_HOME/informix/etc/sqlhosts 文件的单个副本。由 ccmsrv create 添加到 sqlhosts 的条目对所有 UNIX 平台可见。

如果您未链接 $CCM_HOME/informix/etc 目录,那么在某个平台上创建服务器之后,必须将该平台的 sqlhosts 文件中的条目复制到其他平台的 sqlhosts 文件中。

通过 Solaris,Informix 支持的网络协议不同于 HP、AIX 或 Linux 平台。Solaris 的 sqlhosts 文件必须不同。如果您希望可以从其他平台访问服务器,那么在创建服务器之后,必须手工将条目添加到 sqlhosts 文件。

例如,在名为 moby 的 HP 计算机上创建服务器之后,在 HP 上的 sqlhosts 文件中将具有两个条目:

mobysrv onipcshm         moby    mobysrv
mobysrv_net onsoctcp     moby    mobysrv_moby

如果希望从无法共享 sqlhosts 文件的 Solaris 平台中访问此服务器,必须将诸如以下内容的条目添加到 Solaris sqlhosts 文件:

mobysrv_net     ontlitcp     moby    mobysrv_moby

类似地,在名为 stellar 的 Solaris 计算机上创建服务器之后,在 sqlhosts 文件中将具有两个条目:

stellarsrv     onipcshm     stellar     stellarsrv
stellarsrv_net ontlitcp     stellar     stellarsrv_stellar

要从 HP-UX、AIX 或 Linux 系统中访问 stellarsrv 服务器,您必须将以下行复制到每个平台上的 sqlhosts 文件:

stellarsrv_net onsoctcp     stellar     stellarsrv_stellar

反馈