機器重裝系統後還原數據庫時出現錯誤,錯誤描述的大致意思是數據庫的別名已經存在。數據庫
用db2 list db directory 命令查看d盤的數據庫目錄,發現別名確實存在。緩存
D:/Program Files/IBM/SQLLIB/BIN>db2 list db directory on d:服務器
d: 上的本地數據庫目錄.net
目錄中的條目數 = 2blog
數據庫 1 條目:產品
數據庫別名 = RMDB
數據庫名稱 = RMDB
數據庫目錄 = SQL00001
數據庫發行版級別 = b.00
註釋 =
目錄條目類型 = 本地
目錄數據庫分區號 = 0
數據庫分區號 = 0im
數據庫 2 條目:數據
數據庫別名 = NHSAMPLE
數據庫名稱 = NHSAMPLE
數據庫目錄 = SQL00002
數據庫發行版級別 = b.00
註釋 =
目錄條目類型 = 本地
目錄數據庫分區號 = 0
數據庫分區號 = 0db
運行數據庫刪除命令 db2 drop dbword
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會去系統數據庫目錄中查找鏈接的信息找不到,但在建立具備相同別名數據庫時(如:新建、還原),因爲數據庫的物理文件還存在而且在本地數據庫中有對應條目,因此出錯。