问题:为什么修改机器名后实例无法启动,并且报SQL6031N错误。
环境:
产品 DB2
平台 跨平台
版本8.1
解答:
DB2版本8开始,原来的DB2企业版和企业扩展版合并为企业服务器版,无论对于分区数据库和非分区数据库,在实例目录下都会有db2nodes.cfg文件,该文件记录了服务器节点信息。
以Windows平台为例,对于机器名为TSSTEST1上的一个单分区数据库实例DB2,在..SQLLIB\DB2目录下db2nodes.cfg文件中记录了下面一行:
0 TSSTEST1 TSSTEST1 0
如果修改了机器的机器名,则需要修改该文件。比如如果修改机器名为TSCTEST1,则上面的文件需要修改为
0 TSCTEST1 TSCTEST1 0
否则,启动实据库实例时会报SQL6031N错误,原因码为10。
原因码10的解释是:
(10) 确保在 db2nodes.cfg 的第 "<行>"
行中定义的主机名值在系统上都定义了,并且可操作。
在Windows平台,如果定义实例为自动启动,或习惯在服务中启动实例,需要特别注意这个问题。