【名说】DB2 ERRORCODE=-4499, SQLSTATE=08001 linux环境完美解决方法
1.环境:LINUX CentOS6.8 此处注意:不是7.x版本
2.版本:DB2 v10.5
3.使用场景:在个人虚拟机,或者云服务器搭建DB2时
4.出现问题:ERRORCODE=-4499, SQLSTATE=08001
5.解决方法:
首先:切换db2admin实例用户,查询DB2的属性配置
>su db2admin >db2set -all >#此处查询配置属性,先看通讯协议DB2COMM=TCPIP有没有出现,如果没有,执行下面的命令加上去 >db2set DB2COMM=TCPIP >#然后接着查看数据库管理器配置,先查看etc/services >cat /etc/services >#看最后一行,有没有50000端口的配置,一般显示为:db2c_DB2 50000/tcp >#如果没有,编辑etc/services这个文件,在最后加上:db2c_DB2 50000/tcp >#查看服务名,是不是为:db2c_DB2 ,如果是50000等数字或者其他名字,进行修改,要和etc/service里面设置的名称一样,执行修改 >db2 get dbm cfg |grep SVCENAME >db2 update dbm cfg using SVCENAME db2c_DB2 >#上述完成对DB2的配置 #然后开始进行服务器配置,切换root 用户 >su root >netstat -an > #查看有没有50000端口在监听,没有就加上 >修改/etc/sysconfig/iptables 在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT下面加上: -A INPUT -m state --state NEW -m tcp -p tcp --dport 50000 -j ACCEPT >#最后,很重要的是,关闭防火墙,或者如上述开放50000端口,重启服务器 > >reboot 重启之后,再启动DB2 ,连接DB2,就可以了!上述方法只是拿db2admin 实例为例子,同适用于db2inst1等其他实例
如果上述方法没用:
可以采用:
删除实例,重建实例,更新实例的方法
切换 root---记得提前关闭数据库,db2stop cd /opt/ibm/db2/V10.5/instance chmod -R 777 * ./db2idrop db2inst1 ./db2icrt -p 50001 -u db2inst1 db2inst1 ./db2iupdt db2inst1 su db2inst1 db2start刷新实例后,再重复上述方法就可以了
