向 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 计算机上创建服务器之后,需要在 Solaris sqlhosts 文件中添加两个条目:

stellarsrv     onipcshm     stellar     stellarsrv
stellarsrv_net ontlitcp     stellar     stellarsrv_stellar

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

stellarsrv_net onsoctcp     stellar     stellarsrv_stellar

反馈