有这样一个现象,在DB2安装后,使用db2icrt 来创建实例时,提示主机名无效,提示如下:
[root@centos-0 instance]# ./db2icrt -u db2inst1 db2inst1
The host name "centos-0.msdomain" is invalid. Specify a valid host name.
DBI1922N The host name is not valid.
Explanation:
The TCP/IP host name parameter is not valid or does not exist.
User response:
Ensure that TCP/IP is operational on the system. If a domain name server
is used, ensure that the domain name server machine is active. Issue the
command again using the correct TCP/IP host name.
DBI1079I Output is saved in the log file /tmp/db2icrt.log.2816.
Explanation:
All processed and failed operations have been saved into this log file.
User response:
Do not modify this file in any way. This file is for IBM Technical
Support reference.
/opt/ibm/db2/V9.7/instance/db2iutil: line 2528: DB2INSTVER: parameter null or not set
检查 /opt/ibm/db2/V9.7/instance/db2iutil 文件(非提示的2528行),发现有如下内容
${DB2DIR?}/instance/db2isrv -addfcm -i ${INSTNAME?} ${DB2ISRVOPTS?}
if [ $? -eq 3 ]; then
db2isrv
${DB2DIR?}/instance/db2isrv -addfcm -i ${INSTNAME?} ${DB2ISRVOPTS?}
if [ $? -eq 3 ]; then
display_msg ${DB2CAT?} 922 \
'DBI1922N The host name is not valid.\n'<pre name="code" class="plain"> stop_prog 1</pre> fi<p></p>
<pre></pre>
<br>
就是当db2isrv -addcfm -i ${INSTNAME?} ${DB2ISRVOPTS?} 返回为3的时候提示主机名称不正确。<br>
这个db2isrv 找了很多东西,没找到具体的内容,看名字是给系统增加一个服务。后面是addfmc ,这个fmc是DB2的故障守护进程。<br>
这个是监测DB2实例正常运行,当实例异常宕机后,它会自动启动实例。那么以上的错误可以连起来了:<br>
再给系统增加一个DB2守护进程的时候失败了,原因是主机名不对。<br>
好的,看一下主机名定义<br>
<p></p>
<p></p><pre name="code" class="plain">[root@centos-0 instance]# hostname
centos-0.msdomain</pre>这没问题<br>
再看<p></p>
<p></p><pre name="code" class="plain">[root@centos-0 instance]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</pre><br>
这个地方不知为什么CENTOS装好之后没有修改,修改一下。修改后内容如下<br>
<p></p>
<p></p><pre name="code" class="plain">[root@centos-0 instance]# vi /etc/hosts
127.0.0.1 localhost centos.msdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</pre><br>
保存再次执行创建实例,正常<p></p>
<p><br>
</p>