1.安装不成功
由于一些原因卸载DB2数据库后再次安装DB2,安装过程中显示安装不成功正在回滚操作,再次启动DB2安装启动板,安装产品下方显示的不是“安装新产品”而是“使用已有产品”,但是DB2并未安装成功且已经回滚了已经完成的安装步骤,db2cmd命令也执行不了,由此确认安装不成功问题为卸载不干净导致。
1)删除安装目录下所有文件。找到安装DB2时选择的安装路径,将安装文件夹整个删除。
2)在“计算机管理”中找到“服务”,查看是否有DB2相关服务残留,使用cmd命令将其删除
3)cmd中输入“regedit”打开注册表编辑器,查找DB2安装目录,例如“D:\Program Files\DB2”,将查找到的所有DB2相关注册项删除
再次安装DB2数据库即可正常安装
2.安装成功后使用出现报错
1)启动数据库:db2start
报错:SQL1390C 未定义环境变量 DB2INSTANCE 或该变量无效
①列出当前数据库下的所有实例:db2ilist
结果:DB2
此电脑——属性——高级系统设置——环境变量,确认有DB2INSTANCE 这个变量且值为DB2,则证明是定义了环境变量 DB2INSTANCE 但DB2这个值无效,需要重新创建实例
②创建实例:db2icrt db2n
结果:DB20000I DB2ICRT 命令成功完成。
③设置环境变量DB2INSTANCE值为新创建的实例:set db2instance=db2n
④启动数据库
结果:SQL1063N DB2START 处理成功。
⑤删除无效的实例:db2idrop db2
结果:DBI1199I DB2IDROP 已成功完成。DB2INSTDEF 注册表变量已设置为被删除的实例;它已被清除。此注册表变量应显式地设置为另一有效的实例名称。
将环境变量DB2INSTANCE的值手动改为 db2n,否则每次启动数据库都要执行set db2instance=db2n的命令。
2)使用客户端工具如DBeaver、Toad连接数据库报错
DBeaver:[jcc][t4][2043][11550][4.31.10] Exception java.net.ConnectException: Error o
①查看C:\Windows\System32\drivers\etc\services文件
配置如:db2c_DB2 50000/tcp
若不是需要进行环境配置更新:{ db2 update dbm cfg using SVCENAME db2c_DB2
DB20000I UPDATE DATABASE MANAGER CONFIGURATION 命令成功完成
提交:db2 terminate
DB20000I TERMINATE 命令成功完成。
重启数据库:db2stop、db2start
检查配置:db2 get dbm cfg | find “SVCENAME”
TCP/IP 服务名称 (SVCENAME) = db2c_DB2
SSL 服务名称 (SSL_SVCENAME) = }
②netstat -an 查看127.0.0.1:50000是否开启
③若记录中查找不到,需db2set -all查看环境配置
[e] DB2PATH=D:\Program Files\DB2n\IBM\SQLLIB
[i] DB2INSTPROF=C:\ProgramData\IBM\DB2\DB2COPY1
[g] DB2_EXTSECURITY=YES
[g] DB2_COMMON_APP_DATA_PATH=C:\ProgramData
[g] DB2SYSTEM=DESKTOP-C7QRBV4
[g] DB2PATH=D:\Program Files\DB2n\IBM\SQLLIB
[g] DB2ADMINSERVER=DB2DAS00
缺少db2comm
④设置环境变量 db2set db2comm=TCPIP
db2set -all
[e] DB2PATH=D:\Program Files\DB2n\IBM\SQLLIB
[i] DB2INSTPROF=C:\ProgramData\IBM\DB2\DB2COPY1
[i] DB2COMM=TCPIP
[g] DB2_EXTSECURITY=YES
[g] DB2_COMMON_APP_DATA_PATH=C:\ProgramData
[g] DB2SYSTEM=DESKTOP-C7QRBV4
[g] DB2PATH=D:\Program Files\DB2n\IBM\SQLLIB
[g] DB2ADMINSERVER=DB2DAS00
⑤重启数据库
db2stop
SQL1025N 未停止数据库,因为数据库仍是活动的。
db2stop force
SQL1064N DB2STOP 处理成功。
db2start
SQL1063N DB2START 处理成功。
netstat -an
协议 本地地址 外部地址 状态
TCP 127.0.0.1:50000 127.0.0.1:2912 ESTABLISHED
TCP 127.0.0.1:50000 127.0.0.1:2916 ESTABLISHED
再次使用DBeaver连接数据库,能正常使用