SQL1013N 找不到数据库别名或数据库名称

 原文地址:http://www.cnblogs.com/fulltimeangel/archive/2010/07/17/SQL1013N.html

机器重装系统后还原数据库时出现错误,错误描述的大体意思是数据库的别名已经存在。

用db2 list db directory 命令查看d盘的数据库目录,发现别名确实存在。

 

D:\Program Files\IBM\SQLLIB\BIN>db2 list db directory on d:

 d: 上的本地数据库目录

 目录中的条目数 = 2

数据库 1 条目:

 数据库别名                      = RMDB
 数据库名称                               = RMDB
 数据库目录                      = SQL00001
 数据库发行版级别                = b.00
 注释                            =
 目录条目类型                    = 本地
 目录数据库分区号                  = 0
 数据库分区号                             = 0

数据库 2 条目:

 数据库别名                      = NHSAMPLE
 数据库名称                               = NHSAMPLE
 数据库目录                      = SQL00002
 数据库发行版级别                = b.00
 注释                            =
 目录条目类型                    = 本地
 目录数据库分区号                  = 0
 数据库分区号                             = 0

 

 

运行数据库删除命令 db2 drop db

 

D:\Program Files\IBM\SQLLIB\BIN>db2 drop database RMDB
SQL1013N  找不到数据库别名或数据库名称 "RMDB    "。  SQLSTATE=42705

 

尝试连接数据库时出现SQL1013N错误

 

D:\Program Files\IBM\SQLLIB\BIN>db2 connect to RMDB user db2admin using password

SQL1013N  找不到数据库别名或数据库名称 "RMDB"。  SQLSTATE=42705

D:\Program Files\IBM\SQLLIB\BIN>db2 connect to RMDB
SQL1013N  找不到数据库别名或数据库名称 "RMDB"。  SQLSTATE=42705

 

执行数据库编目命令 db2 catalog database

 

D:\Program Files\IBM\SQLLIB\BIN>db2 catalog database RMDB as RMDB
DB20000I  CATALOG DATABASE命令成功完成。
DB21056W  只有在刷新目录高速缓存以后,目录更改才会生效。

执行命令 db2start

 

 

D:\Program Files\IBM\SQLLIB\BIN>db2start
ADM12026W  DB2 服务器检测到尚未注册此产品的有效许可证。
SQL1026N  数据库管理器已激活。

 

重新连接数据库

 

 

D:\Program Files\IBM\SQLLIB\BIN>db2 connect to RMDB

   数据库连接信息

 数据库服务器         = DB2/NT 9.1.3
 SQL 授权标识         = ADMINIST...
 本地数据库别名       = RMDB

 

 

关闭数据库连接,删除数据库成功!

 

 

D:\Program Files\IBM\SQLLIB\BIN>db2 disconnect current
DB20000I  SQL DISCONNECT命令成功完成。

D:\Program Files\IBM\SQLLIB\BIN>db2 drop database RMDB
DB20000I  DROP DATABASE命令成功完成。

 

结论:由于系统数据库目录中对数据库RMDB的编目已经被删除,因此在连接数据库RMDB或者删除数据库RMDB时,db2会去系统数据库目录中查找连接的信息找不到,但在创建具有相同别名数据库时(如:新建、还原),由于数据库的物理文件还存在并且在本地数据库中有对应条目,所以出错。

对RMDB重新编目,就可以修正该问题。

 

你可能感兴趣的:(SQL1013N)