DB2新实例创建数据库提示无数据库连接报错如何解决
故障原因
报错和"没有预先连接数据库"完全无关,核心问题是你输入的命令里用了中文全角双引号“”,不符合DB2命令行处理器(CLP)的语法要求。
DB2 CLP识别到命令不符合合法CLP命令格式时,会默认把传入内容当成SQL语句处理——而SQL语句必须在已建立数据库连接的上下文里执行,这才触发了SQL1024N连接不存在的报错。
补充说明:
CREATE DATABASE属于实例级管理命令,执行前不需要连接任何已有数据库,你的认知是正确的。
修复操作
直接把命令里的全角引号替换为英文半角双引号即可,修正后的可执行命令:
db2 "CREATE DATABASE relodb ON /home/db2relo/db2relo/relodb/data DBPATH ON /home/db2relo/db2relo/relodb/metalog"
执行前核对项(替换引号后如果仍执行失败可逐一检查)
- 执行命令前必须切换到对应DB2实例的所属用户,例如执行
su - db2relo切换,禁止用root用户执行建库操作 - 命令中指定的数据存储路径、元数据日志路径需要提前创建,且实例用户对路径拥有读、写、执行权限
- 执行建库命令前先跑
db2start确认数据库实例已经正常启动,没有处于停机状态
内容的提问来源于stack exchange,提问作者Vecna
相关产品推荐
相关产品推荐

