原文地址: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重新編目,就可以修正該問題。